Hey everyone! 👋
I recently implemented automatic manager approvals in Jira Service Management and wanted to share my experience — including the good, the bad, and the workarounds. Hopefully this helps someone, and I'd love to hear how you've solved this.
A very common scenario: a user submits a request in JSM, and their immediate manager needs to approve it. No manual selection — fully automatic.
The problem? JSM doesn't have a native "get my manager" feature. So where do you get that information?
Since our organization uses Microsoft Entra ID as the identity source of truth, I decided to use the JSM Assets - Microsoft Entra ID (Azure AD) Beta Integration to sync user data directly into Atlassian Assets.
📖 Official docs: https://support.atlassian.com/assets/docs/integrate-microsoft-entra-id-and-assets/
What it syncs well:
displayName, department, jobTitle, email among others
The Manager → Employee relationship
What it doesn't sync:
The Atlassian accountId — and this is critical if you want to use automation to set approvers
Without the accountId, automation rules can't assign the manager as an approver. So I had to solve this separately:
Created a custom attribute (accountId) in the Employee object type in Assets
Built a script to automatically fetch and populate the accountId for new users synced from Entra ID (With Scriptrunner or Automation with Org API Token, i use Scriptrunner)
Bulk-updated all existing users in a one-time regularization
This connected the Entra ID identity with the Atlassian identity inside Assets.
Once everything was linked, the automation was straightforward:
Trigger: Request created
Lookup: Find the Asset object where accountId matches the reporter
Navigate: From that object, get the linked Manager
Extract: Get the Manager's accountId
Action: Set the Approvers field
Fully automatic. Zero manual intervention.
Here's where the Entra ID Assets Connector falls short in its current beta state:
There is no automatic sync schedule. You can only trigger a sync by manually clicking a button in the admin console.
This means:
If someone gets a new manager in Entra ID → it won't update in Assets until an admin manually syncs
It creates an unnecessary dependency on the administrator
For production environments, this is a significant gap
I really hope Atlassian adds scheduled sync in a future release.
It works. Approvers are assigned automatically.
Was it plug-and-play? Definitely not. But it delivered exactly what was needed.
How are you solving manager approvals in JSM? Are you using Assets, a marketplace add-on, or something else entirely?
Have you tried the Entra ID Assets Connector? What's been your experience with it?
How do you handle the accountId gap? Did you find a cleaner solution?
Is the manual-only sync a dealbreaker for you? Or have you found a workaround?
Let's compare approaches, I'm sure there are better ways to do this and I'd love to learn from your experience! 🙌
Chiming in here to say I'm leveraging this as well from our identity provider thanks to the Reporting Line functionality. Has been very handy for handling approvals
Hey @Cristian Quiroz
I notice in your article you're using the Entra ID integration Beta. Be aware that this is something that is not being actively developed anymore.
The focus in Assets shifted towards Assets Data Manager and the Entra ID User adapter available there.
https://support.atlassian.com/assets/docs/data-manager-entra-id-user-adapter/
https://support.atlassian.com/assets/docs/connect-cleanse-reconcile-data-with-assets-data-manager/
I'd suggest you to take al ook there. The data you get is pretty much the same (including the manager) all native. A fun addition here is that you can either schedule it through the Cloud to Cloud adapter or run their adapters client locally on a scheduler to trigger these imports when you'd like to.
Same with the "Saved Search" as an import source for your Assets scheme, that can also be scheduled.
Your sync should (after first run) include a Configuration ID which can be called from a scheduled automation.
Your automation should be able to kick it off by making a send web request POST to:
https://api.atlassian.com/jsm/assets/workspace/<YOUR_WORKSPACE_ID>/v1/import/start/<CONFIGURATION_ID_FROM_SYNC>
You'll need to define two headers for the call:
Accept Application/JSON
Authorization <AUTHSTRING>
<AUTHSTRING> = Basic
followed by base64 encoded string typically user:token
Just beware that this will not work with the old Entra ID Beta integration.
The type of the import seems not to be supported. (but then again, just switch to ADM)