Issues, Statuses, Assignments, False Positives, and Resolution Workflow: Diagnostics, Failure Modes, and Production Practices
Diagnose issue-workflow failures causally, preserving source, scanner, Compute Engine, permission, issue-history, policy, and gate evidence before correction.
Learning objectives
- Diagnose issue workflow failures without deleting evidence or mutating unrelated policy.
- Separate analysis lifecycle failures from issue-management and permission failures.
- Recover from inappropriate bulk Accepted/False positive actions by reopening and re-triaging.
- Distinguish SCM routing mistakes from ownership-policy mistakes.
- Preserve first-failure evidence before retry, restart, deletion, or suppression.
1. Evidence-first diagnostic sequence
-
Preserve scanner log,
report-task.txt, issue/Activity evidence, and current gate. - Confirm SonarQube edition/version, scanner, analyzers/plugins, and instance mode.
- Confirm exact Git revision and effective analysis parameters.
- Confirm indexed files and report upload.
- Confirm the exact Compute Engine task.
- Inspect issue key, rule/profile, status, assignee, comments/tags, and new-code context.
- Inspect authorization only when the symptom is a missing/failed workflow action.
- Inspect database/search/JVM/container layers only if evidence points there.
- Apply the least destructive correction and rerun the smallest equivalent scenario.
2. Failure matrix
| Symptom | Owning layer | Evidence first | Safer correction |
|---|---|---|---|
| All findings marked False positive to green the gate | Governance/workflow | Activity + same SHA + gate before/after | Reopen; review source/profile/scope |
| “Resolved” assumed to mean code fixed | Legacy mental model | current status + Git diff + reanalysis | Use current lifecycle; let analysis establish Fixed |
| Wrong engineer repeatedly assigned | SCM correlation/ownership | author/assignee + blame/user mapping | Reassign; improve ownership policy |
| Issue vanished after source suppression | Source/pre-analysis suppression | diff + suppression marker + scanner evidence | Remove broad suppression unless justified |
| External issue changed only in SonarQube | Integration boundary | Sonar Activity vs external state | Reconcile in authoritative tool |
3. Broken example: mass acceptance without review
Assume a lab operator filters all Open findings and bulk-Accepts them solely because the gate is red. Do not delete or rerun yet. Preserve the exact filter, count, Activity history, unchanged Git SHA, gate/measures before/after, and user/permission that performed the action.
Repair by reopening, then partitioning the issues by real cause: source fix, valid deferral, analyzer mistake, profile/scope mismatch, or ownership routing. The original bad action should remain visible in Activity; that is useful audit evidence.
4. Permission failure is not an analyzer failure
If a user can view an issue but cannot Accepted/False-positive it, inspect project authorization first. These actions require Administer Issues. Do not rerun scanners, change profiles, or use a global administrator token to work around an authorization symptom.
For API failures, preserve HTTP status/body and consult the current instance API documentation; the cause may be auth, permission, method/path mismatch, or deprecation.
5. “I fixed it” but the issue is still Open
Possible causes include: wrong revision scanned; wrong base directory/indexed file; the rule still detects an equivalent pattern; report uploaded but Compute Engine failed; wrong branch/project key; or an external analyzer still imports the finding. Trace revision → effective parameters → indexing → task → issue identity before touching workflow status.
6. Suppression shortcuts destroy future signal
Broad suppression can make findings disappear before normal issue
workflow. Treat //NOSONAR and language suppressions as
source/configuration changes with code-review impact. Never
recommend mass suppression, rule deactivation, or threshold lowering
as a troubleshooting shortcut.
7. Project deletion is not issue cleanup
Deleting a project destroys the history needed to explain the signal. In production it is a destructive administrative action, not a remediation technique. In this course it is allowed only as guarded cleanup of a uniquely named lab project after the evidence packet is safely preserved.
8. Production remediation record
A mature record lets another engineer reconstruct the analyzed revision, issue/rule, original status, owner, source diff or disposition rationale, reanalysis task, final status, and gate effect. That causal chain is more useful than a screenshot of a green dashboard.
Knowledge check
Gate becomes green after bulk Accepted with no new commit. What changed?
Workflow/governance state changed; this is not evidence of source remediation.
Code changed but issue remains Open. What first?
Inspect revision, indexing/report, and Compute Engine evidence before status.
Why should permission error not trigger scanner rerun?
It belongs to authorization/workflow access, not source analysis.
Why is project deletion bad issue cleanup?
It destroys audit history rather than correcting source or policy.
What if one rule creates widespread false positives?
Investigate analyzer version, applicability, profile parameters, and scope before individual dispositions.
Official references and version notes
- Issues introduction — current issue concepts and lifecycle entry points.
- Issue management solution — identification, SCM-assisted assignment and lifecycle.
- Editing issues — Accepted/False positive, reopening, assignment, tags, comments and bulk changes.
- Retrieving issues — current issue filtering and review UI.
- Web API — bearer authentication and Web API V2 migration guidance.
- Managing tokens — token types, API use and revocation.
- SonarQube releases — dated release identities.
- SonarScanner CLI 8.1.0.6389 — scanner baseline.
Rechecked 2026-09-07. Mandatory examples target SonarQube Community Build 26.9.0.129388 (released 2026-09-03) and SonarScanner CLI 8.1.0.6389 (released 2026-04-21). Current Community Build issue workflow uses Open, Accepted, False positive, and automatically determined Fixed. Older tutorials may show deprecated Confirmed/Resolved/Closed or resolution fields; those are not taught as current statuses. No commercial feature, Data Center, SonarQube Cloud, AI CodeFix, enterprise identity, external provider, paid CI, or third-party plugin is required.
Keep the academy open
Support free, practical DevOps education.
Every lesson is designed to remain readable in a browser, downloadable from GitHub, and usable without a paid learning platform. Contributions help expand and maintain the curriculum.
0x716c4Ab160C4B66F31a28AE2448BfF68fc3a2ef0Send only Ethereum/ERC-20 compatible assets to this
address.