A GitHub App for bootstrapping a Waffle.io board with issues.
Useful for educators to easily create Waffle.io boards prepopulated with cards, labels, epics, and dependencies for curriculum.
The GitHub App listens for issue.opened
webhook events and creates new issues based on the /cards/... config directory of this project.
-
Ensure the Card Cannon app is running. See Installation below.
-
Create a new GitHub repo if needed.
-
Create a new Waffle.io project and board if needed.
-
Install the GitHub App in the desired repo from https://github.com/settings/apps/your-app-name/installations.
-
From your Waffle.io board, create a new issue titled
bootstrap my board
.
Example of running on a Waffle.io board
- Clone this repo locally. Updated card contents in /cards/... as desired.
- Create a new GitHub App with the following settings:
- GitHub App Name - give your app a name
- Homepage URL - set to your project's repo, your website, etc
- Webhook URL - create a webhook url for development at smee.io; add it here
- Permissions - Issues - Read & Write
- User Permissions - No Access
- Subscribe to Events - Issues (must set Permissions above before this option will be available)
- Where can this GitHub App be installed? - set based on your preference
- After creating the GitHub App, select the Generate A Private Key option and download the generated *.pem file to the root of this project.
- Create a
.env
file in the root of this project, updated with values for your GitHub App:
APP_ID=<your app id>
WEBHOOK_PROXY_URL=<your smee.io url>
- Run
npm install
. - Run
nodemon
to start app. - Install the GitHub App in the desired repo from https://github.com/settings/apps/your-app-name/installations.
- create a new issue titled
bootstrap my board
.
- Fork this repo. Updated card contents in /cards/... as desired.
- Created a GitHub App if not already created (see above).
- Create a new [Glitch}(https://glitch.com/) project using the clone from repo option to clone this repo or your forked repo on GitHub. Glitch provides free hosting for projects with low usage (max 4000 web requests per hour).
- Create a
.data/private-key.pem
file, updated with the contents of your local *.pem file. - Create a
.env
file in the root of this project, updated with values for your GitHub App:
APP_ID=<your app id>
PRIVATE_KEY_PATH=.data/private-key.pem
NODE_ENV=production
- Install the GitHub App in the desired repo from https://github.com/settings/apps/your-app-name/installations.
- Create a new issue titled
bootstrap my board
.
https://github.com/octokit/rest.js https://probot.github.io/docs/ http://help-center.glitch.me/help/
If you have suggestions for how this project could be improved, or want to report a bug, open an issue! Or pull request! We'd love all and any contributions.
For more, check out the Contributing Guide.
ISC ยฉ 2018 Waffle.io team@waffle.io (www.waffle.io)