In many organizations, Jira Service Management and Assets are used to maintain a structured inventory of:
Laptops and mobile devices
Software licenses
Contracts
Access credentials
Subscriptions
Other company-owned resources
From an IT perspective, everything is properly tracked.
From a user perspective — it’s often a black box.
End users typically do not know:
Which exact device is registered under their name
What licenses they currently hold
When something expires
Who is formally listed as the owner
This creates a gap between data availability and data transparency.
And that gap results in:
Repetitive support tickets
Manual lookups by IT
Delays in offboarding
Friction during audits
Confusion during renewals
Reduced trust in internal processes
If Assets already contains structured, reliable data —
why is it still hidden from the people it describes?
Should asset information be:
Reactive (only visible during ticket creation)?
Periodic (sent by email)?
Or continuously available as self-service?
Solving this is not just about convenience.
It’s about operational efficiency and transparency.
You need to somehow obtain a list of users (ID and email addresses).
This typically requires using the “Send web request” action to retrieve users, followed by branching and running an AQL lookup per user via API - Get users from group [ATLASSIAN API]
Then create a branch with {{webResponse.body.values}}
After that, perform a Lookup objects. Example AQL:
objectType = Laptops and Owner = {{user.accountid}}
And on a schedule, send the user a list of their assets by email, using {{user.emailAddress}}
Result:
Pros:
✔ Uses out-of-the-box automation
✔ Does not require an additional interface
Cons:
✖ Requires setting up a web request and working with API token/authorization
✖ Difficult to configure for multiple schemas. No single email with all objects.
✖ Static information
✖ No real-time updates
✖ Emails get lost
✖ No convenient filtering
This is a workable option but more of a temporary solution.
Another approach is to provide the user with a self-service view directly in the JSM portal. One way to implement this is to build a custom portal view.
We recently implemented this approach in our app Assets Gadgets for Jira Dashboards & Reporting.
In the configuration, you can define schemas, object types, and the exact attributes that should be visible to users.
Using a controlled AQL query like:
Owner = currentUser()
This makes it possible to safely display only the objects assigned to the current user.
If you use links to objects, you can also use something like
"Owner"."Atlassian Account ID" = currentUser()
Important:
The user does not get access to the entire schema
No ability to execute arbitrary AQL queries
Filtering occurs at the application level
The substitution currentUser() is used for the current user
This ensures transparency without violating the access model.
In our case, this is implemented through the JSM portal, with the addition of a "My Assets" section.
Supported:
Multiple schemas
Different AQL queries for different schemas
Selection of specific attributes for display
The goal is not to "open everything," but to reduce support load and increase transparency.
This turns Assets from an internal IT database into a transparent self-service layer.
Pros:
✔ Quick and easy setup
✔ Ability to display data from different schemas and object types
✔ No webhooks or API tokens needed
✔ Real-time updates
You can use Assets fields in the request creation form with dynamic AQL.
This is convenient if the asset is needed at the moment of ticket creation, but this approach does not provide the user with a general list of assigned objects.
Which approach to choose?
Reactive — only at the moment of request creation?
Periodic — via email?
Or constant self-service access in the portal?
I'm curious how you solve this task in your projects. Share in the comments!
Oleksii Melnyk _MOY Apps_
5 comments