| owner | Repository owner. | no | ${{ github.repository_owner }} |
| repo | Repository name. | no | ${{ github.event.repository.name }} |
| token | GitHub token used to read issues, pull requests, and their events. | no | ${{ github.token }} |
| ref | Branch or ref to generate the changelog for. Entries not reachable from this ref are dropped; entries reachable but not under any tag land in Unreleased. | no | HEAD |
| git-dir | Path to a full clone of the repository (requires fetch-depth 0 — a shallow clone cannot answer ancestry questions). Defaults to the current working directory. | no | — |
| cache-path | Path to the incremental events cache file. Pair with actions/cache using a stable key (not hash-based) so it is found and updated on every run. | no | .gitflow-changelog-cache.json |
| overrides-path | Path to a YAML file (in the consuming repo) mapping a broken/recorded commit sha to its replacement, for entries whose recorded commit no longer exists (e.g. after a history rewrite on another branch, or a squash merge that flattened it away). Keyed by sha rather than PR/issue number, so one entry covers a PR and any issue it closes (an issue auto-closed by a merged PR has its sha backfilled from that PR's own commit, so both always carry the identical sha). Auto-loaded from this default path if present — no workflow changes needed to start using it. | no | .gitflow-changelog-hash-overrides.yml |
| config-path | Path to a YAML file (in the consuming repo) holding changelog policy — tag-pattern, enhancement-labels, bug-labels, exclude-labels, format. Policy belongs in one file rather than repeated inputs at every call site, since it doesn't vary by branch or by which step (prepare vs. finalize) is running. The inputs below still exist as one-off overrides and take precedence over the file when set. | no | .gitflow-changelog.yml |
| upstream-cache-dir | Directory each configured upstream source (see the "upstream" key in config-path) is cloned into. Only used when the config declares at least one upstream source. Pair with actions/cache using a stable key (not hash-based, and not scoped to the current branch — the same upstream history is relevant regardless of which branch is generating a changelog) so the clone persists across runs: it's updated with a fetch on every run after the first, rather than re-cloning full history from scratch every time. | no | .gitflow-changelog-upstream |
| tag-pattern | Regular expression selecting which tags get their own changelog section (e.g. to exclude alpha/beta/rc pre-releases). Does not affect ancestry placement, only which tags are rendered as sections. Overrides tag-pattern in config-path; defaults to matching every tag if set in neither place. | no | — |
| enhancement-labels | Comma-separated labels categorized as "Implemented enhancements". Overrides enhancement-labels in config-path; defaults to "enhancement" if set in neither place. | no | — |
| bug-labels | Comma-separated labels categorized as "Fixed bugs". Overrides bug-labels in config-path; defaults to "bug" if set in neither place. | no | — |
| exclude-labels | Comma-separated labels excluded from the changelog entirely. Overrides exclude-labels in config-path; defaults to "duplicate,invalid,wontfix" if set in neither place. | no | — |
| format | Output renderer. Only "default" is available in v1. Overrides format in config-path; defaults to "default" if set in neither place. | no | — |
| output-path | Path to write the generated changelog to. | no | CHANGELOG.md |