|
| 1 | +# Configuration Reference |
| 2 | + |
| 3 | +This page lists all action inputs and outputs with defaults. Grouped for readability. |
| 4 | + |
| 5 | +## Inputs |
| 6 | + |
| 7 | +| Name | Required | Default | Description | |
| 8 | +|------|----------|---------|-------------| |
| 9 | +| `tag-name` | Yes | – | Target release tag (must already exist). | |
| 10 | +| `from-tag-name` | No | "" | Explicit previous release tag; if empty semantic latest published release is used. | |
| 11 | +| `chapters` | No | "" | YAML list of chapter objects `{ "title": str, "label": str }`. Multiple entries may share a title to aggregate labels. | |
| 12 | +| `hierarchy` | No | `false` | Enable Issue Hierarchy Support. | |
| 13 | +| `published-at` | No | `false` | Use previous release `published_at` timestamp instead of `created_at`. | |
| 14 | +| `skip-release-notes-labels` | No | `skip-release-notes` | Comma‑separated labels that fully exclude issues/PRs. | |
| 15 | +| `warnings` | No | `true` | Toggle Service Chapters generation. | |
| 16 | +| `print-empty-chapters` | No | `true` | Print chapter headings even when empty. | |
| 17 | +| `duplicity-scope` | No | `both` | Where duplicates are allowed: `none`, `custom`, `service`, `both`. Case-insensitive. | |
| 18 | +| `duplicity-icon` | No | `🔔` | One-character icon prefixed on duplicate rows. | |
| 19 | +| `verbose` | No | `false` | Enable verbose (debug) logging. | |
| 20 | +| `release-notes-title` | No | `[Rr]elease [Nn]otes:` | Regex matching the PR body section header for manual notes. First match only. | |
| 21 | +| `coderabbit-support-active` | No | `false` | Enable CodeRabbit fallback when manual notes absent. | |
| 22 | +| `coderabbit-release-notes-title` | No | `Summary by CodeRabbit` | Regex for CodeRabbit summary header. | |
| 23 | +| `coderabbit-summary-ignore-groups` | No | "" | Comma or newline list of group names to discard from CodeRabbit summary. | |
| 24 | +| `row-format-hierarchy-issue` | No | `{type}: _{title}_ {number}` | Template for hierarchy (parent) issue rows. | |
| 25 | +| `row-format-issue` | No | `{type}: {number} _{title}_ developed by {developers} in {pull-requests}` | Template for issue rows. | |
| 26 | +| `row-format-pr` | No | `{number} _{title}_ developed by {developers}` | Template for PR rows. | |
| 27 | +| `row-format-link-pr` | No | `true` | If true adds `PR:` prefix when a PR is listed without an issue. | |
| 28 | + |
| 29 | +> CodeRabbit summaries must already be present in the PR body (produced by your own CI/App setup). This action only parses existing summaries; it does not configure or call CodeRabbit. |
| 30 | +
|
| 31 | +### Placeholder Reference |
| 32 | + |
| 33 | +| Context | Placeholders | |
| 34 | +|---------|--------------| |
| 35 | +| Issue | `{type}`, `{number}`, `{title}`, `{author}`, `{assignees}`, `{developers}`, `{pull-requests}` | |
| 36 | +| PR | `{number}`, `{title}`, `{author}`, `{assignees}`, `{developers}` | |
| 37 | +| Hierarchy Issue | `{type}`, `{number}`, `{title}`, `{author}`, `{assignees}`, `{developers}` | |
| 38 | + |
| 39 | +Placeholders are case-insensitive; unknown placeholders are removed silently. |
| 40 | + |
| 41 | +### Chapters Configuration |
| 42 | +Provide chapters as a YAML multi-line string. Each entry must define a `title` and `label`. |
| 43 | + |
| 44 | +```yaml |
| 45 | +with: |
| 46 | + chapters: | |
| 47 | + - {"title": "New Features 🎉", "label": "feature"} |
| 48 | + - {"title": "Bugfixes 🛠", "label": "bug"} |
| 49 | + - {"title": "Bugfixes 🛠", "label": "error"} # merges both labels under one heading |
| 50 | +``` |
| 51 | +
|
| 52 | +Resulting chapter headings are unique by title; labels aggregate. |
| 53 | +
|
| 54 | +### Custom Chapters Behavior |
| 55 | +- A record (issue / PR / hierarchy issue) is eligible for a user-defined chapter if it: |
| 56 | + - Is not skipped (no skip label), and |
| 57 | + - Contains a change increment (has extracted release notes OR at least one linked merged PR supplying changes), and |
| 58 | + - Owns at least one label matching any configured chapter label (including implicit issue type label), and |
| 59 | + - (For hierarchy) ultimately aggregates qualifying sub-issues/PRs. |
| 60 | +- Issue Type is automatically merged into the issue's label set as a lowercase implicit label (e.g. `Epic`, `Feature`, `Bug`, `Task` → `epic`, `feature`, `bug`, `task`). You can reference these directly in `chapters` without adding a duplicate formal label in GitHub. |
| 61 | +- Direct commits are excluded (no labels to match). |
| 62 | +- Multiple entries with identical `title` merge label sets (logical OR across labels under the same heading). |
| 63 | +- Rendering order follows the YAML order of first appearance for each unique title. |
| 64 | +- If `duplicity-scope` excludes `custom`, a record that matched one chapter will not be added to others. |
| 65 | +- Empty chapters: suppressed only when `print-empty-chapters: false`. |
| 66 | +- Duplicity icon is applied per appearance count after all chapters are populated. |
| 67 | + |
| 68 | +### Issue ↔ PR Linking |
| 69 | +Link detection influences chapter population and Service Chapters: |
| 70 | +- GitHub automatically links PRs to issues using closing keywords (e.g. `Fixes #123`, `Closes org/repo#45`). These become closing issue references available through the API. |
| 71 | +- The action also queries GitHub (GraphQL) for closing issue references of each PR (internal implementation) to gather linked issues. |
| 72 | +- If no issue is linked and required metadata is missing, affected PRs can appear in Service Chapters (e.g. *Merged PRs without Issue and User Defined Labels ⚠️*). |
| 73 | + |
| 74 | +### Skip Logic |
| 75 | +Any issue or PR containing at least one label from `skip-release-notes-labels` is entirely excluded from: |
| 76 | +- Release Notes Extraction (manual section parsing) |
| 77 | +- CodeRabbit fallback detection |
| 78 | +- Custom (user-defined) Chapters |
| 79 | +- Service Chapters |
| 80 | + |
| 81 | +### Duplicates |
| 82 | +Controlled by `duplicity-scope` and `duplicity-icon` (see [Duplicity Handling](features/duplicity_handling.md)). |
| 83 | + |
| 84 | +## Outputs |
| 85 | + |
| 86 | +| Name | Description | |
| 87 | +|------|-------------| |
| 88 | +| `release-notes` | Final Markdown block of release notes (includes Service Chapters if enabled and a Full Changelog link). | |
| 89 | + |
| 90 | +## Quick Selection Guide |
| 91 | + |
| 92 | +| Goal | Recommended Inputs | |
| 93 | +|------|--------------------| |
| 94 | +| Basic release notes | `tag-name`, `chapters` | |
| 95 | +| Restrict time window manually | Add `from-tag-name` | |
| 96 | +| Prefer published timestamp | `published-at: true` | |
| 97 | +| Hide diagnostics | `warnings: false` | |
| 98 | +| Tight output (no empty headings) | `print-empty-chapters: false` | |
| 99 | +| Enforce no duplicates | `duplicity-scope: none` | |
| 100 | +| Enable hierarchy rollups | `hierarchy: true` | |
| 101 | +| Use AI fallback | `coderabbit-support-active: true` | |
| 102 | + |
| 103 | +## Related Pages |
| 104 | +- [Feature Tutorials](../README.md#feature-tutorials) |
| 105 | +- [Release Notes Extraction](features/release_notes_extraction.md) |
| 106 | +- [Service Chapters](features/service_chapters.md) |
| 107 | +- [Duplicity Handling](features/duplicity_handling.md) |
0 commit comments