absaoss/Release notes scraper

Automatically generates release notes for a given release tag, categorized into chapters based on labels.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 5, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: absaoss/generate-release-notes@26eca65fc504c088a7afd8b08545a738ad8b446b # v1.3.2

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
tag-nameThe tag name of the release to generate notes for.yes
chaptersYAML array of chapter definitions. Required keys: `title`, `label` or `labels`. Optional keys: `hidden` (bool), `order` (int), `catch-open-hierarchy` (bool). `catch-open-hierarchy: true` — intercepts open hierarchy parents before label routing; requires `hierarchy: true`. Chapters with `catch-open-hierarchy` do not require `label`/`labels` (optional interception filter). At most one `catch-open-hierarchy` chapter allowed; duplicates are warned and ignored. no""
super-chaptersYAML array of super-chapter definitions that group regular chapters by label. Required keys: `title`, `label` or `labels`. Records matching a super-chapter label are rendered inside that super-chapter. A record can appear in multiple super-chapters. no""
duplicity-scopeAllow duplicity of issue lines in chapters. Scopes: custom, service, both, none.noboth
from-tag-nameThe tag name of the previous release to use as a start reference point for the current release notes. When provided, activates compare mode. Both this tag and 'tag-name' must exist as git tags. no""
hierarchyUse hierarchy of issues and pull requests.nofalse
duplicity-iconIcon to be used for duplicity warning. Icon is placed before the record line.no🔔
open-hierarchy-sub-issue-iconIcon prepended to open children under a closed hierarchy parent.no🟡
published-atUse `published-at` timestamp instead of `created-at` as the reference point of previous Release.nofalse
skip-release-notes-labelsList labels used for detection if issues or pull requests are ignored in the Release Notes generation process.noskip-release-notes
warningsPrint service chapters if true.notrue
hidden-service-chaptersList of service chapter titles to hide from output (comma or newline separated). Title matching is exact and case-sensitive. Example: "Direct Commits ⚠️, Others - No Topic �����️" Available service chapters: - "Closed Issues without Pull Request ⚠️" - "Closed Issues without User Defined Labels ���️" - "Merged PRs without Issue and User Defined Labels ���️" - "Closed PRs without Issue and User Defined Labels ⚠️" - "Merged PRs Linked to 'Not Closed' Issue ⚠️" - "Direct Commits ⚠️" - "Others - No Topic ⚠️" no""
service-chapter-orderCustom display order for service chapters (comma or newline separated). Title matching is exact and case-sensitive. Listed chapters are rendered first in the given order; unlisted chapters are appended afterward in the default order. If omitted, the default order is used. Available service chapter titles: - "Closed Issues without User Defined Labels ⚠️" - "Closed Issues without Pull Request ⚠️" - "Merged PRs without Issue and User Defined Labels ⚠️" - "Closed PRs without Issue and User Defined Labels ⚠️" - "Merged PRs Linked to 'Not Closed' Issue ⚠️" - "Direct commits ⚠️" - "Others - No Topic ⚠️" no""
service-chapter-excludeYAML mapping of service chapter title to label-exclusion groups. Each group is a list of labels (AND logic within a group). Multiple groups per chapter are evaluated with OR logic. Use the reserved key "*" to define global rules that apply to all service chapters. Example: service-chapter-exclude: | "*": - [scope:security, type:tech-debt] Closed Issues without Pull Request ⚠️: - [scope:security, type:false-positive] no""
print-empty-chaptersPrint chapters even if they are empty.notrue
verbosePrint verbose logs.nofalse
release-notes-titleThe title of the release notes section in the PR body. Value supports regex.no[Rr]elease [Nn]otes:
coderabbit-support-activeEnable CodeRabbit support. If true, the action will use CodeRabbit to generate release notes.nofalse
coderabbit-release-notes-titleThe title of the CodeRabbit summary in the PR body. Value supports regex.noSummary by CodeRabbit
coderabbit-summary-ignore-groupsList of "group names" to be ignored by release notes detection logic.no""
row-format-hierarchy-issueFormat of the hierarchy issue in the release notes. Available placeholders: {type}, {number}, {title}, {author}, {assignees}, {developers}. Placeholders are case-insensitive.no{type}: _{title}_ {number} {progress}
row-format-issueFormat of the issue row in the release notes. Available placeholders: {type}, {number}, {title}, {author}, {assignees}, {developers}, {pull-requests}. Placeholders are case-insensitive.no{type}: {number} _{title}_ developed by {developers} in {pull-requests}
row-format-prFormat of the pr row in the release notes. Available placeholders: {number}, {title}, {developers}. Placeholders are case-insensitive.no{number} _{title}_ developed by {developers}
row-format-link-prAdd prefix "PR:" before link to PR when not linked an Issue.notrue
namedescription
release-notesGenerated release notes.