You ship Jira configuration by hand. Stop.
Every hand-shipped change is rebuilt from a document: slow, expensive, error-prone, and with no evidence of what changed, who approved it, or why.
Cardinal Ruler is a governed deployment pipeline for Jira configuration. Package a change on your origin site, pre-flight it against the target, get it approved, and deploy - with the audit record committed to a repository you own.
Now on the Atlassian Marketplace· For Atlassian Cloud· Watch the overview
Five steps. Every one on the record.
You build configuration on one site - the origin. Someone then retypes it, by hand, into the site the business runs on. That is software being shipped. It just ships with none of the usual safeguards: no package, no review gate, no pre-deployment check, no record. Cardinal Ruler closes that gap.
-
01
Step 1. Author & package
The change and everything it touches, in one package.
change package -
02
Step 2. Pre-flight
What translates, what's missing, and what cannot be carried.
pre-flight report -
03
Step 3. Approve
One sign-off on a frozen plan. Each target site sets who gives it.
approval -
04
Step 4. Deploy
Executed in dependency order, and only what approval covered.
ordered plan -
05
Step 5. Verify & audit
Verified, or recorded as failed - then rolled back or superseded.
validation report
The whole pipeline, in under a minute
One Incident Management change, packaged, pre-flighted, approved, deployed and recorded. One change, end to end takes the same change step by step, screen by screen.
Plays from YouTube. Nothing loads from YouTube until you press play.
Price the retype cycle for your own team
A consultant builds the change on the origin site. Then they write a document describing what they just built. An admin who wasn't there retypes it into the target. The consultant returns to test it again. Who coordinates the two? Someone else again. That circle of hand-offs exists only because there is no pipeline - and on a real engagement it runs across a whole team, every week.
Every white box is a field you can edit - type your own numbers and the total follows.
46 working weeks. Every field is yours to change - the defaults are deliberately conservative guesses, not claims about your estate.
Cardinal Ruler does not remove designing the change - that is the actual work. It removes writing a document about what you already built, retyping it on the other side, testing again what you already tested, and chasing what state anything is in: the package that was approved is the thing that deploys.
Sooner or later someone asks: Show me what changed, who approved it, and why.
Two answers. Only one of them is evidence.
“Here is the change. Open it.”
One folder per change, in plain files: what changed, who approved it, and why.
- package.jsonthe ask: justification, timeline, approval
- preflight-report-v1.jsonevery finding, and its decision
- snapshot.jsonthe intent, captured at submit
- validation-report.jsonthe post-deploy check
- workflow-step-1.jsonthe workflow it carries
-
pre-flight: 1 creation(s) scheduled at deployCormac Doyle
d37e28e · preflight-report-v1.json
"kind": "status", "name": "Escalated", "status": "missing",- "fixable": true+ "fixable": true,+ "scheduled": {+ "by_display_name": "Cormac Doyle",+ "at": "2026-08-20T13:05:12.418Z"+ } …- "passed": false+ "passed": true -
state: AWAITING_CAB → APPROVEDNiamh Brennan
2dd4267 · package.json
"timeline": [ …+ "at": "2026-08-21T09:41:07.412Z",+ "by": { "display_name": "Niamh Brennan" },+ "from_state": "AWAITING_CAB",+ "to_state": "APPROVED",+ "kind": "cab_decision",+ "cab_vote": "approve"
“I can show you what the site looks like now.”
The comparison runs and the differences go in. The change itself was never an artefact - so the answer arrives in pieces:
- “The intended design is in this document. One of the versions.”
- “The approval? There was an email thread. Let me search.”
- “The report lists what went in - not why, or who decided.”
- “The consultant who built it rolled off in March.”
The Open Beta's documentation describes no approval step and no rollback.
In one published field test of Atlassian's Sandbox Configuration Deployment, the validator reported 0 errors - and app-provided workflow rules had still arrived incomplete.
Sami Shaik, a first field report on cross-site configuration deployment in Jira Cloud - Atlassian Community, 5 Aug 2026. Field report (opens in a new tab)
What deploys today - and what's next
Workflow changes deploy end to end today, with the screens and fields they reference. Permission, notification and work type schemes are already packaged and pre-flighted, and deploy for them arrives in early Q4’26.
Jira workflows
Deploys todayThe hardest piece is already here. Workflows sit at the core of most Jira configuration changes - and they are the kind you least want to retype by hand.
The whole workflow ships as one governed package - captured with its rules and screen attachments on the origin site, translated by name on the target, and applied there.
Referenced screens and fields are created on the target in dependency order - fields, then screens, then the workflow that uses them.
Statuses, resolutions and roles the workflow references are matched by name - and created on the target when they're missing.
Post-deploy validation is committed to the record: every deploy checked against the packaged specification.
Screens and fields are referenced, not owned: the package carries what the workflow needs without claiming the rest of the target's configuration.
- Statuses - Resolved on the target by name.
- Transitions - Recreated in full - rules and screens attached.
- Properties - Copied exactly, key and value.
- Conditions - Role references resolved by name.
- Validators - Field references checked in pre-flight.
- Post-functions - Captured with their arguments - resolutions matched by name.
- Screens - Created before the workflow that opens them.
- Fields - Created first - before the screens that carry them.
Beyond workflows: on the record today
-
Scheme configuration
Deploys early Q4’26Permission schemes · notification schemes · work type schemes
Now: goes into the change package, is checked against the target site in pre-flight, and is written to the audit record.
Next - early Q4’26: Cardinal Ruler applies these to the target site for you, exactly as it deploys workflows today.
-
Everything else in the change
Manual, on the recordManual actions · Jira admin, org admin or external steps
Now: sits in the same change request as a manual action, is approved with the rest of the plan, and is written to the audit record.
At deploy: carried out by hand, not by Cardinal Ruler - the approval lists exactly which steps are manual.
One change, end to end
The same change request, from authoring to the record it leaves behind.
Author the change
Build it once on the origin site - where changes are authored - and it becomes a formal, versioned change request.
CR-2026-119 · 3 steps · 1 packaged workflow
Change request - configuration steps
Pre-flight it, read-only
A read-only check against the target site. Every finding must be decided before the change can pass.
4 findings · every one needs a decision · pass blocked until then
Pre-flight panel - findings list
Approve the whole plan
The approver sees the complete decision set, and can return it with a note.
AWAITING_CAB → APPROVED
Change request - approval view
Deploy exactly that
Approval covers the whole plan, and the deploy executes it in dependency order.
statuses → field → screen → workflow
Deploy - ordered plan
Verify & audit
The change ends in an explicit outcome, and the report is committed to a repository you own.
The committed record
Each of those steps lands in one folder in a repository your organisation owns.
Book a demoBuilt to be inspected
A governance product earns trust with mechanisms, not adjectives. Three of the five below are enforced by Atlassian's platform, your administrator and your Git host rather than by Cardinal Ruler, and each one can be verified independently.
-
Enforced by your administratorNothing runs that your admin didn't consent to. Every scope is on the consent screen before you accept.
-
Enforced by AtlassianConfiguration can leave to one address only - your repository. Read the manifest: one destination, and that is the list.
-
Enforced by your Git hostYou own the record, and it outlives the app. Revoke access - every record already written remains.
-
Enforced by Cardinal RulerOnly an approved change is ever deployed. Run a pre-flight, then look at the target: nothing moved.
-
Enforced by Cardinal RulerYour Git credential never reaches the browser. Open the network tab: no response carries the credential.
Where this fits. Cardinal Ruler is one instrument in your compliance kit: it makes the configuration change process transparent, with a complete, inspectable record for your own organisation - and for whoever audits it. The rest of your posture stays where it always was: with your policies, your controls and your auditors. What the app reads, what it keeps and for how long, what it writes to your repository and why it asks for each Jira permission is set out on the app data handling page.
See a change deploy end to end
Thirty minutes · online · a live deploy, not slides
Cardinal Ruler moves Jira configuration between sites under review: authored on an origin site, checked, then deployed to a target with a record of what changed. A demo walks one real change along that path, so you can see the shape of it against your own setup rather than a feature list.
Cardinal Ruler is on the Atlassian Marketplace. Workflows deploy today, and permission, notification and work type schemes follow in early Q4’26. A demo is the quickest way to tell whether that roadmap lines up with the changes your teams actually ship.
At Team ’26 Europe, 6-8 October? Take the demo in person: Room M6, on the Mezzanine above the expo at RAI Amsterdam. Book a time in Room M6.
The questions that come up first
Won't another approval layer slow us down?
We already script this with the REST API.
Isn't Jira's own history our audit trail?
Atlassian ships Sandbox Configuration Deployment - why this?
Can a Forge app be trusted with admin scopes?
That egress declaration is short enough to read in full. For Cardinal Ruler it is one address - your audit repository, and nothing else:
# manifest.yml permissions: scopes: … # every scope, shown to your admin at install external: fetch: backend: - address: api.bitbucket.org