Skip to main content
Skip table of contents

Service Desk Sync

Requirements

  • A user with a Jira Admin rights and Project Admin rights is required for

    • retrieving the request type IDs (Can be acquired using Project Admin user)

    • retrieving the Request Type custom field ID (Can only be acquired using Jira Admin user)

  • Config requirements

    • request type IDs or Names depending on Configuration.

      • Use the Request Type IDs if the Target System is on a Cloud environment.

      • Use the Request Type names (case sensitive) if the Target System is on a Data Center environment.

    • issue types IDs for mapping

Service Desk to Service Desk using only Core Jira

This configuration will mainly use Jira Core functionalities to create/update/transition issues while the projects for both the source and target systems are Service Desk projects.

https://www.loom.com/share/1f0d6e249f2649d59cc6e29938c7c31f?sid=c7976d82-eabc-4f25-9796-e03dbe4f28bd

  • Sample Configuration of Service Desk Sync:

YAML
serverfrom:
  ...
  # Add servicedesk configuration to allow service desk mapping.
  servicedesk:
    # Set Service desk ID
    id: 34
    # Request type mapping - name: request type Name (case sensitive)
    requesttypes:
      task: Task
      ithelp: IT help
      computersupport: Computer support
  # Define requesttype custom field to get request type field values
  customfields:
    requesttype: customfield_10302
  # Define issue types for issue type mapping
  issuetypes:
    subtask: 10003
    task: 10002
    epic: 10000
    bug: 10004
    story: 10001
    improvement: 10500
    ithelp: 10200
serverto:
  ...
  # Add servicedesk configuration to allow service desk mapping.
  servicedesk:
    # Set Service desk ID
    id: 50
    # Request type mapping - name: request type Name (case sensitive)
    requesttypes:
      task: Task
      ithelp: IT help
      computersupport: Computer support
  # Define requesttype custom field to get request type field values
  customfields:
    requesttype: customfield_10109
  # Define issue types for issue type mapping
  issuetypes:
    subtask: 10003
    task: 10002
    epic: 10000
    bug: 10004
    story: 10001
    improvement: 10500
    newfeature: 99999
    ithelp: 10200

Non-Service Desk to Service Desk (V2)

This section is for configuration a Jira Sync with the following project setups:

  • The source system project is not a service desk project.

  • The target system project is a service desk project.

Configuration with Issue Type to Request Type Mapping

This approach will make use of the Jira Software REST API to create tickets on a Service Desk project.

Pre-requisites:

  • The user configured to create tickets on the target system must be able to create using the core Jira Software features.

    • Either the user is set as an agent or a regular user who has create/edit permissions on the project.

  • The custom field: Request Type is configured to the create and edit window of the project.

    • This will allow the custom field to have value on create. If this is missing, the ticket creation will fail due to the Request Type custom field not being configured when attempting to set a value.

Configuration

YAML
serverfrom:
  auth:
    username: jirasyncuser
    password: **
  host: test2-jira.xalt.team
  port:
  projectkey: SP
  issuetypes:
    task: 10002
  customfields:
    epiclink: customfield_10102
    epicname: customfield_10104
serverto:
  # Set isjiraservicedeskv2 to true to sync tickets to a service desk project. With issue type mapping
  isjiraservicedeskv2: true
  # Add service desk configuration to allow service desk mapping.
  servicedesk:
    # Set service desk ID
    id: 2
    issueTypeToRequestTypeMapping:
      # Add mapping by using the source system issue type id to the target system request type id
      10002: 33
      10004: 67
      10001: 4
  auth:
    username: jirasyncuser
    password: **
  host: test3-jira.xalt.team
  projectkey: TP
  customfields:
    epiclink: customfield_10102
    epicname: customfield_10104
    requesttype: customfield_10109
pushJQL: project = SP

Notes on non-Service Desk project to a Service Desk Project sync

  • Need to set isjiraservicedeskv2 to true instead of isjiraservicedesk.

  • The issueTypeToRequestTypeMapping will be used to set the Request Type field on the ticket. This will also be used to find the Issue Type for their corresponding Request Type.

  • When setting the issueTypeToRequestTypeMapping, use the Request Type Ids if the target system environment is Cloud and use Request Type names if the target system is Data Center.

  • :note: Important Note: The source server project can still be a Jira Service Management project. But if the target project isjiraservicedeskv2 is set to true, then the configuration will treat it as a regular project and setting the issueTypeToRequestTypeMapping will be required.

Service Desk to Service Desk (Deprecated)

The configuration isjiraservicedesk when set to true on target system (serverto) will now only work on Data Center environments.


If the target system (serverto) has the configuration isCloud set to true and the isjiraservicedesk is also set to true, then every time the Advanced Issue Sync runs, it will not be able to update existing tickets and will instead create duplicates because the Advanced Issue Sync will not be able to find the existing ticket.

Using this configuration will use Jira Service Desk REST API and functionalities.

This is configured when setting the target server (serverTo) setting (isjiraservicedesk) to true.

https://www.loom.com/share/6ac152cd36504f3f84e6f4149dd72fa8?sid=2e649742-dee2-420a-9bff-024001a05192

  • Sample Configuration

    YAML
    serverfrom:
      # Set isjiraservicedesk to true to search tickets from a service desk project.
      isjiraservicedesk: true
      # Add servicedesk configuration to allow service desk mapping.
      servicedesk:
        # Set Service desk ID
        id: 23
        # Request type mapping - name: request type ID
        requesttypes:
          task: 559
          ithelp: 552
      # Define requesttype custom field to get request type field values 
      customfields:
        requesttype: customfield_10013
    serverto:
      # Set isjiraservicedesk to true to sync tickets to a service desk project.
      isjiraservicedesk: true
      # Add service desk configuration to allow service desk mapping.
      servicedesk:
        # Set service desk ID
        id: 2
        requesttypes:
          # Request type mapping - name: request type ID
          task: 26
          ithelp: 19
      # Define requesttype custom field to get request type field values
      customfields:
        requesttype: customfield_10013

serverfrom.servicedesk.requesttypes uses the Request Type IDs in this case because the target system is configured to use Jira Service Desk features.

Non-Service Desk to Service Desk (Deprecated)

YAML
serverfrom:
  auth:
    username: jirasyncuser
    password: **
  host: test2-jira.xalt.team
  port:
  projectkey: SP
  issuetypes:
    task: 10002
  customfields:
    epiclink: customfield_10102
    epicname: customfield_10104
serverto:
  # Set isjiraservicedesk to true to sync tickets to a service desk project.
  isjiraservicedesk: true
  # Add service desk configuration to allow service desk mapping.
  servicedesk:
    # Set service desk ID
    id: 2
    requesttypes:
      # Request type mapping - name: request type ID
      task: 26
  auth:
    username: jirasyncuser
    password: **
  host: test3-jira.xalt.team
  projectkey: TP
  issuetypes:
    task: 10105
pushJQL: project = SP

Notes on Non-Service Desk to Service Desk

  • Due to the different behavior of the Service Desk REST API between the Data Center and the Cloud environments; this configuration will only work for when the target system is on a Data Center environment.

  • (warning) If the target system is on a Cloud environment (by setting the isCloud to true), the Service Desk REST API will be unable to search to find the synced ticket if it exists and the sync will continuously create duplicate tickets.

  • All issues that will be synced using this basic configuration will be by synced to a single servicedesk.requesttypes configured in the target system.

    • For the basic configuration, please assign only one requesttype (preferably task, the value can be any request type ID, only the key in the configuration has to be named task).

    • (warning) If more than one requesttype is configured, a random one will be chosen among all the configured requesttype for a cycle.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.