Filing GitHub Issues
nfr-review can automatically create, update, and close GitHub issues from scan findings. This turns findings into tracked work items that integrate with your existing project management.
Enabling issue sync
Section titled “Enabling issue sync”In CI (recommended)
Section titled “In CI (recommended)”Use the GitHub Action with create-issues: "true":
- name: Run NFR Review uses: JimAKennedy/nfr-review@v1 with: path: . create-issues: "true" rag-min: "amber" # create issues for amber + red first-run-cap: "25" # limit first-time issue creation extra-labels: "nfr-review"From the CLI
Section titled “From the CLI”Use the issues command directly:
nfr-review issues ./my-repo \ --rag-min amber \ --first-run-cap 25How issue sync works
Section titled “How issue sync works”New findings create issues
Section titled “New findings create issues”When a finding has no matching open issue, nfr-review creates one with:
- Title — rule ID and summary
- Body — severity, evidence location, recommendation, and compliance refs
- Labels — severity, category, and any
extra-labelsyou configured
Existing findings update issues
Section titled “Existing findings update issues”If a finding already has a matching open issue, the issue body is updated with the latest evidence. The issue stays open.
Resolved findings close issues
Section titled “Resolved findings close issues”When a finding disappears from the scan (the code was fixed), nfr-review closes the corresponding issue with a comment explaining it was resolved.
Controlling issue creation
Section titled “Controlling issue creation”RAG minimum
Section titled “RAG minimum”Set rag-min to control which findings create issues:
| Setting | Issues created for |
|---|---|
"red" (default) |
Red findings only |
"amber" |
Red + amber findings |
Green findings never create issues.
First-run cap
Section titled “First-run cap”On first adoption, a scan may produce dozens of findings. The first-run-cap
limits how many issues are created in the first run:
first-run-cap: "25" # create at most 25 issues on first scanSubsequent runs have no cap — only new findings create issues, which is typically a small number.
Labels
Section titled “Labels”Add custom labels for project management integration:
extra-labels: "team:platform,sprint:23,priority:p2"Labels are comma-separated. nfr-review also adds severity and category labels automatically.
Triage workflow
Section titled “Triage workflow”A suggested workflow for managing nfr-review issues:
- Nightly scan creates and updates issues automatically
- Team triage — review new issues weekly, assign owners
- Fix and verify — fixes close issues on the next scan
- Suppress — for findings that aren’t actionable, suppress the rule in config rather than closing the issue manually (it will reopen on the next scan)
Preventing issue churn
Section titled “Preventing issue churn”If a rule creates issues that aren’t relevant to your project:
rules: skip: - rule-id-to-suppressThis prevents the finding from appearing in scans, so no issue is created.