Documentation · Task
Permissions
Every read and write is checked against the signed-in Jira user, an explicit scope and, for repository data, a current grant. A scope alone is never enough.
Three layers of access
- Atlassian validates the request first. App REST calls use OAuth 2.0 (3LO) and the custom scopes below. A site administrator must opt in to App REST APIs for TestWarden in Atlassian Administration → Connected apps.
- TestWarden checks the current user. The installation comes only from the Forge runtime, never from the request. A missing identity or a failed permission lookup denies access. There is no app-level or offline-impersonation fallback.
- TestWarden checks the repository. Reads need an active grant for that user, installation and repository. A revoked, expired or foreign grant releases no decision data.
Access for CI and developer clients is provisioned during early access and pilot onboarding. You do not create your own integration or use personal access tokens. See Onboarding.
Jira scopes
Marketplace V1 — publicly listed
read:jira-workfor project and issue discovery, requirement links, coverage and permission lookup.write:jira-workfor Jira Bug creation that a user starts from a failed or blocked step.report:personal-datafor Atlassian's weekly personal-data reporting. It grants no Jira data access.
More on Security.
App roles
TestWarden maps your Jira permissions to app roles.
| Role | Can |
|---|---|
| Viewer | Read. |
| Tester | Execute tests and link defects. Minimum role to read a change and decision over the API. |
| QA Manager | Author tests, views, folders, cycles and links. Required to request an approved rerun and to receive the detailed failure diagnosis. |
| QA Admin | Also archive, restore and run migrations. Operations that are not classified fail closed to Admin. |
Custom scopes and routes
Scopes are least privilege and cannot edit policy, grant approval or accept a caller-selected state.
| Operation | Route | Scope | Also required | Availability |
|---|---|---|---|---|
| Submit evidence and evaluate | POST /warden/evidence | write:warden-evidence:custom | Current Jira site administrator and active entitlement | Marketplace V1 — publicly listed |
| Read a change and its latest decision | GET /warden/change?id=<uuid> | read:warden-changes:custom | Tester or higher and an active repository read grant | Marketplace V1 — publicly listed |
| Developer reads (status, obligations, plan, evidence, explain) | GET /developer/v1/... | read:warden-developer:custom | Tester or higher and an active repository read grant | Developer preview — live acceptance pending |
| Request an approved rerun | POST /developer/v1/verification/request | request:warden-verification:custom | Manager role, entitlement, repository grant and a separately approved run | Not yet available (no dispatcher installed) |
Add the Forge product scope read:forge-app:jira to the 3LO integration, as Atlassian's App REST setup guide describes. Details for each developer route are in API, CLI and MCP.
Revocation and licensing
- Role and grant are checked again before delivery. A change in either releases nothing further.
- Developer API reads write an audit event.
- An inactive subscription still permits an otherwise authorized read. Submitting evidence requires an active entitlement.
- Missing identity returns 401. Authorization or license denial returns a bounded 403 with no decision data.
Troubleshooting
- 403 on submit. The caller is not a current site administrator, lacks the evidence scope, or the entitlement is inactive.
- 403 or
forbiddenon read. The Jira role is below tester, the repository grant is missing or revoked, or App REST APIs are not enabled. - 401. The token is missing, expired or not tied to a signed-in user.
Ask your Jira administrator about roles. For grants and provisioning, email [email protected].
Related tasks
- Onboarding
Choose a path, enable access, confirm the first change appears.
- CI evidence
Submit JUnit, SARIF or JSON and gate on the exact build.
- API, CLI and MCP
Read status, obligations and explanations from a terminal or agent.
- Decisions and approvals
States, reason codes, next actions and preserved history.
- AI and data handling
What is optional, what is consented and what never changes a decision.