Skip to content

Oktul Code Studio

Scripts for Jira and Confluence Cloud in JavaScript and TypeScript, with listeners, schedules, automation and a sandbox that lists every change first.

Atlassian reviews this documentation before the listing goes live, so there is nothing to install yet.

Pending Atlassian approvalCSA STAR Level One: Self-Assessment
What the video shows
  1. Script with Rovo, Write a new script: one sentence, and Rovo writes the TypeScript a line at a time.
  2. Two colleagues open the same script, and each sees the other's selection and typing as it happens.
  3. A sandbox run reads the three FIN work items whose Cost centre is empty, with one request.
  4. Each write waits on its work item, None to Tallinn, marked Planned: three changes listed and none sent.
  5. Publish: in production the three values are set and each work item reads Done.
  6. Spaces hold every script, each naming its own editors. A space stays in step with a GitHub or Bitbucket Cloud repository: a save goes out as a commit, and a change made there comes back as a draft.
  7. A script runs on a work item event, a schedule, a Flow, or an HTTP request with its own secret.
  8. A scripted field stores how many days each work item has been open, and a dynamic form asks for an approver once the amount passes 1000.
  9. A ScriptRunner-style Groovy script, translated into TypeScript by Rovo and never run as Groovy.
  10. A run continues for up to an hour across four invocations, and Stop ends it.
  11. Oktul, Atlassian Marketplace Partner.

Open the video on its own page

Scripting Jira and Confluence usually means running someone else's servers

  1. Every script needs somewhere to run and to keep its credentials

    A script that changes work items or pages on an event, a schedule or a rule needs a server and a safe place for its credentials. Someone also has to know what it will do before it runs.

  2. Testing a script on production changes production

    A script is tested by running it. A test site rarely holds the same data.

A sandbox run lists every write instead of making it

Oktul Code Studio runs every script on Atlassian Forge, inside your site. In the sandbox a script reads your real data and lists each change it would make. Production runs only scripts a site administrator has published.

What it does in Jira and Confluence

One app for both products. Install it for your site's main product and connect the other.

In-product editor

The console opens from the product's Apps menu. It has a script tree in spaces, an editor with TypeScript completion for the Code Studio API, revisions, drafts and publishing, and a run panel with the log, the result and the changes.

Sandbox

In the sandbox a script reads Jira and Confluence for real. Each write is recorded and answered with a simulated response. A production run can still differ, because the site can change in between.

Triggers and schedules

A script runs on a Jira or Confluence event, on a cron schedule, from a Jira automation rule with its smart values, or from an HTTP request that carries a secret. Any run can be stopped at any moment.

Built-in AI scripting

Describe a script in your own words, or hand over exported automation rules. The Rovo author plans it, writes it and tests it in the sandbox. Rovo's AI credits come from your organisation's allowance.

AI context at scale

Agents that read your site as you

Code Studio's five Rovo agents read your scripts and your site as the person talking to them, with that person's permissions. They write drafts only. Once an organisation admin connects Code Studio, every script is in the Teamwork Graph, and Rovo Search and Rovo Chat show it only to the people Code Studio shows it to. Claude and other assistants can use the same tools on the person's own plan, once an administrator turns them on. The app runs no AI model and holds no AI provider key.

Read how it works

Every feature

Compared with other scripting apps for Jira and Confluence

Each row is one capability. An app gets a tick only when it does everything the row describes, and where it does part of it, the cell names the part that is missing. Select a row's name to read its definition.

Checked on against each product's published documentation and its Marketplace listing. A dash means the feature is in neither.

CapabilityOktul Code StudioOktulScriptRunner for Jira (opens in a new tab)AdaptavistPower Scripts (opens in a new tab)AppfireJira Misc Workflow Extensions (JMWE) (opens in a new tab)Appfire
YesNoNoNo
YesNoNoPartly: Shows a template's result, not its changes
YesPartly: Confluence is a separate appNoNo
YesNoNoNo
YesNoNoNo
YesYesYesYes
YesYesYesNo

JavaScript and TypeScript

Scripts are written in JavaScript or TypeScript, with completion for the app's own API in the editor.

How Code Studio does it

A sandbox that lists the changes

A test run reads the site for real, records every write instead of sending it, and lists the changes it would have made.

How Code Studio does it

Jira and Confluence in one app

One installation scripts both products, with the same scripts, triggers and settings.

How Code Studio does it

Scripts stay inside Atlassian

Scripts, runs and logs are kept in the site's Forge storage and run on Atlassian Forge. No server of the app's vendor stores or runs a script.

How Code Studio does it

Rovo agents for scripts

Rovo agents write a script from a description, convert ScriptRunner Groovy to TypeScript, and debug, optimise and edit scripts. Every draft runs in the sandbox, and a person publishes it.

How Code Studio does it

Listeners and schedules

Scripts run on product events and on schedules, without a person starting them.

How Code Studio does it

Scripted fields

A custom field whose value a script computes.

How Code Studio does it

If a row no longer matches what an app does, write to hello@oktul.com and we will check it again.

The tests every release has to pass

These figures belong to this application only. Suite sizes differ between applications.

Automated tests
1,404
Counted on the current build, including the sandbox, licence, logging and authorisation suites.
Test suites
106
The JavaScript engine, replay, the run consumer, triggers, the console and the manifest.

Install one listing, for your site's main product

Oktul Code Studio for Jira and Oktul Code Studio for Confluence are one app with the same features. Install the one for the product you work in most, and connect the other. Never install both: two installations share nothing, scripts included.

Installation runs through the product you already administer

There is no Oktul infrastructure to set up, which makes the application simpler to adopt.

  1. 1
    Install it for your site's main product

    Install one listing: the Jira one on a Jira site, the Confluence one on a Confluence site. A site administrator approves the permissions listed below.

  2. 2
    Decide who may use it

    Site administrators can use it at once, and the developer groups you add can write scripts and run them in the sandbox.

  3. 3
    Write a script and run it in the sandbox

    Open Code Studio from the Apps menu, create a script and select Run. The run panel lists what it would change.

  4. 4
    Publish it and give it a trigger

    An administrator publishes the script and adds a listener, a schedule or an API trigger, or allows it in automation rules.

Host products
Jira Cloud and Confluence Cloud
Script languages
JavaScript, TypeScript and AssemblyScript
Languages
English
Data residency
Your site’s, for the app's storage

The questions other administrators ask most

Should I install Code Studio for Jira or for Confluence?

The one for your site's main product, and only that one. Both listings are the same app with the same features, so a site with only Jira or only Confluence can install it. Connect the other product to the same installation. Two installations would be two separate Code Studios with no shared scripts.

Can Rovo write a Jira script from a description?

Yes. Choose Script with Rovo, then Write a new script, and describe what it should do, or hand it exported Jira automation rules. The Rovo author plans the script, writes it as a draft and runs it in the sandbox. You see what it would change before anyone publishes it. It uses your organisation's Rovo AI credits.

Can Code Studio run my ScriptRunner for Jira Cloud Groovy scripts?

Not as Groovy. Code Studio runs JavaScript and TypeScript. Its Rovo translator converts a Groovy script to a TypeScript draft beside the original and maps ScriptRunner's HAPI calls to the REST calls they make. It checks the draft and runs it in the sandbox, and a person publishes it. A fragment that is not a whole script is reported as not convertible. ScriptRunner Connect scripts run unchanged.

How do I test a Jira script without changing anything?

Run it in Code Studio's sandbox. The script reads your site for real, and every write it makes is recorded and answered with a simulated response instead of being sent. The run lists each change it would have made. Production runs only scripts a site administrator has published.

How long can a script run?

About an hour. A Forge invocation lasts at most 900 seconds. Code Studio stops a run 30 seconds before the end and continues it in a new invocation, at most three times. A run that would need a fourth is stopped as runaway. context.checkpoint(state) lets a long loop resume where it stopped.

Who can write and run scripts?

Site administrators of the app's required product, and members of the developer groups an administrator names. Developers write scripts and run them in the sandbox. Publishing, production runs and triggers stay with administrators, unless an administrator lets developers run published scripts in production as themselves.

Does Rovo Search find our scripts?

Yes, once an organisation admin connects Code Studio in Atlassian Administration. Every script becomes a document in the Teamwork Graph with Code Studio's own access: the developer groups, and a restricted space's people as well, never the whole site. Group membership is read again every hour. A sync that cannot finish takes out what it was changing, and disconnecting deletes everything Code Studio sent. The connector is in the Jira app only, because Atlassian accepts connectors only from apps installed in Jira.

Can we use Claude or Claude Code with Code Studio?

Yes, on each person's own Claude plan, with no API key. An administrator turns on Code Studio's tools in Atlassian Administration. Each person adds Code Studio's MCP address to Claude and signs in with their Atlassian account. Claude then reads only what that person may read, and only changes drafts and runs the sandbox. What it reads goes to Anthropic under your agreement with them. Atlassian offers outside assistants as early access.

Can an AI agent change production?

No. Every agent tool, Rovo's or an outside assistant's, acts as the person and writes drafts or runs the sandbox, where every write is recorded instead of sent. Publishing, production runs, listeners and schedules stay with a person in the console. An agent may start at most ten sandbox runs per person in ten minutes.

Can a script call any URL?

Only hosts the app declares, and hosts a site administrator has approved in Atlassian's own egress dialog. A connection adds its credential after the script has built the request, so the script never sees it.

What happens to our data if we uninstall?

Scripted field values stay on their work items. According to Atlassian's documentation, the app's Forge storage (scripts, runs, settings and credentials) comes back if the app is reinstalled within 21 days, and then Atlassian deletes it. Export the configuration first: scripts, triggers, connections and settings in one file, with secrets only inside an envelope sealed with a passphrase.

Where do I get help?

Raise a request in the Oktul Help Center, or email support@oktul.com. Either way it becomes a request with a reference.

Explore Oktul's other applications

Pending Atlassian approval

Atlassian reviews this documentation before the listing goes live, so there is nothing to install yet.