Recipes
GitHub + pull requests
Full config for a GitHub repo driven by merged pull requests.
Same shape as GitHub + issues — the only config difference is source: pull_requests. PR source is GitHub-only.
.releasejet.yml
provider:
type: github
source: pull_requests
categories:
feature: "New Features"
bug: "Bug Fixes"
improvement: "Improvements"
breaking-change: "Breaking Changes"
uncategorized: lenientGitHub Actions
.github/workflows/release-notes.yml:
name: Release Notes
on:
push:
tags:
- 'v*'
jobs:
release-notes:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm i -g @makispps/releasejet
- run: releasejet generate --tag "${{ github.ref_name }}" --publish
env:
RELEASEJET_TOKEN: ${{ secrets.RELEASEJET_TOKEN }}Workflow
- Label the PR (not the issue it closes) with one of your category labels before merging.
- Merge the PR — closing without merging skips it.
- Push a tag:
git tag v1.2.0 && git push origin v1.2.0. - The workflow runs and publishes a release built from merged PRs in the tag window.
Tips
- Use a PR template that reminds reviewers to check the label before merge — uncategorized PRs behave the same as uncategorized issues (see Handling uncategorized issues).
- Squash-merges and merge-commits both count as merged. Rebase-and-merge also works.
- Unsure which source fits your team? Read Issues vs pull requests as a source.