absaoss/Check PR Requirements

Validates pull request properties against configurable requirements

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 26, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: absaoss/check-pr-requirements@adb22f6d88c93fd801e787a63d948d6fbbdd4af3 # v0.2.0

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

namedescriptionrequireddefault
pr-titlePull request titleyes
pr-bodyPull request body/descriptionno""
pr-branchSource branch nameno""
pr-numberPull request numberno""
target-branchTarget branch nameno""
files-changedNumber of files changedno0
labelsComma-separated list of PR labelsno""
github-tokenGitHub token for API access (required for release notes check)no""
check-titleEnable PR title format checknotrue
check-descriptionEnable PR description presence checknotrue
check-issue-referenceEnable issue reference checknotrue
check-release-notesEnable release notes presence check (uses AbsaOSS/release-notes-presence-check)nofalse
check-branch-nameEnable branch name convention checknofalse
check-pr-sizeEnable PR size limit checknofalse
check-labelEnable label presence checknofalse
check-target-branchEnable target branch validationnofalse
title-formatsComma-separated allowed title formats, pass if any matches: conventional, issue-number (#123: Title or 123 - Title), custom (uses title-pattern)noconventional
title-typesComma-separated allowed conventional commit types (conventional format)nofeat,fix,docs,style,refactor,perf,test,build,ci,chore,revert
title-scopesComma-separated allowed scopes (conventional format; empty = any scope allowed)no""
title-patternRegex the title must match (custom format)no""
description-min-lengthMinimum PR description length in charactersno20
description-required-sectionsComma-separated headings that must appear in the PR body, e.g. '## Release Notes' (empty = none)no""
issue-reference-require-keywordOnly keyword issue references count, e.g. 'Fixes #123', 'Closes AB#12345'nofalse
branch-patternFull regex override for valid branch namesno^(feature|bugfix|hotfix|release|support|chore|docs|ci|dependabot)/[a-zA-Z0-9._-]+$
branch-require-ticketRequire a ticket after the branch prefix, e.g. feature/123-user-loginnofalse
branch-ticket-patternRegex 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-changedMaximum number of files changed allowedno50
required-labelsComma-separated list of required labels (empty = at least one label)no""
allowed-target-branchesComma-separated list of allowed target branches; glob patterns supported, e.g. 'main,support/*'nomain,master
release-notes-tagTag to look for in PR body for release notesno## [Rr]elease [Nn]otes
release-notes-skip-labelsLabels that skip the release notes checknono RN
release-notes-skip-placeholdersPlaceholder strings that indicate missing release notesnoTBD
namedescription
resultOverall result: pass or fail
pass-countNumber of checks that passed
fail-countNumber of checks that failed
total-countTotal number of checks run