Checklist for "release" pull requests, which includes feature pull requests to merge into mainline
- Provides checklists base on "release" pull requests which have multiple "feature" pull requests that are about to merged into master by the "release" one (see the demo)
- Each checklist item can be checked by GitHub accounts who have access to the repository
- Checklists can have multiple stages (eg. QA and production)
- Notifies to Slack on each check or checklist completion
- Customizable by a .yml file on repositories
By a file named
prchecklist.yml on the top of the repository you can customize prchecklist's behavior.
For example it seems like:
stages: - qa - production notification: events: on_check: - ch_check on_complete: - ch_complete channels: ch_complete: url: https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX ch_check: url: https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX
This configuration says:
- This repository has two stages (qa, production), which means two checklists are created for each release pull requests,
- And when a checklist item is checked, a Slack notification is sent,
- And when a checklist is completed, a Slack notification is sent to another Slack channel.
Register an OAuth application on GitHub, with callback URL configured as
http://localhost:8080/auth/callback. Set OAuth client ID/secret as
GITHUB_CLIENT_SECRET environment variables respectively.
$ make develop $ open http://localhost:8080/
$ make # builds "prchecklist" stand-alone binary
motemen, with great support of Hatena folks.