Feature request: pre-commit hook to create/link external tracking issues (Jira, ServiceNow, etc.) before commit/PR creation #44697
KaanSimsek
started this conversation in
Suggest an Idea
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Tell us more.
Use case
In regulated environments (e.g. SOX, ISO 27001, financial/healthcare compliance),
every commit and PR/MR is required to be traceable to a tracked work item in an
external system (Jira, ServiceNow, Azure Boards, etc.) before the commit is made
— not just linked afterward.
Currently Renovate has no hook point before PR/commit creation to call out to an
external ticketing system and inject the resulting ticket key into the commit
message and/or PR title. This means compliance-focused orgs either have to:
re-injects config per-package (fragile — dry-run log format isn't a stable API)
(requires force-pushing to PR branches, awkward in CI)
ensurePr()directly (works, but creates ongoingmaintenance burden tracking upstream changes)
Proposed solution
A configurable hook/webhook point that runs before commit creation,
with access to the resolved branch config (depName, currentVersion, newVersion,
updateType, isVulnerabilityAlert, etc.), that can:
commitMessage,prTitle, and/orbranchNametemplatesSomething like:
This could be scoped via existing
packageRulesmatchers, so orgs could apply itonly to certain update types (e.g.
isVulnerabilityAlertonly, or majors only).Why this matters beyond my specific case
This isn't Jira-specific — any org with change-management requirements
(ITIL, SOX, FDA-regulated software, etc.) needs commits/PRs traceable to an
approved work item. A generic pre-commit hook would let people plug in Jira,
ServiceNow, Azure Boards, or an internal system without Renovate needing to
natively support any specific ticketing API.
Happy to contribute a PR if there's appetite for this and maintainers can point
me to the right place in the codebase.
Beta Was this translation helpful? Give feedback.
All reactions