JSM service desk
Jira Service Management (JSM) is Jira's help-desk layer, built on top of ordinary Jira issues.
Customers submit requests through a portal (the customer-facing view) into a service
desk (the underlying project); agents then work those requests using queues, SLAs
(service level agreements — time-bound targets like "respond within 4 hours"), and optional
approvals. This page covers the agent's JSM tools: requests, comments and participants,
approvals and SLAs, portals and service desks, request types, organizations, and queues.
Example prompts
- "What service desks do I have access to?"
- "File an IT support request: my laptop won't boot, black screen on power-on."
- "What's the status of ITS-42?"
- "What request types are available on the IT Help desk?"
- "Add an internal note to ITS-42 saying we're waiting on a replacement part."
- "Add a public comment to ITS-42 telling the customer their part shipped."
- "What SLA does ITS-42 have, and is it at risk of breaching?"
- "Add jane.doe as a participant on ITS-42."
- "Approve the pending change request on ITS-55."
- "List my open requests."
- "What organizations are linked to the IT Help desk?"
- "Show me the queues on the IT Help desk and what's in the 'Unassigned' queue."
- "Create a new organization called Acme Corp and add three users to it."
- "What fields are required to raise a 'New laptop' request?"
- "Move ITS-42 to the next customer-facing status."
What's available
Requests
| Tool |
What it does |
jsm_create_request |
Create a new JSM customer request. |
jsm_get_request |
Get a JSM customer request by issue ID or key. |
jsm_list_my_requests |
List customer requests visible to the acting user. |
jsm_get_request_status |
Get the customer-facing status history of a request. |
jsm_get_request_transitions |
List customer-facing workflow transitions available on a request. |
jsm_perform_customer_transition |
Perform a customer-facing workflow transition on a request. |
| Tool |
What it does |
jsm_add_comment |
Add a comment to a request; public by default, set internal explicitly. |
jsm_get_request_comment |
Get a single comment on a request by comment ID. |
jsm_get_request_comments |
List comments on a request. |
jsm_get_request_participants |
List participants on a request. |
jsm_add_request_participants |
Add participants (by username) to a request. |
jsm_remove_request_participants |
Remove participants (by username) from a request. Requires confirmation. |
jsm_attach_temporary_file |
Upload one or more files as temporary attachments on a service desk. |
jsm_add_request_attachment |
Attach previously-uploaded temporary files to a request, with an optional comment. |
Approvals & SLAs
| Tool |
What it does |
jsm_get_request_approvals |
List approvals on a request (e.g. change/service request approvals). |
jsm_get_request_approval |
Get a single approval on a request by ID. |
jsm_get_request_approval_config |
Get the comment-requirement configuration for an approval. |
jsm_answer_approval |
Answer a pending approval on a request (approve or decline). |
jsm_get_request_sla |
List SLA metrics tracked on a request (e.g. time to resolution). |
jsm_get_request_sla_by_id |
Get a single SLA metric's detail (breach/pause state, completed cycles). |
Portals & service desks
| Tool |
What it does |
jsm_get_info |
Get runtime info about the JSM instance (version, build date, license status). |
jsm_list_service_desks |
List service desk projects visible to the acting user. |
jsm_get_service_desk |
Get a single service desk (service project) by ID. |
jsm_list_portals |
List customer portals — the customer-facing view of a service desk. |
jsm_get_portal |
Get a single customer portal by ID. |
jsm_get_portal_by_project_key |
Get a single customer portal by its underlying project key. |
jsm_create_customer |
Create a JSM customer account not yet associated with any service project. |
jsm_add_service_desk_customers |
Add existing customers (by username/email) to a service desk. |
Request types
| Tool |
What it does |
jsm_list_request_types |
List request types available on a service desk. |
jsm_get_request_type |
Get a single request type by ID. |
jsm_get_request_type_fields |
Get the field definitions (including which are required) for a request type. |
jsm_create_request_type |
Create a request type on a service desk from an existing issue type. |
jsm_update_request_type |
Update a request type's name, description, or help text. |
jsm_delete_request_type |
Delete a request type from a service desk. Requires confirmation. |
jsm_get_request_type_groups |
Get the request type groups configured on a service desk. [Requires admin access] |
jsm_get_request_type_permissions |
Get the permission rules for who can raise a request type. |
jsm_upsert_request_type_permissions |
Fully overwrite the customer permissions for a request type. |
Organizations
| Tool |
What it does |
jsm_list_organizations |
List JSM organizations (customer groupings) visible to the acting user. |
jsm_get_organization |
Get a single JSM organization by ID. |
jsm_create_organization |
Create a new JSM organization. |
jsm_delete_organization |
Delete a JSM organization. Requires confirmation. |
jsm_get_organization_users |
List users belonging to a JSM organization. |
jsm_add_organization_users |
Add users (by username) to a JSM organization. |
jsm_remove_organization_users |
Remove users (by username) from a JSM organization. Requires confirmation. |
jsm_get_service_desk_organizations |
List organizations linked to a service desk. |
jsm_add_service_desk_organization |
Link an organization to a service desk. |
jsm_remove_service_desk_organization |
Unlink an organization from a service desk. Requires confirmation. |
jsm_get_organization_cleanup_preview |
Preview which organizations a cleanup would remove, without deleting anything. |
jsm_cleanup_organizations |
Bulk-delete every organization the instance considers inactive. |
Queues
| Tool |
What it does |
jsm_list_queues |
List queues on a service desk (agent-facing groupings of requests). |
jsm_get_queue |
Get a single queue by ID, including its JQL definition. |
jsm_get_queue_issues |
Get the issues currently in a queue. |
jsm_create_queue |
Create a new queue on a service desk from a name and a JQL definition. |
jsm_update_queue |
Update a queue's name, JQL, or displayed fields. |
jsm_delete_queue |
Delete a queue from a service desk. Requires confirmation. |
jsm_reorder_queues |
Reorder a service desk's queues in the desired display order. |
jsm_get_queue_settings |
Get queue-count display settings for a project's service desk. |
jsm_set_project_queue_include_count |
Set whether a project's service desk queues include an issue count. |
jsm_set_project_queue_cache_count |
Set whether a project's service desk queues use a cached issue count. |
jsm_set_queue_include_count_global |
Set instance-wide whether JSM queues include an issue count at all. |
jsm_set_queue_cache_count_global |
Set instance-wide whether JSM queues use a cached issue count. |
Things to know
- Comments are public by default.
jsm_add_comment posts a comment the customer can see
unless you explicitly ask for an "internal" or "agent-only" note. This is easy to get wrong —
always be specific when you want a note kept off the customer's view.
- A "request" is JSM's own object type (
CustomerRequestDTO) — it has a status and a reporter
like a regular issue, but its fields come back as a list of {fieldId, value} pairs rather than
fixed properties, which the agent normalizes for you before showing it.
- Creating a request needs a
serviceDeskId and requestTypeId. If you don't know them, ask the
agent to list service desks and request types first — jsm_list_service_desks and
jsm_list_request_types will do that.
jsm_get_request_type_groups only works if the server has an admin token configured; it's the
one tool on this page that's unavailable otherwise.
- Several tools that remove or delete things (participants, organizations, organization users,
request types, queues, service desk/organization links) require explicit confirmation before
they run — the agent will check with you first.
See docs/api-catalog.md for the complete technical reference (every field,
every parameter). For errors, see Troubleshooting.