Hi all,
I’m designing a Jira Service Management Cloud setup for an MSP‑style service project and I’m hitting what looks like a limitation around Issue Security + Automation. I’m hoping other JSM architects/admins can either confirm this, or share a pattern I’ve missed.
Design objective
I have a single JSM project (TITAN) that acts as a multi‑tenant “MSP” service space for many customer organisations (JSM Organisations). For some customers, I want to create a special kind of JSM agent on our side – a “customer admin” – with these properties:
They are agents in TITAN only (no access to other projects).
Within TITAN, they can only create/view/change tickets for their own customer Organisation, not for any other Organisation.
I expect to have hundreds or thousands of customer Organisations over time, so any solution that requires one rule/branch per Organisation (or one security level/automation rule per Organisation) will not scale and is likely to be brittle/error‑prone.
What I’ve implemented so far
TITAN is a company‑managed JSM project.
I have a TITAN‑specific permission scheme that limits which users can access TITAN at all.
I created a group called titan_customer_admin which has JSM agent permissions.
I created an Issue Security Scheme for TITAN, currently named:
TITAN TFY Agent Issue Security Scheme for JSM
It has these security levels:
So mechanically, this works for TFY if I create an Automation rule like:
Trigger: Work item created
Condition: Organizations = TFY
Action: Set Security level = “TFY tickets only”
Then any agent in titan_customer_admin only sees TFY tickets that have that level. That part is fine.
The problem
What I want is a single, generic automation rule that:
On work item created (or transition/field change),
Looks at the JSM Organizations field (or the requestor’s org / “raised for” org),
And then sets the Security level to the matching org‑specific level, without me having to hard‑code a condition branch for each Organisation.
In other words, conceptually something like:
…where for each Organisation I’m willing to manually maintain a matching security level:
Org: TFY → Level: TFY tickets only
Org: ACME → Level: ACME tickets only
Org: Contoso → Level: Contoso tickets only
etc.
I’m not objecting to creating org‑specific security levels; I’m objecting to having to:
Maintain hundreds/thousands of IF/ELSE branches in one Automation rule, or
Maintain hundreds/thousands of separate Automation rules (one per Organisation),
both of which are clearly unscalable and brittle.
What I’ve tried / looked at
All of these examples explicitly map some field value to a specific security level, e.g.:
“If Assignee is X, set Security level = “Level X”
“If Label contains foo, set Security level = “Foo level”
I haven’t found any example where the Security level name/ID is computed dynamically from another field (e.g. Organisations) so that a single rule can handle arbitrary future orgs without editing the rule configuration itself every time we add a new customer.
My question(s)
Is there any way in JSM Cloud Automation to set the “Security level” field dynamically from a smart value derived from Organisations, such that I don’t have to explicitly add a branch per Organisation?
e.g. Can I set Security level via a smart value like {{issue.Organizations.first.name}} or some transform thereof, assuming I pre‑create matching levels?
If not, has anyone found a pattern or workaround that:
Still uses Jira’s native Issue Security (not just queues/filters), and
Avoids per‑Organisation rule maintenance at scale for this “one project, many Organisations, per‑org customer admin agent” scenario?
If the answer is “no, you must explicitly map each Organisation to each Security level in Automation”, I’d appreciate any confirmation from others who’ve explored this at scale, or pointers to patterns where people pushed this further (e.g. via Forge, Connect apps, or external orchestration).
Thanks in advance. I’d really like to confirm whether I’ve hit the hard limit of JSM’s current model here, or whether there’s a smarter way to wire multi‑tenant agent visibility that I haven’t considered