Application: Jira to Targetprocess
Introduction
Certain projects are managed using the Targetprocess, which is used for planning, tracking, and other administrative functions. However, because customer requests are typically submitted through Jira, it's difficult for us to keep track of which requests have been submitted and which comments have been added. To close this gap, we created the component Jira2Tp Synchronization, which allows us to automatically synchronize requests, comments, and other data from Jira to Targetprocess.
Features
Projects
To let the tool know which projects need to be sync'ed, we need to add them to Casewhere first.
We need to configure some more fields as following:
- Name: the name of project to manage in Casewhere.
- Jira project key: the key of the project in Jira system.
- Jira secret: a secret key added in the Jira webhook, this is to let Casewhere knows that the requests coming to the Casewhere system are exactly from the Jira.
- Jira custom field name: we need to have a field to display the sync'ed TP-ID for each Jira request, this field is to provide the name for this field.
- TP closed status ID: each project may have a different set of statuses, to run some background jobs, we need to provide the closed status ID.
- Jira webhook assignee: the user-id in the Jira system. This is to double-check that we only sync requests which are assigned to this user.
Entity map
We have done the first step. The next one is also the most important part, where we need to specify the logic for mapping fields between Jira and Targetprocess. This is in the JSON format, each object will have the following attributes:
Example:
[
{
"targetFieldName": "AssignedTeams",
"targetFieldValue": {
"Items": [
{
"Team": {
"Id": 63942
}
},
{
"Team": {
"Id": 70528
}
}
]
},
"isRequiredJiraChange": true,
"targetIsCustomField": true
},
...
]
- sourceFieldName: [Optional] the field name from Jira. This can be a JSONPath query, more about JSONPath can be found here.
- targetFieldName: [Required] the field name in Targetproccess.
- targetFieldValue: [Optional] the fixed value for the targetFieldName, it means if it defined, the value of it will always be set to the targetFieldName.
- values: [Optional] an object contains a pair key/value, which equals to Jira's value/Target process'value.
- Example:
It means, for the status Open on Jira, it will be mapped to "Id: 64" on Targetprocess, which is Open. The same logic applied for Reopened."sourceFieldName": "status.name", "targetFieldName": "EntityState", "values": { "Open": { "Id": 64 }, "Reopened": { "Id": 1477 } }
- Example:
- isRequiredJiraChange: [Optional] if set to true, the field will only be synchronized when the targetFieldName on Jira changes its value. Otherwise, it will always be synced.
- targetIsCustomField: [Optional] set it to true to let Casewhere knows that it's a custom field on the Targetprocess.
Installation
Requirements
- Casewhere 2.6 or later
Configuration
- Import the product.
- If you have access to the Jira, set up a webhook with the following information:
- Replace the URL with your API endpoint, also remember to input the secret key configured in the project.
Releases
2.0.1 - 02/03/2022
Changelog
- Update mappings, allow ignoring specific values of a Jira field.
- Automatically adding tags in Targetprocess for some fields.
Download (login required): Jira2Tp v2.0.1
2.0.0 - 06/05/2021
Changelog
- Configure projects, entity mappings.
- Sync requests, comments, attachments.
Download (login required): Jira2Tp v2.0.0
1.0.0 - 10/04/2018 (Deprecated)
Changelog
- Sync requests, comments.
Download (login required): Jira integration v1.0.0
Roadmap
- No plan as of now.