Drafts your next release notes as pull requests are merged into master. Built with Probot.


Usage
- Install the Release Drafter GitHub App into the repositories you wish to automatically create releases in.
- Add a
.github/release-drafter.yml
configuration file to each repository.
Example
For example, take the following .github/release-drafter.yml
file in a repository:
template: |
## What's Changed
$CHANGES
As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you’re ready:
Template variables
You can use any of the following variables in your template, and they’ll be substituted when the release is regenerated:
Variable | Description |
---|
$CHANGES | The markdown list of pull requests that have been merged. |
$PREVIOUS_TAG | The previous releases’s tag. |
Configuration options
You can configure Release Drafter using the following key in your .github/release-drafter.yml
file:
Key | Required | Description |
---|
template | Required | The template for the body of the draft release. Use template variables to insert values. |
branches | Optional | The branches to listen for configuration updates to .github/release-drafter.yml and for merge commits. Useful if you want to test the app on a pull request branch. Default is the repository’s default branch. |
Release Drafter also supports Probot Config, if you want to store your configuration files in a central repository. This allows you to share configurations between projects, and create a organization-wide configuration file by creating a repository named .github
and file named release-drafter.yml
.
Developing
If you have Node v10+ installed locally, you can run the tests, and a local app, using the following commands:
yarn
npm test
npm start
If you don't have Node installed, you can use Docker Compose:
docker-compose run --rm app npm test
Contributing
Third-pary contributions are welcome! 🙏🏼 See CONTRIBUTING.md for step-by-step instructions.
If you need help or have a question, let me know via a GitHub issue.
Deployment
If you want to deploy your own copy of Release Drafter, follow the Probot Deployment Guide.
Releasing
Run the following command:
git checkout master && git pull && npm test && npm version [major | minor | patch]
The command does the following:
- Ensures you’re on master and don't have local, un-commited changes
- Bumps the version number in package.json based on major, minor or patch
- Runs the
postversion
npm script in package.json, which:
- Pushes the tag to GitHub
- Publishes the npm release
- Deploys to Now
- Opens the GitHub releases page so you can publish the release notes