...

Source file src/github.com/google/go-github/v47/github/orgs_hooks_deliveries.go

Documentation: github.com/google/go-github/v47/github

     1  // Copyright 2021 The go-github AUTHORS. All rights reserved.
     2  //
     3  // Use of this source code is governed by a BSD-style
     4  // license that can be found in the LICENSE file.
     5  
     6  package github
     7  
     8  import (
     9  	"context"
    10  	"fmt"
    11  )
    12  
    13  // ListHookDeliveries lists webhook deliveries for a webhook configured in an organization.
    14  //
    15  // GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook
    16  func (s *OrganizationsService) ListHookDeliveries(ctx context.Context, org string, id int64, opts *ListCursorOptions) ([]*HookDelivery, *Response, error) {
    17  	u := fmt.Sprintf("orgs/%v/hooks/%v/deliveries", org, id)
    18  	u, err := addOptions(u, opts)
    19  	if err != nil {
    20  		return nil, nil, err
    21  	}
    22  
    23  	req, err := s.client.NewRequest("GET", u, nil)
    24  	if err != nil {
    25  		return nil, nil, err
    26  	}
    27  
    28  	deliveries := []*HookDelivery{}
    29  	resp, err := s.client.Do(ctx, req, &deliveries)
    30  	if err != nil {
    31  		return nil, resp, err
    32  	}
    33  
    34  	return deliveries, resp, nil
    35  }
    36  
    37  // GetHookDelivery returns a delivery for a webhook configured in an organization.
    38  //
    39  // GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook
    40  func (s *OrganizationsService) GetHookDelivery(ctx context.Context, owner string, hookID, deliveryID int64) (*HookDelivery, *Response, error) {
    41  	u := fmt.Sprintf("orgs/%v/hooks/%v/deliveries/%v", owner, hookID, deliveryID)
    42  	req, err := s.client.NewRequest("GET", u, nil)
    43  	if err != nil {
    44  		return nil, nil, err
    45  	}
    46  
    47  	h := new(HookDelivery)
    48  	resp, err := s.client.Do(ctx, req, h)
    49  	if err != nil {
    50  		return nil, resp, err
    51  	}
    52  
    53  	return h, resp, nil
    54  }
    55  
    56  // RedeliverHookDelivery redelivers a delivery for a webhook configured in an organization.
    57  //
    58  // GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook
    59  func (s *OrganizationsService) RedeliverHookDelivery(ctx context.Context, owner string, hookID, deliveryID int64) (*HookDelivery, *Response, error) {
    60  	u := fmt.Sprintf("orgs/%v/hooks/%v/deliveries/%v/attempts", owner, hookID, deliveryID)
    61  	req, err := s.client.NewRequest("POST", u, nil)
    62  	if err != nil {
    63  		return nil, nil, err
    64  	}
    65  
    66  	h := new(HookDelivery)
    67  	resp, err := s.client.Do(ctx, req, h)
    68  	if err != nil {
    69  		return nil, resp, err
    70  	}
    71  
    72  	return h, resp, nil
    73  }
    74  

View as plain text