Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/motemen/prchecklist
Provides checklists based on release PR
https://github.com/motemen/prchecklist
Last synced: 2 months ago
JSON representation
Provides checklists based on release PR
- Host: GitHub
- URL: https://github.com/motemen/prchecklist
- Owner: motemen
- Created: 2016-01-04T11:40:50.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-08-06T06:43:07.000Z (5 months ago)
- Last Synced: 2024-10-15T15:29:29.248Z (3 months ago)
- Language: Go
- Homepage:
- Size: 14.6 MB
- Stars: 37
- Watchers: 8
- Forks: 10
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# prchecklist [![Build Status](https://travis-ci.org/motemen/prchecklist.svg?branch=master)](https://travis-ci.org/motemen/prchecklist) [![Gitter](https://img.shields.io/gitter/room/motemen/prchecklist.svg)](https://gitter.im/motemen/prchecklist?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
Checklist for "release" pull requests, which includes feature pull requests to merge into mainline
[Demo](https://prchecklist.herokuapp.com/motemen/test-repository/pull/2)
![Screenshot](docs/screenshot.png)
## Features
- 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## Configuration
By a file named `prchecklist.yml` on the top of the repository you can customize prchecklist's behavior.
For example it seems like:
~~~yaml
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.## Development
Requires [Go][] and [yarn][].
Register an OAuth application [on GitHub](https://github.com/settings/applications/new), with callback URL configured as `http://localhost:8080/auth/callback`. Set OAuth client ID/secret as `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` environment variables respectively.
$ make develop
$ open http://localhost:8080/## Building
$ make # builds "prchecklist" stand-alone binary
[Go]: https://golang.org/
[yarn]: https://yarnpkg.com/## Author
motemen, with great support of [Hatena](http://hatenacorp.jp/) folks.