in pkg/gitprovider/github.go [210:247]
func (c *GitHubClient) DeleteWebHook(
ctx context.Context,
githubURL,
token,
projectID string,
webHookRef string,
) error {
owner, repo, err := parseProjectID(projectID)
if err != nil {
return err
}
c.restyClient.HostURL = githubURL
resp, err := c.restyClient.
R().
SetContext(ctx).
SetAuthToken(token).
SetPathParams(map[string]string{
ownerPathParam: owner,
repoPathParam: repo,
"hook-id": webHookRef,
}).
Delete("/repos/{owner}/{repo}/hooks/{hook-id}")
if err != nil {
return fmt.Errorf("failed to delete GitHub web hook: %w", err)
}
if resp.StatusCode() == http.StatusNotFound {
return fmt.Errorf("failed to delete GitHub web hook: %w", ErrWebHookNotFound)
}
if resp.IsError() {
return fmt.Errorf("failed to delete GitHub web hook: %s", resp.String())
}
return nil
}