Skip to main content
Guides

Categorizing issues

Mapping issue labels to release note sections.

The categories field maps an issue label to a section heading in the generated release notes. Every closed issue with a matching label is filed under its heading; the rest fall through to uncategorized handling.

Configuration

categories:
  feature: "New Features"
  bug: "Bug Fixes"
  improvement: "Improvements"
  breaking-change: "Breaking Changes"

The YAML key is the label name in your provider. The value is the heading text.

categories

object · default: {"feature":"New Features","bug":"Bug Fixes","improvement":"Improvements","breaking-change":"Breaking Changes"}

Map of issue label → section heading.

Heading order follows config order

Sections render in the order you declare them in .releasejet.yml — not alphabetically, not by issue count. Reorder the keys and the output follows.

Multiple labels on one issue

If an issue has more than one matching label, the first category in config order wins. If you label an issue bug and improvement and bug is declared first, it appears under "Bug Fixes" only — never duplicated.

Labels not listed under categories are ignored for categorization (they're still stored on the issue). Issues without any matching label go to the uncategorized bucket.

Example output

With the config above and four closed issues, the rendered Markdown is:

### New Features
- Add dark mode toggle (#42)

### Bug Fixes
- Fix crash on empty input (#38)
- Resolve race in login flow (#40)

### Improvements
- Speed up initial load (#44)

Next steps