API for Integration
Open API to retrieve Jira / Azure DevOps integration instance and project mapping details configured against a QMetry project.
Get Integration Instance Details API
This API retrieves integration instance details configured for external systems like Jira or Azure DevOps.
If no request body is provided, it returns all mapped integration instances for the project.
If instance is provided, it returns the integrated projects and their configuration (modules, work item types, JQLs) for that instance.
If fetchFields is set to true (with instance provided), the response additionally includes field-level mapping metadata per module and work item type.
Request
EndPoint: POST /rest/integration/instance/details
Content-Type: application/json
Parameters
Name | Located in | Required | Description | Default | Schema |
|---|---|---|---|---|---|
apikey | header | Yes | API key for authentication | - | string |
project | header | Yes | QMetry Project ID / Name / Key | - | string |
instance | body | No | Integration instance ID. If provided, returns details of the specific instance and its integrated projects. | - | integer |
fetchFields | body | No | If true, returns field-level metadata. Works only when instance is provided. | false | boolean |
Response
Content-Type: application/json
Status Code | Reason | Response Model |
|---|---|---|
200 | List of integrations shown successfully | |
400 | Invalid json object or mandatory fields missing | - |
401 | Unauthorised or session expired | - |
500 | Returned when server connection times out | - |
Examples
Use Case 1 — Fetch List of Mapped Jira Instances for a QMetry Project
Pass the QMetry Project ID / Key / Name as the project header (as per other existing APIs).
curl --location --request POST \ 'https://qtm8-qacloud.qmetry.com/rest/integration/instance/details' \ --header 'apikey: <your-api-key>' \ --header 'project: 192'
Response
{
"data": [
{
"instanceId": 1129,
"instanceUrl":"https://jiraeutesting.atlassian.net",
"instanceType":"Jira",
"integratedBy":"abc.xyz",
"alias": ""
}
],
"total": 1
}Use Case 2 — Fetch List and Details of All Jira Projects Integrated with a QMetry Project (for a provided Jira Instance)
curl --location \
'https://qtm8-qacloud.qmetry.com/rest/integration/instance/details' \
--header 'apikey: <your-api-key>' \
--header 'project: 192' \
--header 'Content-Type: application/json' \
--data '{
"instance": 1129
}'
Response
{
"data": [
{
"instanceId": 1129,
"instanceType":"Jira",
"instanceUrl":"https://jiraeutesting.atlassian.net",
"integratedBy":"abc.xyz",
"externalProjects": [
{
"projectId":"10009",
"projectKey":"PJ",
"projectName":"Performance Jira",
"modules": {
"requirement": {
"folderPath": "/Jiraeutesting RP/JiraQaCloudOld",
"workItemTypes": [
{
"id":"10004",
"name":"Story",
"jqlFilterString":"project = 'Performance Jira' AND issuetype in ('Story')"
}
]
},
"issue": {
"workItemTypes": [
{
"id":"10007",
"name":"Bug",
"jqlFilterString":"project = 'Performance Jira' AND issuetype in ('Bug')"
}
]
}
}
}
]
}
],
"total": 1
}
Use Case 2.2 — Fetch List and Details with Jira Mapped Fields (per Module + Work Item Type)
curl --location \
'https://qtm8-qacloud.qmetry.com/rest/integration/instance/details' \
--header 'apikey: <your-api-key>' \
--header 'project: 192' \
--header 'Content-Type: application/json' \
--data '{
"instance": 1129,
"fetchFields": true
}'
Response
{
"data": [
{
"instanceId": 1129,
"instanceType":"Jira",
"externalProjects": [
{
"projectId":"10009",
"projectKey":"PJ",
"projectName":"Performance Jira",
"modules": {
"requirement": {
"folderPath":"/Jiraeutesting RP/JiraQaCloudOld",
"workItemTypes": [
{
"id":"10004", "name": "Story",
"jqlFilterString":"project = 'Performance Jira' ...",
"fields": [
{
"fieldName":"Summary",
"fieldId":"summary",
"fieldType":"string",
"mandatory":true,
"mapped": true
}
/* ... more fields ... */
]
}
]
},
"issue": {
"workItemTypes": [
{
"id":"10007", "name": "Bug",
"fields": [
{
"fieldName":"Summary",
"fieldId":"summary",
"fieldType":"string",
"mandatory":true,
"mappedForView": true,
"mappedForCreate": true
},
{
"fieldName":"Created Date",
"fieldId":"created",
"fieldType":"date",
"mandatory":false,
"mappedForView": true,
"mappedForCreate": "NA"
}
/* ... more fields ... */
]
}
]
}
}
}
]
}
],
"total": 1
}Definitions
ResponseEntity
Top-Level Response
Field | Type | Description |
|---|---|---|
data | array | List of integration instance objects |
total | integer | Total number of instances returned |
data[] (Instance Object)
Field | Type | Description |
|---|---|---|
instanceId | integer | Unique ID of the integration instance |
instanceType | string | Type of integration (e.g. Azure, Jira) |
instanceUrl | string | Base URL of external system |
integratedBy | string | User who configured integration |
alias | string | Display name of the instance (may be empty). Returned only in the instance-list response (no body). |
externalProjects | array | List of linked external projects. Returned only when instance is provided in the body. |
externalProjects[]
Field | Type | Description |
|---|---|---|
projectID | string | External project ID |
projectKey | string | External project key |
projectName | string | External project name |
modules | object | Module mapping details |
Modules
Field | Type | Description |
|---|---|---|
requirement | object | Requirement module configuration. Includes folderPath and workItemTypes. |
issue | object | Issue module configuration. Includes workItemTypes (no folderPath). |
Module Object (requirement/issue)
Field | Type | Description |
|---|---|---|
folderPath | string | QMetry folder path for requirements import. Present in the requirement module only. |
workItemTypes | array | List of mapped work item types for the module. |
WorkItem Types
Field | Type | Description |
|---|---|---|
id | string | Work item type ID |
name | string | Work item type name |
jqlFilterString | string | Associated JQL / filter query string |
fields | array | Field mapping metadata. Returned only when fetchFields=true. |
fields[]
Field | Type | Description |
|---|---|---|
fieldName | string | External field display name (e.g. Summary, Priority) |
fieldId | string | External field ID (e.g. summary, customfield_10020) |
fieldType | string | Field data type (e.g. string, array, date, user, LARGETEXT) |
mandatory | boolean | Whether the field is required |
mapped | boolean | Whether the field is mapped |
fields[] — issue module
Note
In the issue module, the single mapped flag is replaced by separate mappedForView and mappedForCreate flags. Each may be true, false, or the string "NA" (e.g. system fields such as Created Date are not applicable for create).
Field | Type | Description |
|---|---|---|
fieldName | string | External field display name |
fieldId | string | External field ID |
fieldType | string | Field data type |
mandatory | boolean | Whether the field is required |
mappedForView | boolean | string | Mapping status for view. true, false, or "NA". |
mappedForCreate | boolean | string | Mapping status for create. true, false, or "NA". |