Help
cancel
Showing results for 
Search instead for 
Did you mean: 
Ground Controller Lvl 1
Message 1 of 2

Is it possible edit the the URL of a webhook in a repo while still maintaining the secret?

I am trying to mass-update a bunch of webhook in my repos but want to maintain the same secret.

From the API (https://developer.github.com/v3/repos/hooks/#edit-a-hook) it implies that it will just override the whole webhook config as it assumes if no secret is passed, it will override. Am I correct in my understanding or is there some other way to accomplish this?

1 Reply
Community Manager
Message 2 of 2

Re: Is it possible edit the the URL of a webhook in a repo while still maintaining the secret?

Hi @mechastorm,

 

Thanks for being here! You can try mass updating of webhooks via the API. A two step process:


- List the available hooks for each repository and note the returned id.
- Edit the hook by referencing the repository id and passing in your required parameters.

 

You can do this using the following commands:

# Query the hook
curl -L -H 'Authorization: token OAUTH-TOKEN' \
http(s)://[hostname]/api/v3/repos/:owner/:repo/hooks

# Update the hook
curl -L -H 'Authorization: token OAUTHTOKEN' \
https://[hostname]/api/v3/repos/:owner/:repo/hooks/:id \
--request PATCH \
-d '{"active": true,"add_events": ["push_request"],"config": {"url": "http://example.com/jenkins","content_type": "json"}}'

 

While curl is good for individual requests, using something like the Octokit library to script the update could be a better approach as you can iterate over each repository a lot easier.


Best,
AndreaG

Mark helpful posts with Accept as Solution to help other users locate important info. Don't forget to give Kudos for great content!