absaoss/Check PR Requirements
Validates pull request properties against configurable requirements
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jun 26, 2026
- License
- Apache 2.0
Pinned Snippet
uses: absaoss/check-pr-requirements@adb22f6d88c93fd801e787a63d948d6fbbdd4af3 # v0.2.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| pr-title | Pull request title | yes | — |
| pr-body | Pull request body/description | no | "" |
| pr-branch | Source branch name | no | "" |
| pr-number | Pull request number | no | "" |
| target-branch | Target branch name | no | "" |
| files-changed | Number of files changed | no | 0 |
| labels | Comma-separated list of PR labels | no | "" |
| github-token | GitHub token for API access (required for release notes check) | no | "" |
| check-title | Enable PR title format check | no | true |
| check-description | Enable PR description presence check | no | true |
| check-issue-reference | Enable issue reference check | no | true |
| check-release-notes | Enable release notes presence check (uses AbsaOSS/release-notes-presence-check) | no | false |
| check-branch-name | Enable branch name convention check | no | false |
| check-pr-size | Enable PR size limit check | no | false |
| check-label | Enable label presence check | no | false |
| check-target-branch | Enable target branch validation | no | false |
| title-formats | Comma-separated allowed title formats, pass if any matches: conventional, issue-number (#123: Title or 123 - Title), custom (uses title-pattern) | no | conventional |
| title-types | Comma-separated allowed conventional commit types (conventional format) | no | feat,fix,docs,style,refactor,perf,test,build,ci,chore,revert |
| title-scopes | Comma-separated allowed scopes (conventional format; empty = any scope allowed) | no | "" |
| title-pattern | Regex the title must match (custom format) | no | "" |
| description-min-length | Minimum PR description length in characters | no | 20 |
| description-required-sections | Comma-separated headings that must appear in the PR body, e.g. '## Release Notes' (empty = none) | no | "" |
| issue-reference-require-keyword | Only keyword issue references count, e.g. 'Fixes #123', 'Closes AB#12345' | no | false |
| branch-pattern | Full regex override for valid branch names | no | ^(feature|bugfix|hotfix|release|support|chore|docs|ci|dependabot)/[a-zA-Z0-9._-]+$ |
| branch-require-ticket | Require a ticket after the branch prefix, e.g. feature/123-user-login | no | false |
| branch-ticket-pattern | Regex the branch must match when branch-require-ticket is true (default: numeric ticket after prefix, e.g. feature/123-user-login). Override for schemes like feature/PROJ-123-... | no | ^[^/]+/[0-9]+- |
| max-files-changed | Maximum number of files changed allowed | no | 50 |
| required-labels | Comma-separated list of required labels (empty = at least one label) | no | "" |
| allowed-target-branches | Comma-separated list of allowed target branches; glob patterns supported, e.g. 'main,support/*' | no | main,master |
| release-notes-tag | Tag to look for in PR body for release notes | no | ## [Rr]elease [Nn]otes |
| release-notes-skip-labels | Labels that skip the release notes check | no | no RN |
| release-notes-skip-placeholders | Placeholder strings that indicate missing release notes | no | TBD |
Outputs
| name | description |
|---|---|
| result | Overall result: pass or fail |
| pass-count | Number of checks that passed |
| fail-count | Number of checks that failed |
| total-count | Total number of checks run |