Permissions and Admin Access

Permissions and Admin Access

Scriptbox is a tool for Jira site administrators. This page lists who can reach which part of it, and every scope the app holds, with the reason it is there. Scopes are the ceiling: no script, run as anyone, can exceed them.

Who can use Scriptbox

  • The admin gate. Every server-side function behind the console — scripts, runs, listeners, jobs, fields, behaviours, workflow-rule configuration, variables, migration and the Rovo assistant's actions — first checks that the caller holds Jira's global ADMINISTER permission. This is checked for the calling user on every call; page visibility is not a permission model.
  • The Apps menu entry is shown only to users with ADMINISTER, so it does not advertise a page that would only greet a non-admin with an error. This is Jira's Administer Jira permission, not Atlassian's organisation-admin role.
  • No separate roles. Every Jira site admin can write, run, save, delete and schedule scripts, manage variables, and run scripts as the app.

Two entry points run without the admin check, and you should know them:

Entry point Who can reach it What to know
Run a Scriptbox script automation action Anyone who can author an automation rule that offers the step Runs any saved script as the app, found by name. See the caution on Jira Automation Action.
Behaviour run log Any user who opens a form with a behaviour The behaviour frame reports each run from the user's browser. Treat behaviour execution-log entries as client-reported.

Scopes the app holds

Scope Why it is there
read:jira-work Read issues, projects, comments, worklogs and search results — what most scripts do
write:jira-work Create and edit issues, comments, worklogs and transitions from scripts
read:jira-user Look up users — assignees, reporters, account details
manage:jira-project Project administration from scripts — versions, components, project settings. Scriptbox's own code does not use it
manage:jira-configuration Workflows, screens, custom fields and UI modifications. Scriptbox itself uses it to create scripted fields, list where its workflow rules are used, and publish behaviours; scripts can use it too
read:board-scope:jira-software, read:board-scope.admin:jira-software, read:sprint:jira-software, read:epic:jira-software, read:issue:jira-software, read:issue-details:jira, read:jql:jira, read:project:jira Read-only access to the Jira Software (Agile) API — boards, board configuration, sprints, epics and their issues
storage:app Scripts, versions, run history, execution logs, configuration and per-script storage

manage:jira-configuration and manage:jira-project are broad. Together with app-identity runs, they put a script running as the app close to a site administrator in what it can change. That is what makes a general-purpose script runner useful — and why who can save scripts, and which ones stay saved, matters.

Deliberately not requested

  • No egress. No external fetch permissions — the app and its scripts cannot call anything outside your site.
  • No Agile write scopes. Board, sprint and epic writes are refused.
  • No Jira Service Management scopes. jira.serviceDesk calls are currently refused by Jira.
  • No devops scopes (builds, deployments, feature flags, dev info).

Other manifest permissions

The app's Custom UI pages are served with unsafe-eval for scripts — needed so the behaviours frame can start its WebAssembly interpreter, and applied by Forge to all of the app's pages — and unsafe-inline for styles, which the code editor uses. See Security Model.