1. Content

2. Introduction

Welcome to the User Guide for USU Service Management Connector for Jira. This manual is made for users who Administer Jira Issues and USU Tickets. This connecting tool provides two-way data transfer between Jira and USU.

The connector is based on Object and Field Mapping. Here you can find basic and advanced information about default functions of our Connector. Of course the admin users also have many options for setting up Object and Field Mapping of our Connector according to their needs. Our User Guide provides basic instructions on how to do this.

Our Team hopes that USU Service Management Connector for Jira will help you transfer data between Jira and USU more efficiently and make your work more successful. We are ready to help you if you would need anything else. Don´t hesitate to contact us (contact information can be found on the last page of our User Guide).

Your SykoraIT

3. Installation

3.1 Jira plugin

3.1.1 Installation from Atlassian Marketplace

3.1.2 Manual installation with .jar package

3.2 USU Service Management Package (Valuemation)

The installation package for USU Service Management (Valuemation) will be provided by Sykora IT. If you do not have it, please contact us at support@sykorait.com.

3.2.1 Installation

4. Configuration

4.1 Configuration of Jira Plugin

4.1.1 Create Jira User for the Connector

The communication between Jira and USU runs in the backend. It needs a special user on both sides. It is recommended to have dedicated users for that.

Follow these step: (Link to Jira documentation - Create user)

4.1.2 Create Custom fields in Jira for the Connector

Default mapping expects two Jira custom fields on Issue to store the USU Ticket Number and USU Ticket Link to the USU Ticket. The Default_ GetMasterData mapping expects two Scriptrunner fields to store generated list of USU System-CI and generated list of USU Model Tickets. With both default mappings you have to use the exact names as below. If you want to use different names, you can change the mappings.

Follow these steps: (Link to Jira documentation - Create custom field)

4.1.3 Configuration of Jira Custom Field

The USU Link which comes from USU Service Management to Jira Custom Field can be displayed better in Jira Custom Field. It needs to change Jira Custom Field configuration.

4.1.4 Configuration of Allowlist

It is necessary to add your USU URL to Allowlist (System Settings of Jira). The Connector is not able to connect your USU Environment without this. This behavior of the Connector is mainly for safety reasons. It is not possible to send data from the Connector to an unknown environment.

Log Comment of our Connector informs you about it with this Error comment.

4.1.5 Default Object Mappings

Mapping in this version of Jira Plugin contains two default interfaces: Default Interface and Default_GetMasterData Interface. The basic difference between them is in USU Webservice. Default Interface is using InterfaceTransactionStart Webservice, Default_GetMasterData Interface is working with SITGetObjectsSetLastSyncTS Webservice.

Default Interface is capable of following activities:

Default_GetMasterData Interface is capable of following activities:

{
      "types":[
         {
            "type":"SITStagingSystem",
            "condition":{
               "buildCondition":"catalog",
               "catalog":"SITStagingSystemsChanged"
            },
            "sortedBy":[
               "datchg descending"
            ],
            "fields":[
               {
                  "name":"name"
               },
               {
                  "name":"status"
               },
               {
                  "name":"systemname"
               },
               {
                  "name":"systype"
               },
               {
                  "name":"validfrom"
               },
               {
                  "name":"validto"
               },
               {
                  "name":"datchg"
               }
            ],
            "seekRead":{
               "pageRequest":"first",
               "pageSize":"100"
            }
         }
      ]
   }
}

Both Object Mappings are almost ready to use. What is necessary to do:

4.1.6 Internal/External Comments Feature

If information about how was the comment created in Jira was shared (internally or with Custumer), we need to set the following

image-20240328-075037.pngimage-20240328-075516.pngimage-20240328-075621.png

4.2 Configuration of Script Runner

There are more options how the Model Tickets and Cis in the Connector’s tables can be referenced from a Jira Issue. We recommend using Script Runner for that (made by Adaptavist, tested with version 8.2.1).

Here are the steps needed for creation of the references to Model Tickets and Cis:

import groovy.json.StreamingJsonBuilder

def authString = "Bearer [Personal Access Token]".getBytes().encodeBase64().toString()

def body_req = '''{
"eventTypeName": "runObjectMapping",
"objectMappingName" : "System-CI"
}''';

URL url = new URL("http://.../jira/rest/SITVmConnectorBackend/1.0/SITVmConnectorBackend");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "Basic ${authString}");
con.doOutput = true;
con.setRequestProperty("Content-Type", "application/json");
//con.outputStream.withWriter("UTF-8") { new Streaming JsonBuilder(it, body_req)}
con.getOutputStream().write(body_req.getBytes("UTF-8"));
con.connect();

println("url: " + url);
println("Content>:" + con.getContent())
println("ResponseCode:" + con.getResponseCode())
println("getResponseMessage:" + con.getResponseMessage())

con.disconnect();

4.3 Configuration of USU Service Management Package (Valuemation)

4.3.1 Configuration VM Generic Interfaces

Hint: This username has to be set in the field External User in the Interface in the Jira Connector.

4.3.2 Configuration of Interface Mapping

The Object and Field Mapping on the USU side is done by the Generic Interface module from USU. Detailed documentation can be obtained at USU or you can contact Sykora IT for support.

5 Use Cases

5.1 Use Case 1: Create Jira Issue

5.1.1 Create new Issue in Jira

5.2 Use Case 2: Add comments

5.2.1 Create a Comment in Jira

5.2.2 Create a Comment in USU

5.3 Use Case 3: Change workflow status in Jira

5.4 Use Case 4: Manual synchronization to USU

In addition to the automatic event-driven synchronization, there is the button Sync with USU in the More menu in Jira Issue. It sends the Issue data to USU. If the Issue is already linked to an USU Ticket, the Ticket will be updated. Otherwise, the new Ticket is created. The button is useful when you have older Issues which should be synchronized and were created before the installation of the Connector. Or if you want to synchronize only specific Issues.

5.5 Use Case 5: Generate USU Systems and USU Model Tickets

6 Monitoring

6.1 Jira

6.1.1 Connector Log

6.1.2 Standard Jira Log

6.2 USU Service Management Package (Valuemation)

6.2.1 Generic Interface Data Queues

6.2.2 Process Instances for Monitoring

6.2.3 USU Log file

● Another place to search for an explanation is the log file of the USU Process Engine or the USU Web Server.

7 Example of field Mappings

This chapter describes examples of possible Mappings between fields in Jira and USU Service Management (Valuemation).

7.1 Scenario 1: Simple Field Mapping in the direction from Jira to USU

There is a single line text custom field in Jira with the name myTextField. The value of the custom field should be sent to USU and stored in the new field name myTextFieldUSU in Ticket.

Follow those steps:

1. Create a field in Jira and USU Objects (in our connector configuration).

2. Create Field Mapping in the Issue-created Mapping.

3. Create Mapping in USU Generic Interface Action

7.2 Scenario 2: Simple Field Mapping in the direction from USU to Jira (in the response)

There is a single line text custom field in Jira with the name myTextField2. When a new USU Ticket is created for a new Jira Issue, the value of the USU field named myTextFieldUSU2 should be stored into the custom field in Jira Issue.

1. Create field in Jira and USU Objects (in our connector configuration)

2. Create Field Mapping in the Issue-created Mapping (direction Jira<-USU)

3. Create Field Mapping in USU Generic Interface Action

7.3 Scenario 1 and 2: Result

8 List of supported field names

List of supported field names in the Jira Connector in the Object Issue.

Technical field name

Type

Description

assignee

Object

Assigned Jira User Object

assigneeId

Column

assigneeName

Column

attachments

Collection

Collection of Attachments

comments

Collection

Collection of Issue Comments

created

Column

creator

Object

creatorId

Column

creatorName

Column

description

Column

dueDate

Column

estimate

Column

(seconds)

HTMLdescription

Column

inwardLinks

Collection

Collection of Issue Links (inward)

issueId

Column

key

Column

labels

Column

originalEstimate

Column

(seconds)

outwardLinks

Collection

Collection of Issue Links (outward)

parent

Object

Parent of subtask Issue

priority

Object

priorityName

Column

project

Object

projectId

Column

projectName

Column

reporter

Object

reporterName

Column

resolution

Object

resolutionDate

Column

resolutionName

Column

simpleStatusName

Column

sitIssueURL

Column

status

Object

Issue Status Object

statusId

Column

subTaskObjects

Collection

Collection of Sub Tasks (Issues)

summary

Column

timeSpent

Column

(seconds)

type

Object

IssueType for this Issue

typeId

Column

typeName

Column

updated

Column

Valuemation Ticket Link

Column

Valuemation Ticket No

Column

workflowId

Column

Custom Fields

Your custom fields can be used as well. The standard Jira Custom field types are supported.

List of supported field names in the Jira Connector in the Object Jira Project.

Technical field name

Type

Description

description

Column

key

Column

name

Column

projectId

Column

List of supported field names in the Jira Connector in the Object Issue Comment.

Technical field name

Type

Description

authorFullName

Column

body

Column

commentId

Column

created

Column

HTMLbody

Column

issue

Object

Issue Object

issueKey

Column

updateAuthorFullName

Column

updated

Column

List of supported field names in the Jira Connector in the Object Jira User.

Technical field name

Type

Description

email

Column

username

Column

List of supported field names in the Jira Connector in the Object Attachment.

Technical field name

Type

Description

attachmentId

Column

 

author

Object

 

authorName

Column

 

created

Column

 

filename

Column

filesize

Column

issue

Object

Issue Object

issueId

Column

 

mimetypes

Column

value

Column

Base 64 encoded content of the attachment

List of supported field names in the Jira Connector in the Object Issue Link.

Technical field name

Type

Description

destinationObject

Object

Destination Issue

sourceObject

Object

Source Issue

List of supported field names in the Jira Connector in the Object CI´s.

Technical field name

Type

Description

name

Column

status

Column

systemName

Column

sysType

Column

validFrom

Column

validTo

Column

List of supported field names in the Jira Connector in the Object Model Tickets.

Technical field name

Type

Description

description

Column

name

Column

status

Column

tckShorttext

Column

ticketclass

Column

ticketNo

Column

tickettype

Column

validFrom

Column

ValidTo

Column

Recursive Mapping: for some advanced use cases it is possible to use the name this in the case of Mapping of the type Object or Collection. It allows to create a dummy structure in the JSON when it is needed on the USU Side. The depth of the recursion is limited to 10 levels.

8.1 Supported Expressions

Function

Example

Result

listToCollection

listToCollection("Betroffene Systeme","systemname")

"Betroffene Systeme":[{"systemname":"S-06419236"},{"systemname":" S-06415612"}]

The function listToCollection also accepts Custom Field ID as a parameter. This can be useful when using multiple Custom Fields with the same name. An example: listToCollection("customfield_10010", "systemname").

8.2. External -> Jira mapping

List of supported fields in the Jira Connector in the Object Issue.

Technical field name

Type

Description

assignee

Object

Assigned Jira User Object

description

Column

dueDate

Column

labels

Column

priority

Object

summary

Column