Ellipse Gradient for Header
Jira Service Management logo

Jira Service Management Integration Guide

Connect Jira Service Management service requests, issues, comments, attachments, and events with enterprise applications through REST APIs, webhooks, and scheduled workflows.

Jira Service Management integration options at a glance

Jira Service Management provides REST APIs for service requests, issues, service projects, customers, organizations, comments, queues, request types, SLAs, and attachments. Jira Cloud also supports configurable webhooks for selected issue and comment events, while bulk and asynchronous operations are available for selected issue activities. OAuth 2.0 and API-token-based Basic Authentication support delegated and server-to-server access. Martini can consume these APIs, receive supported webhook notifications, orchestrate scheduled reconciliation, paginate through results, map Jira JSON payloads, and expose normalized APIs for downstream applications.

Integration pointSupported by Jira Service Management?Common use casesHow Martini supports it
REST APIsYesCreate and retrieve service requests, search and update issues, add public comments or internal notes, transition requests, retrieve request types, queues, customers, organizations, and SLA information.Martini can consume Jira Service Management and Jira platform REST APIs, generate reusable API-oriented integration assets, map JSON responses, and orchestrate calls in workflows.
Webhooks / outbound callbacksLimitedReceive selected Jira events such as issue creation and updates, comments, worklogs, and other configured platform events. Coverage does not guarantee notification for every JSM-specific state change.Martini can expose an endpoint or consume webhook input through a workflow, validate and normalize the event, retrieve the current Jira resource, and combine event processing with scheduled reconciliation.
Bulk / async / batch APIsLimitedProcess multiple Jira issues or selected issue-related activities while reducing individual API calls. Individual JSM REST operations remain necessary for many service-management actions.Martini can invoke supported bulk operations, track asynchronous responses where applicable, and fall back to controlled individual requests with retry and checkpoint logic.
File / attachment APIsYesRetrieve attachment metadata, download files, and upload attachments to Jira issues subject to permissions, headers, file-size limits, and content policies.Martini can separate attachment metadata from content processing, transfer files between APIs or storage systems, validate content, and correlate attachments with the originating issue.
AuthenticationYesUse OAuth 2.0 for delegated authorization or API-token-based Basic Authentication for controlled server-to-server access. Effective access also depends on scopes and Jira permissions.Martini can store tokens and credentials in secrets or environment configuration and apply the selected authentication method to outbound API requests.
Scheduled synchronizationYesUse JQL searches, updated timestamps, issue IDs, and checkpoints for incremental synchronization and reconciliation when webhook coverage is incomplete or events are missed.Martini can schedule workflows, paginate through results, persist checkpoints, apply idempotent upserts, and replay failed work without creating duplicate requests.
SDKs and client librariesLimitedAtlassian tooling and community or language-specific libraries can support development, but direct REST calls are generally more controllable for tracing, retries, pagination, and API-version management.Martini does not require an Atlassian SDK; it can consume the documented REST endpoints directly and add custom logic where project-specific behavior requires it.
Database accessNoDirect database access is not an appropriate or supported integration pattern for Jira Cloud tenant data.Martini should use Jira REST APIs, webhooks, and supported Atlassian services rather than attempting direct database connectivity.

How Jira Service Management exposes data and business events

Jira Service Management REST APIs

Jira Service Management exposes REST resources for service requests, service desks, customers, organizations, queues, request types, SLA information, and related operations. Jira platform REST APIs extend this model with issues, comments, transitions, users, projects, and attachments.

Martini implementation pattern

Martini implementation pattern: A workflow authenticates to the relevant Jira Cloud API, retrieves or submits the required resource, validates the response, maps Jira JSON to a canonical model, and writes the result to the target application. Project-specific request types, fields, permissions, and transitions remain configurable.

Implementation sequence

Authenticate with OAuth 2.0 or API-token-based Basic Authentication
Receive an API request or start a scheduled workflow
Call the relevant JSM or Jira platform REST endpoint
Follow pagination and retrieve related resources
Map Jira JSON into the target application model
Apply validation, routing, and transition rules

Jira Cloud Webhooks

Jira Cloud supports configurable webhooks for selected events, including issue creation and updates, comments, worklogs, and other platform events. Webhook coverage is event-specific and does not represent every JSM-specific state change.

Martini implementation pattern

Martini implementation pattern: Martini receives the webhook notification through an endpoint or workflow trigger, validates the event, retrieves the current Jira resource rather than relying only on the notification payload, and processes the change idempotently. A scheduled reconciliation workflow covers missed or unsupported events.

Implementation sequence

Receive the selected Jira webhook notification
Validate the event and capture its issue key or identifier
Retrieve the current issue or service request through REST
Map the event into a canonical change model
Apply routing and duplicate-prevention rules
Acknowledge successful processing and retain a reconciliation checkpoint

Bulk and asynchronous operations

Jira Cloud provides bulk and asynchronous operations for selected issue-related activities. These operations can reduce individual calls but do not replace the full JSM REST API for service-management workflows.

Martini implementation pattern

Martini implementation pattern: A workflow groups eligible issue actions, invokes a supported bulk or asynchronous endpoint, records the operation identifier where applicable, and polls or processes the result. Unsupported or failed actions are routed to controlled individual requests or a retry queue.

Implementation sequence

Collect eligible issue actions in a bounded batch
Validate permissions and required fields
Invoke the supported bulk or asynchronous operation
Track the operation response or completion state
Process successful and failed items separately
Retry transient failures without duplicating completed actions

Jira Attachment APIs

Jira issue attachment endpoints support attachment metadata and file operations subject to project permissions, issue permissions, request headers, size limits, and content policies.

Martini implementation pattern

Martini implementation pattern: Martini retrieves attachment metadata, authenticates file access, transfers content through a workflow, and links the target file to the corresponding issue or service request. File validation, duplicate detection, and security scanning rules can be applied before delivery.

Implementation sequence

Retrieve attachment metadata for the Jira issue
Authenticate and download the permitted file content
Validate filename, content type, and size
Map the file to the target system object
Upload or store the attachment
Record the source attachment ID and transfer result

Scheduled JQL reconciliation

Jira integrations can use JQL searches, updated timestamps, issue keys or IDs, and checkpoints for incremental synchronization. Scheduled reconciliation is important because webhook coverage is selected and event delivery can overlap or be missed.

Martini implementation pattern

Martini implementation pattern: A scheduled workflow queries Jira for changes after a stored checkpoint, paginates through results, retrieves related JSM data, and performs idempotent upserts. The workflow advances the checkpoint only after the relevant target writes succeed.

Implementation sequence

Start the scheduled reconciliation workflow
Read the last successful timestamp or issue checkpoint
Search Jira with a bounded JQL query
Process every paginated result
Upsert the target object using stable correlation keys
Persist the checkpoint after successful processing

Common Jira Service Management integration patterns

Pattern 1: Synchronize service requests with Salesforce cases

When to use this pattern

Use this pattern when customer-support teams need Salesforce case context and Jira Service Management service-request processing to remain aligned. The flow can begin with a JSM event or Salesforce case change and should define which system owns customer, status, and resolution fields.

Integration direction
Jira Service Management
Martini
Salesforce
Example Mapping
Jira Service Management FieldCanonical FieldTarget Field
issue.keysourceRequestIdJira_Request_Key__c
requestType.namerequestCategoryCase_Type__c
priority.namepriorityPriority
reporter.emailAddresscustomerEmailContactEmail__c
Martini implementation pattern

Martini receives selected Jira events or polls for updated service requests, retrieves the complete request and customer context, maps the payload to a Salesforce Case, and stores both identifiers. For reverse updates, it validates the Salesforce change, applies an explicit status and comment mapping, and calls the appropriate JSM operation. Correlation keys, loop-prevention rules, retries, and a reconciliation workflow handle duplicates and missed events.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • scheduled synchronization
  • error handling

Pattern 2: Route high-priority incidents to Slack and Microsoft Teams

When to use this pattern

Use this pattern when support, engineering, or leadership teams need focused notifications for incidents and escalations without receiving every JSM change. Routing should consider service project, priority, component, status, and assignment.

Integration direction
Jira Service Management
Martini
Slack and Microsoft Teams
Example Mapping
Jira Service Management FieldCanonical FieldTarget Field
issue.keyincidentIdMessage title
priority.nameseverityNotification severity
summaryincidentSummaryMessage body
assignee.displayNameownerMessage owner
Martini implementation pattern

Martini receives a selected Jira webhook or discovers changes through scheduled polling, retrieves the current issue, evaluates notification rules, and posts a normalized message through the destination HTTP API. The workflow records the last notified event and suppresses duplicate notifications while retrying transient destination or Atlassian failures.

Martini capabilities used
  • webhook consumption
  • workflows
  • conditional routing
  • data transformation
  • API consumption
  • retry handling

Pattern 3: Coordinate incidents and changes with ServiceNow

When to use this pattern

Use this pattern when different teams operate JSM and ServiceNow or when an organization is migrating between ITSM platforms. The design must assign ownership by object and avoid assuming that Jira status names or transition IDs are universal.

Integration direction
Jira Service Management
Martini
ServiceNow
Example Mapping
Jira Service Management FieldCanonical FieldTarget Field
issue.keyexternalTicketIdCorrelation ID
issue.issueType.nameworkItemTypeRecord type
status.namelifecycleStateState
comment.bodyconversationEntryAdditional comments
Martini implementation pattern

Martini orchestrates bidirectional API calls, translates incidents, changes, approvals, comments, priorities, and state transitions, and applies system-of-record rules before writing each side. Project-specific Jira transition mappings are retrieved or configured, and permission, validation, rate-limit, and duplicate errors are separated for retry or operational review.

Martini capabilities used
  • workflow orchestration
  • API consumption
  • data mapping
  • business rules
  • correlation management
  • error handling

Pattern 4: Reconcile JSM issues on a schedule

When to use this pattern

Use this pattern when webhook coverage is incomplete, event delivery is not sufficient for audit requirements, or a downstream database and application require reliable incremental synchronization.

Integration direction
Jira Service Management
Martini
Database
Example Mapping
Jira Service Management FieldCanonical FieldTarget Field
idsourceObjectIdjira_issue_id
updatedlastChangedAtupdated_at
project.keyserviceProjectKeyservice_project
status.namelifecycleStatestatus
Martini implementation pattern

A scheduled Martini workflow runs a bounded JQL search using a stored timestamp or issue checkpoint, follows pagination, retrieves required request-specific data, and upserts the target database. It advances the checkpoint only after successful writes, uses stable Jira IDs for idempotency, and records failed items for replay.

Martini capabilities used
  • scheduler triggers
  • workflows
  • REST API consumption
  • pagination logic
  • data mapping
  • idempotent processing
  • monitoring

Applications commonly integrated with Jira Service Management

Jira Service Management can be connected with customer-support, collaboration, incident-response, knowledge, and development applications. Martini can coordinate these flows through REST APIs, selected Jira webhook events, scheduled reconciliation, field mapping, business rules, and durable error handling.

Application Scenario Direction Martini Pattern
Salesforce Synchronize customer cases, account context, contacts, and support interactions with Jira Service Management service requests. Salesforce → Martini → Jira Service Management Use Salesforce API events or polling and Jira REST APIs to create or update service requests. Store the Salesforce case ID and Jira issue or request ID as correlation keys, then synchronize status, comments, and resolution fields with idempotent upserts.
ServiceNow Coordinate incidents, changes, approvals, and service operations across two ITSM platforms during migrations, mergers, or shared-operating-model scenarios. ServiceNow → Martini → Jira Service Management Map incidents, changes, comments, priorities, and state transitions between the systems. Apply system-of-record rules per object, retrieve project-specific Jira transitions, and route validation, permission, and rate-limit failures for retry or review.
Slack Notify support and engineering teams about incidents, escalations, assignments, and status changes without requiring every stakeholder to use the JSM interface. Jira Service Management → Martini → Slack Receive selected Jira webhook events or poll for changes, retrieve the current issue through the REST API, filter by project and priority, and publish a normalized notification through Slack's HTTP API. Deduplicate events using the Jira issue key and update timestamp.
Microsoft Teams Distribute incident and request notifications to Teams channels and support operational collaboration. Jira Service Management → Martini → Microsoft Teams Use a Martini workflow to receive or retrieve JSM changes, apply routing rules by service project, priority, or status, and send structured messages to Teams. Optional action handling can call back into Jira REST APIs after validating permissions and transitions.
PagerDuty Escalate high-priority JSM incidents to on-call responders and return acknowledgment or resolution state to the service request. Jira Service Management → Martini → PagerDuty Trigger on selected Jira events or a scheduled priority search, create or update the PagerDuty incident, persist the cross-system identifier, and write acknowledgment or resolution details back to the Jira issue while preventing duplicate incident creation.
Opsgenie Connect JSM incidents with alerting, on-call schedules, and escalation policies in an Atlassian-aligned operational environment. Jira Service Management → Martini → Opsgenie Route qualifying JSM incidents to Opsgenie through its API, correlate the alert and Jira issue identifiers, and synchronize acknowledgment and resolution updates. Verify product-specific payloads and permissions before production deployment.
Confluence Link service requests and incidents to knowledge articles, runbooks, and post-incident documentation. Jira Service Management → Martini → Confluence Extract request, incident, and project context from JSM, resolve approved Confluence pages or knowledge references, and write links or documentation metadata back to the issue. Use business rules to restrict sensitive incident content.
Jira Software Coordinate JSM incidents and service requests with engineering bugs, tasks, and development work. Jira Service Management → Martini → Jira Software Classify JSM issues that require engineering work, create or update linked Jira Software issues, and synchronize selected status, priority, comments, and resolution fields. Correlation keys and transition maps prevent loops and duplicate work items.

How to build a Jira Service Management integration in Martini

Objective

Establish secure access to Jira Service Management and the required target systems.

Instructions in Martini

  • Choose OAuth 2.0 for delegated authorization or API-token-based Basic Authentication for a controlled service account.
  • Store tokens, credentials, site URLs, and environment-specific settings in Martini secrets or secure configuration.
  • Confirm Jira scopes, project access, service-project roles, and permissions for requests, comments, transitions, customers, and attachments.

Objective

Select an event-driven, API-led, or scheduled entry point based on the required completeness and latency.

Instructions in Martini

  • Receive selected Jira webhook events through a Martini endpoint or workflow trigger.
  • Use a scheduled workflow with JQL and updated timestamps when webhook coverage is incomplete.
  • Define a reconciliation interval and checkpoint strategy for missed or delayed events.

Objective

Obtain the complete Jira object needed for reliable processing rather than depending only on a notification payload.

Instructions in Martini

  • Call the relevant JSM or Jira platform REST endpoint for the issue, service request, comments, fields, or attachments.
  • Follow pagination for searches, customers, comments, and other paginated resources.
  • Retrieve request-type and transition metadata when project-specific configuration affects the operation.

Objective

Coordinate the end-to-end workflow across Jira Service Management and the target application.

Instructions in Martini

  • Route the workflow by service project, request type, issue type, priority, status, or event type.
  • Persist Jira issue IDs, keys, request IDs, external IDs, and checkpoints for correlation.
  • Separate synchronous updates from asynchronous or queued work when rate limits or file processing require controlled throughput.

Objective

Transform Jira's issue-oriented and service-specific model into the canonical target model.

Instructions in Martini

  • Map request type, issue type, status, priority, reporter, customer, organization, SLA, comments, custom fields, and attachments explicitly.
  • Preserve the distinction between public comments and internal notes.
  • Normalize timestamps, identifiers, enumerations, and missing values before writing to the target.

Objective

Enforce business ownership, validation, visibility, and duplicate-prevention rules.

Instructions in Martini

  • Validate required fields against the selected service project and request type.
  • Use stable correlation keys and upsert logic to prevent duplicate cases, incidents, or notifications.
  • Apply system-of-record and transition rules instead of assuming that all Jira projects share the same workflow.

Common Jira Service Management data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
Service requestsCustomer-facing requests submitted through a portal, email channel, API, or configured channel.Salesforce, ServiceNow, Slack, Microsoft Teams, reporting databasesMartini retrieves or receives request changes, maps request type, customer, status, priority, comments, and identifiers, and performs idempotent create or update operations.
IssuesJira work items underlying incidents, service requests, problems, changes, and other work types.ServiceNow, Jira Software, PagerDuty, Opsgenie, data warehousesMartini uses issue IDs and keys for correlation, retrieves current fields through REST APIs, applies transition and routing rules, and stores checkpoints.
Request typesDefinitions controlling customer-facing forms, issue types, fields, workflows, and portal presentation.Service catalogs, intake applications, integration configuration storesMartini can retrieve request-type metadata to validate payloads and select the correct field and transition mapping per service project.
CustomersIndividuals or portal users who submit or participate in service requests.Salesforce, identity platforms, customer directoriesMartini maps customer identifiers and contact attributes, respects visibility rules, and avoids treating customer access as equivalent to agent access.
CommentsPublic replies or internal notes associated with a service request or issue.Salesforce, ServiceNow, Slack, Microsoft TeamsMartini preserves the distinction between customer-visible comments and internal notes and routes each type according to target-system visibility rules.
AttachmentsFiles associated with issues or service requests, such as screenshots, logs, and evidence.File stores, case-management systems, collaboration platformsMartini transfers metadata and content separately, applies file-size and content rules, detects duplicates, and maintains issue correlation.

Authentication and security considerations

Authentication options

Jira Cloud supports OAuth 2.0 for delegated authorization and API-token-based Basic Authentication for controlled server-to-server integrations. Martini can apply the selected method when consuming Jira APIs.

Permissions and scopes

Authentication does not guarantee access to every service request. OAuth scopes, Jira project permissions, service-project roles, issue security, customer visibility, and agent access all affect the result.

Secret handling

  • Store API tokens, OAuth configuration, and site-specific credentials in Martini secrets or secure environment configuration.
  • Limit service accounts to the projects and operations required by the integration.
  • Do not expose tokens in workflow payloads, logs, or error messages.

Operational considerations for Jira Service Management integrations

Rate limits and pagination

Atlassian may return HTTP 429 responses, and Jira REST resources are commonly paginated. Use bounded concurrency, response metadata, Retry-After when supplied, exponential backoff, and maximum retry counts.

Idempotency and reconciliation

Webhook retries and scheduled searches can overlap. Store Jira IDs, issue keys, request IDs, external identifiers, and checkpoints, and use upsert logic. Combine selected webhooks with periodic JQL-based reconciliation.

Project-specific workflows

Request types, required fields, statuses, and transition IDs can differ between service projects. Retrieve or configure mappings per project instead of hard-coding a universal transition model.

Attachments and schema changes

Handle attachment metadata and content separately, enforce file-size and content policies, and detect duplicate files. Keep mappings configurable to accommodate Atlassian API changes, permissions, deprecations, and new required fields.

Testing and monitoring

Test public comments, internal notes, permissions, transitions, pagination, rate limits, and duplicate delivery in a representative project. Log the site, project, issue key, endpoint, response status, and correlation ID without exposing credentials or sensitive customer data.

Why use Martini instead of scripts or point-to-point integrations?

Orchestrate more than an API call

Point-to-point scripts often combine authentication, pagination, mapping, retry logic, and business rules in code that is difficult to govern. Martini provides workflows for coordinating Jira Service Management with applications, databases, files, and messaging systems.

Centralize transformation and policy

Martini can map Jira's issue-oriented model into canonical models, preserve public-versus-internal comment semantics, apply project-specific transition rules, and expose controlled APIs for downstream consumers.

Improve reliability and maintainability

  • Use webhook-triggered and scheduled workflows together for responsive processing and reconciliation.
  • Apply reusable authentication, error handling, checkpoints, correlation, and retry patterns.
  • Keep vendor-specific endpoint details and field mappings configurable as Jira projects and APIs evolve.

Frequently asked questions

How can Jira Service Management be integrated with enterprise systems?

Jira Service Management can be integrated through its REST APIs, selected Jira Cloud webhooks, bulk or asynchronous issue operations, attachment APIs, OAuth 2.0, and API-token-based Basic Authentication. Scheduled JQL-based synchronization is useful for reconciliation and for changes not covered by webhook configuration.

Can Martini integrate with Jira Service Management?

Yes. Martini can consume Jira Service Management and Jira platform REST APIs, receive supported Jira webhook events, run scheduled reconciliation workflows, map Jira JSON payloads, and expose APIs that normalize or mediate JSM operations. No native Martini connector is documented in the supplied material.

Do I need a connector to integrate Jira Service Management with Martini?

No. A dedicated Jira Service Management connector is not required. Martini can use JSM's confirmed native REST APIs, selected webhook events, attachment endpoints, OAuth 2.0 or API-token authentication, and scheduled workflows.

Is there any extra Lonti cost to integrate Jira Service Management with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Jira Service Management with Martini. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from Atlassian, infrastructure providers, or other third-party systems based on subscriptions, usage, and deployment model.

Which Jira Service Management integration methods should be used?

REST APIs are the primary method for service requests, issues, customers, organizations, comments, queues, request types, SLAs, transitions, and attachments. Use webhooks for selected event-driven flows, bulk operations where applicable, and scheduled JQL reconciliation for completeness. A public JSM GraphQL or SOAP API should not be assumed.

Are Jira Service Management webhooks available for real-time integrations?

Jira Cloud supports configurable webhooks for selected events such as issue creation and updates, comments, and worklogs. Coverage is event-specific and may not include every JSM state change, so important processes should combine webhooks with periodic REST-based reconciliation.

How does synchronization handle mapping, pagination, and duplicates?

A Martini workflow can paginate through Jira responses, map issue-oriented JSM data to a canonical model, and use issue IDs, keys, request IDs, external IDs, and timestamps as correlation values. Idempotent upserts and checkpoints prevent duplicate requests when webhook delivery, scheduled polling, and API retries overlap.

How does Martini handle Jira Service Management errors and expose an API façade?

Martini can separate authentication, permission, validation, missing-resource, rate-limit, and temporary-service failures, then apply bounded retries, backoff, logging, and replay workflows. It can also expose a controlled REST API that normalizes JSM request creation, status updates, comments, or lookup operations for downstream applications.