A webhook receiver to mirror GitHub.com issues to private GitHub Enterprise forks.
MIT License
A webhook receiver to mirror GitHub.com issues to private GitHub Enterprise forks.
Lets say you have a repository on GitHub.com, called benbalter/awesome-project
, and a GitHub Enterprise instance at github.benbalter.com
.
Almost without exception, you can, and should, work in the open, ensuring that all stakeholders, both those on the inside and those on the outside of your firewall are on equal footing. Sometimes that's not possible. That's where Issue Shadower comes in.
Issue Shadower will open an issue in the corresponding repository on your GitHub Enterprise instance, each time an issue is opened on GitHub.com. Let's say someone opens an issue on benbalter/awesome-project
. Issue Shadower will open an issue on github.benbalter.com/benbalter/awesome-project
, and link back to the original issue. That way you can discuss the issue internally (such as weighing any security concerns), before replying publicly.
Issue Shadower is tiny Sinatra app designed to run on services like Heroku. You'll need to do two things, configure the server and configure the webhook on GitHub.
You need a Ruby server with the following environmental variables:
GITHUB_TOKEN
- A personal access token of a bot accountGITHUB_HOOK_SECRET
- Secret shared with webhook to authenticate payloadGITHUB_HOST
- The URL to your GitHub Enterprise instanceIf not using a service like Heroku, you can start the server with the script/server
command.
Navigate to the repository's settings, and create a new webhook with the following settings:
[SERVER URL]/payload
application/json
GITHUB_HOOK_SECRET
)script/bootstrap
script/server
You'll also probably want to install ngrok to test the hooks locally.