Jira app

Scheme Control for Jira

Let project admins switch between admin-approved schemes, without handing out Jira admin rights.

Product
Jira Cloud
Status
Coming soon
Marketplace
Not yet listed on the Atlassian Marketplace.
Documentation
Docs for Scheme Control for Jira

The problem it solves

In Jira Cloud, switching a project's permission, notification or workflow scheme requires the global Administer Jira permission. Project leads wait on central admins for routine changes, or admins hand out global admin rights, which is a security and compliance risk.

What it does

Who it is for

Jira site admins and platform teams who want to delegate routine configuration without widening who holds Administer Jira. The people who use it day to day are project admins.

What it does not do

Permissions it asks for

Scope Why
read:jira-work Read projects, project roles, statuses and issue counts, and check the caller's permissions before anything else happens.
manage:jira-configuration Read the site's schemes and assign notification, issue security and workflow schemes to a project.
manage:jira-project Assign permission and issue type screen schemes to a project.
storage:app The app's own storage: policies, settings, plans, locks, and the audit and history tables.
report:personal-data Report to Atlassian, on Atlassian's reporting cycle (every 7 days when it names none), which account IDs the app stores, and learn which have been closed so their data can be erased. Atlassian requires it of apps that store personal data. It reads no personal data.

The app declares no external egress: it talks only to Atlassian. How the app checks each request, and what it records, is on the security model page.

Why classic scopes, not granular ones

Assigning a scheme to a project is an administrator-only operation in Jira, so the app must be able to act with administrator capability. A granular-only scope list was measured on a real site and returned 401 for the permission, notification, workflow and issue security scheme reads, so the app uses the classic scopes. The measurement, taken on 2026-09-22 on a Jira Cloud site with the app reading as itself:

Read (as the app) Granular and classic mixed Granular only Classic only
permissionscheme 401 401 200
notificationscheme 200 401 200
issuetypescreenscheme 200 200 200
issuesecurityschemes 401 401 200
workflowscheme 200 401 200
project/search 401 401 200
project/{key} 401 401 200
mypermissions 200 200 200

A granular-only manifest cannot read permission, notification, workflow or issue security schemes, nor projects, and mixing the two lists gave inconsistent results. Issue security and workflow scheme switching are beta features, off by default; the scope is needed for the core scheme types regardless.