in pkg/gitprovider/github.go [168:207]
func (c *GitHubClient) GetWebHooks(
ctx context.Context,
githubURL,
token,
projectID string,
) ([]*WebHook, error) {
owner, repo, err := parseProjectID(projectID)
if err != nil {
return nil, err
}
c.restyClient.HostURL = githubURL
var gitHubWebHooks []*gitHubWebHook
resp, err := c.restyClient.
R().
SetContext(ctx).
SetAuthToken(token).
SetPathParams(map[string]string{
ownerPathParam: owner,
repoPathParam: repo,
}).
SetResult(&gitHubWebHooks).
Get("/repos/{owner}/{repo}/hooks")
if err != nil {
return nil, fmt.Errorf("failed to get GitHub web hooks: %w", err)
}
if resp.IsError() {
return nil, fmt.Errorf("failed to get GitHub web hooks: %s", resp.String())
}
webHooks := make([]*WebHook, len(gitHubWebHooks))
for i, webHook := range gitHubWebHooks {
webHooks[i] = convertWebhook(webHook)
}
return webHooks, nil
}