Skip to content
πŸ—‚ a GitHub App for bootstrapping a Waffle.io project with issues, labels, epics, and dependencies.
JavaScript
Branch: master
Clone or download
Pull request Compare This branch is even with waffleio:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
content
docs
.env.example
.gitignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
app.js
helpers.js
package.json

README.md

πŸ—‚ Wafffle.io Card Cannon

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.

How It Works

The GitHub App listens for issue.opened webhook events and creates new issues based on the /cards/... config directory of this project.

Usage

  1. Ensure the Card Cannon app is running. See Installation below.

  2. Create a new GitHub repo if needed.

  3. Create a new Waffle.io project and board if needed.

  4. Install the GitHub App in the desired repo from https://github.com/settings/apps/your-app-name/installations.

  5. From your Waffle.io board, create a new issue titled bootstrap my board.

Examples

Example of running on a Waffle.io board GitHub Logo

Installation

Locally

  1. Clone this repo locally. Updated card contents in /cards/... as desired.
  2. 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
  1. After creating the GitHub App, select the Generate A Private Key option and download the generated *.pem file to the root of this project.
  2. 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>
  1. Run npm install.
  2. Run nodemon to start app.
  3. Install the GitHub App in the desired repo from https://github.com/settings/apps/your-app-name/installations.
  4. create a new issue titled bootstrap my board.

Production

  1. Fork this repo. Updated card contents in /cards/... as desired.
  2. Created a GitHub App if not already created (see above).
  3. 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).
  4. Create a .data/private-key.pem file, updated with the contents of your local *.pem file.
  5. 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
  1. Install the GitHub App in the desired repo from https://github.com/settings/apps/your-app-name/installations.
  2. Create a new issue titled bootstrap my board.

Resources

https://github.com/octokit/rest.js https://probot.github.io/docs/ http://help-center.glitch.me/help/

Contributing

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.

License

ISC Β© 2018 Waffle.io team@waffle.io (www.waffle.io)

You can’t perform that action at this time.