A tool for managing GitHub issues and pull requests via ChatOps. It uses GitHub webhooks to scale across repositories without needing to add a GitHub action to each of them.
GitHub apps are used for authentication to limit the required permissions.
First you will need to create a GitHub app. Add the permissions required for the commands you are using.
Add a webhook to the app pointing at your endpoint, the path for the webhook receiver is /api/github/webhooks.
This app is multiple organization aware and doesn't need any additional configuration to run in multiple organizations.
Note: You can't interact across organizations, like requesting reviews from teams in different organizations or transferring issues, this is a GitHub limitation.
The easiest way to develop this locally is to use smee.
Run smee --path /api/github/webhooks and point your webhook to the smee url that is outputted e.g. https://smee.io/Mrl4d3W9AUxeaaa
The application runs on port 3000 by default, this can be customized with the PORT environment variable.
GITHUB_APP_IDGITHUB_APP_PRIVATE_KEYWEBHOOK_SECRET
Closes the current issue
- Issues
- Read and write
Adds a label to the current issue or pull request
- Issues
- Read and write
- Pull requests
- Read and write
Removes a label from the current issue or pull request
- Issues
- Read and write
- Pull requests
- Read and write
Reopens the current issue
- Issues
- Read and write
Adds reviewers to the pull request.
Note: If a team exists but the team doesn't have read access to the repository this will silently fail.
- Pull requests
- Read and write
- Organizations -> Members
- Read-only
Transfers a GitHub issue to another repository in the same organization.
- Contents
- Read and write
- Issues
- Read and write