DEV Community

Caleb Collins-Parks for 15Five Engineering Blog

Posted on

Announcing Rocket Releaser

15Five has open-sourced a python package for generating release notes and sending them to Slack! Take a look below:

GitHub logo 15five / rocket_releaser

Python library for release notes / labeling upon deploys

Rocket Releaser CircleCI PyPI version

Library for creating release notes based on PR descriptions for a set of git changes.

example slack message

Installation:

pip install rocket-releaser

Usage:

python -m rocket_releaser github_token start_sha end_sha github_org github_repo -r repo_location --vpc_name staging --env_name staging --search_branch staging --slack_webhook_key slack_key
Enter fullscreen mode Exit fullscreen mode

This would label PR's inbetween first and second sha with "staging" and send the release notes to slack If you are using a personal github account the "github_org" would be your github username.

The github token must have "repo" scope access and the token's user must have write access to the repo.

You can also pass in Jira paramaters to label Jira tickets.

--jira_token jiraToken --jira_username bob@company.com --jira_url https://company.atlassian.net

PR format:

To label PR's and tickets your PR's should be formatted like so:

<!-- Detailed PR description for reviewers goes here... --&gt
RELEASES
Change default avatar image #public Closes [ENG-1234]
<!--
- Newline after RELEASES (need this for proper formatting

This allows our QA and other teams to easily see what changes have been deployed and what needs testing. The package also labels PR's and tickets, so everyone is kept in the loop as to what stage of the deployment process their code is in.

The repository is based off of the open-source circleci boilerplate announced earlier.

Discussion (0)