---
title: Jira Service Management API Integration on Truto
slug: jiraservicemanagement
category: Ticketing
canonical: "https://truto.one/integrations/detail/jiraservicemanagement/"
---

# Jira Service Management API Integration on Truto



**Category:** Ticketing  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Activities** — Activities are the actions performed by users in the source application.
- **Groups** — Groups are a collection of users in the source application. In some applications, they might also be called Teams.
- **Licenses** — Licenses represent concepts like user seats in apps that support them
- **Roles** — The Role object represents a role of a User.
- **Users** — The User object represents a User.

### Unified Ticketing API

- **Attachments** — Attachments are the files associated with a ticket or a comment.
- **Collections** — Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.
- **Comments** — Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
- **Contacts** — Contact represent the external people you are in contact with. These could be customers, leads, etc. Contacts can be associated with an Account if the underlying product supports it.
- **Fields** — Fields represent the attributes defined for various entities in the underlying product. Depending on the underlying product, custom attributes can be defined by a User on various entities like Ticket, Contact, etc. is_user_defined attribute within Field can be used to differentiate between custom and system defined Fields.
- **Teams** — Teams represent the grouping system used for Users. These are usually called groups, teams, agent groups, etc. in the underlying products. A User can belong to one or more Teams.
- **Ticket Status** — Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.
- **Ticket Types** — Ticket Types represent the classification system used by the underlying products for Tickets. Some examples are bugs, feature, incident, etc.
- **Tickets** — Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
- **Users** — Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
- **Workspaces** — Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.

## MCP-ready AI tools

Truto exposes 30 tools for Jira Service Management that AI agents can call directly.

- **list_all_jiraservicemanagement_me** — Retrieves Jira Service Management instance details like version, build, and links
- **list_all_jiraservicemanagement_accessible_resources** — Get list of accessible resources in Jira Service Management. Returns id, name, url, scopes, and avatarUrl for each resource.
- **list_all_jiraservicemanagement_service_desks** — Get all service desks in Jira Service Management. Returns id, projectId, projectName, and projectKey for each service desk.
- **get_single_jiraservicemanagement_service_desk_by_id** — Get service desk details by id in Jira Service Management. Returns id, projectId, projectName, projectKey, and self link.
- **list_all_jiraservicemanagement_queues** — Get queues for a service desk in Jira Service Management using service_desk_id. Returns id, name, jql, fields, and issueCount (customer request count) for each queue.
- **get_single_jiraservicemanagement_queue_by_id** — Get a specific queue by serviceDeskId and id in Jira Service Management. Returns fields id, name, jql, fields, issueCount, and _links.self.
- **list_all_jiraservicemanagement_users** — Get all users in Jira Service Management. Returns a list of users including active, inactive, and deleted Atlassian accounts with fields accountId, accountType, active status, avatarUrls, displayName, and self URL.
- **get_single_jiraservicemanagement_user_by_id** — Get user details by account_id in Jira Service Management. Returns accountId, accountType, active status, applicationRoles, avatarUrls, displayName, emailAddress, groups, self link, and timeZone. Privacy controls apply.
- **list_all_jiraservicemanagement_issue_attachments** — Get issue attachments by issue id in Jira Service Management. Returns attachment details including id, filename, author, created date, size, mimeType, content URL, and thumbnail URL.
- **get_single_jiraservicemanagement_issue_attachment_by_id** — Get metadata for an issue attachment by id in Jira Service Management. Returns author details, filename, mimeType, size, created date, content URL, and thumbnail URL.
- **jiraservicemanagement_issue_attachments_download** — Use this endpoint to download a specific file or attachment from the given file path or URL reference provided by the API.
- **list_all_jiraservicemanagement_issue_createmeta** — Get create issue metadata including projects and issue types with fields for each issue type in Jira Service Management. Returns projects with id, key, name, avatarUrls, and issue types with id, name, description, iconUrl, and fields.
- **list_all_jiraservicemanagement_search_issues** — Search issues using JQL in Jira Service Management. Requires jql parameter. Returns issues array with fields like id, key, fields (including status, project, description, comments, attachments).
- **get_single_jiraservicemanagement_issue_by_id** — Get details for a specific issue by id in Jira Service Management. Returns fields like watcher status, attachments, sub-tasks, description, project info, comments, issue links, worklogs, and timetracking.
- **list_all_jiraservicemanagement_queue_issues** — Get issues in queue with service_desk_id and queue_id in Jira Service Management. Returns fields configured in the queue such as summary, issuetype, duedate, created, reporter, id, and key.
- **list_all_jiraservicemanagement_issue_comments** — Get all comments for an issue in Jira Service Management by issueIdOrKey. Returns comment id, author, body, created and updated timestamps, and visibility details.
- **get_single_jiraservicemanagement_issue_comment_by_id** — Get comment for issue with issue_id_or_key and id in Jira Service Management. Returns author, body, created, id, updateAuthor, updated, and visibility fields.
- **list_all_jiraservicemanagement_field_metadata** — Get create field metadata for a project and issueTypeId in Jira Service Management. Returns fields with fieldId, name, required status, and operations for creating issues.
- **list_all_jiraservicemanagement_issue_type_createmeta** — Get create metadata issue types for a project in Jira Service Management using projectIdOrKey. Returns issueTypes array with id, name, description, iconUrl, self, and subtask fields.
- **list_all_jiraservicemanagement_organizations** — Get a list of organizations in Jira Service Management. Returns organization id, name, and scimManaged status. Use accountId to filter organizations for a specific user.
- **get_single_jiraservicemanagement_organization_by_id** — Get organization details by id in Jira Service Management. Returns id, name, scimManaged fields. Customers can only retrieve organizations they are members of.
- **list_all_jiraservicemanagement_organization_users** — Get users in organization using organization_id. Returns accountId, emailAddress, displayName, active status, and timeZone for each user in Jira Service Management.
- **list_all_jiraservicemanagement_customers** — Get a list of customers for a service desk in Jira Service Management using service_desk_id. Returns accountId, name, emailAddress, displayName, active status, and timeZone for each customer.
- **list_all_jiraservicemanagement_projects** — Get a paginated list of projects visible to the user in Jira Service Management. Returns fields including id, key, name, projectCategory, and insight with totalIssueCount and lastIssueUpdateTime.
- **get_single_jiraservicemanagement_project_by_id** — Get project details for project with id in Jira Service Management. Returns fields including assigneeType, avatarUrls, components, description, email, id, insight, issueTypes, key, lead, name, projectCategory, properties, roles, self, simplified, style, url, and versions.
- **list_all_jiraservicemanagement_organization_issues** — Get customer requests filtered by searchTerm, requestOwnership, requestStatus, approvalStatus, organizationId, serviceDeskId, and requestTypeId in Jira Service Management. Returns issueId, issueKey, summary, createdDate, reporter, requestFieldValues, and currentStatus.
- **list_all_jiraservicemanagement_project_statuses** — Get all statuses for project using project_id_or_key in Jira Service Management. Returns statuses grouped by issue type including id, name, description, and iconUrl fields.
- **list_all_jiraservicemanagement_statuses** — Get a paginated list of statuses filtered by searchString and statusCategory in Jira Service Management. Returns id, name, description, statusCategory, scope, usages, and workflowUsages for each status.
- **list_all_jiraservicemanagement_roles** — Use this endpoint to retrieve a list of all global project roles available in your Jira instance.
- **get_single_jiraservicemanagement_role_by_id** — Use this endpoint to fetch detailed information about a specific project role by its ID.



## How it works

1. **Link your customer's Jira Service Management account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Jira Service Management.** The Proxy API is a 1-to-1 mapping of the Jira Service Management API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate incident creation from monitoring and security tools** — SaaS companies in observability, CSPM, or cybersecurity can automatically create JSM incident tickets when anomalies or vulnerabilities are detected, attach relevant logs, and track resolution status — giving their users a seamless alert-to-remediation pipeline without leaving their platform.
- **Bridge customer support escalations to engineering teams** — Helpdesk and CRM platforms can offer a native JSM integration that lets support agents escalate Tier 3 issues directly into a customer's Jira Service Management project, with bi-directional comment and status sync so agents stay informed without context-switching.
- **Trigger IT provisioning workflows from HR and identity platforms** — HRIS, IAM, and onboarding tools can automatically create JSM service requests — like laptop provisioning or access grants — when employees are hired or request resources, then poll for approval status and close the loop by confirming provisioning back in JSM.
- **Sync product feedback and feature requests into engineering backlogs** — Customer success and product analytics platforms can let their users push feature requests or bug reports into JSM projects with the correct issue types and custom fields, then track status changes and engineering comments back to keep customer-facing teams in the loop.
- **Surface ITSM queue and ticket data inside operational dashboards** — Analytics, BI, and internal tooling platforms can pull JSM service desk queues, ticket statuses, organizations, and SLA-relevant data to give operations leaders a unified view of IT service health without requiring direct Jira access.

## What you can build

- **Two-way ticket and comment sync** — Create, read, and update JSM tickets and comments from your product, keeping both systems in sync with bi-directional status and conversation mirroring using the Unified Ticketing API.
- **Dynamic ticket creation with custom field discovery** — Fetch each customer's specific JSM projects, issue types, and required custom fields at runtime using createmeta and field metadata endpoints, so your ticket creation forms always match their Jira configuration.
- **Queue-aware issue routing dashboard** — Let your users browse their JSM service desks and queues, then list and act on issues within specific queues — replicating the agent experience inside your own product.
- **Organization and customer mapping for multi-tenant SLA tracking** — Pull JSM organizations and customers to map incoming alerts or tickets to the correct end-client, enabling accurate SLA enforcement and data segregation within your platform.
- **Attachment sync with file download** — Push and pull issue attachments — including downloading files — so that logs, screenshots, and evidence travel between your product and JSM without manual re-uploads.
- **JQL-powered ticket polling and smart filters** — Use JQL-based search via the search issues endpoint to poll for tickets matching complex criteria like status, assignee, or label, enabling webhook-free near-real-time sync workflows.

## FAQs

### What authentication method does the Jira Service Management integration use?

The integration uses Atlassian's OAuth 2.0 (3LO) flow. Your end users authorize access to their Atlassian account, and Truto handles token refresh and secure credential storage. After auth, accessible Atlassian sites are resolved via the accessible_resources endpoint.

### How does Truto handle Jira's highly customized fields and issue types?

Truto exposes the createmeta and field_metadata endpoints, which let you dynamically discover the required and optional fields for each project and issue type in a customer's JSM instance. This ensures your integration adapts to any Jira configuration without hardcoding schemas.

### Can I query tickets using JQL through Truto?

Yes. The list_all_jiraservicemanagement_search_issues tool supports JQL queries, letting you filter issues by status, assignee, project, labels, date ranges, and any other JQL-compatible criteria. This is the most flexible way to retrieve tickets from JSM.

### How does pagination work for large JSM datasets?

Truto automatically handles Jira's offset-based pagination across all list endpoints — including search results, queue issues, comments, and attachments — so you receive complete result sets without writing pagination logic yourself.

### What Unified API models map to Jira Service Management resources?

JSM is covered by both the Unified Ticketing API (mapping issues to Tickets, service desks to Workspaces, queues to Collections, comments to Comments, attachments to Attachments, organizations to Teams, customers to Contacts, statuses and issue types to Ticket Status and Ticket Types, and fields to Fields) and the Unified User Directory API (mapping users and roles).

### Does the integration support multi-site Atlassian accounts?

Yes. After OAuth, Truto calls the accessible_resources endpoint to enumerate all Atlassian Cloud sites the user has access to. Your application can then target the correct site, which is essential for customers with multiple Jira instances under one Atlassian account.
