Jira Zephyr Sample JSON File
Below is the sample JSON for Jira Zephyr entities. Based on your use case and Jira Zephyr instance configuration, the JSON needs to be modified.
{
"entities": [
{
"internalName": "testcase-zephyr",
"displayName": "Zephyr Scale Test Case",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"entityScope": "Global",
"fields": {
"system": [
{
"internalName": "name",
"displayName": "Name",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "id",
"displayName": "Id",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "key",
"displayName": "Key",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "project",
"displayName": "Project",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "createdOn",
"displayName": "Created Date",
"dataType": "date_string",
"readOnly": true,
"mandatory": false,
"dateFormat": "yyyy-MM-dd'T'HH:mm:ss'Z'",
"historyEnabled": false
},
{
"internalName": "component",
"displayName": "Component",
"dataType": "lookup",
"mandatory": false,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "objective",
"displayName": "Objective",
"dataType": "html",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "precondition",
"displayName": "Precondition",
"dataType": "html",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "estimatedTime",
"displayName": "Estimated run time",
"dataType": "numeric",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "labels",
"displayName": "Labels",
"dataType": "text",
"multiselect": true,
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "priority",
"displayName": "Priority",
"dataType": "lookup",
"mandatory": true,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "status",
"displayName": "Status",
"dataType": "lookup",
"mandatory": true,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "owner",
"displayName": "Owner",
"dataType": "user",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "folder",
"displayName": "Folder",
"dataType": "reference",
"systemSpecific": {
"referencedEntityType": "folder-zephyr"
}
},
{
"internalName": "OH_Folder_Path",
"displayName": "OH_Folder_Path",
"dataType": "text"
},
{
"internalName": "OH_Test_Steps",
"displayName": "Test Steps",
"dataType": "test-step",
"mandatory": false,
"historyEnabled": false
}
],
"custom": [
{
"internalName": "CustomText",
"displayName": "CustomText",
"dataType": "text",
"mandatory": true
}
]
}
},
{
"internalName": "folder-zephyr",
"displayName": "Zephyr Scale Test Folder",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"entityScope": "Global",
"fields": {
"system": [
{
"internalName": "name",
"displayName": "Name",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "id",
"displayName": "Id",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "project",
"displayName": "Project",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "folderType",
"displayName": "Folder Type",
"dataType": "lookup",
"mandatory": true,
"multiselect": false,
"historyEnabled": false,
"lookUpValues": {
"TEST_CASE": "TEST_CASE",
"TEST_CYCLE": "TEST_CYCLE",
"TEST_PLAN": "TEST_PLAN"
}
},
{
"internalName": "index",
"displayName": "Index",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
}
]
}
},
{
"internalName": "testcycle-zephyr",
"displayName": "Zephyr Scale Test Cycle",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"entityScope": "Global",
"fields": {
"system": [
{
"internalName": "name",
"displayName": "Name",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "id",
"displayName": "Id",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "key",
"displayName": "Key",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "project",
"displayName": "Project",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "plannedStartDate",
"displayName": "Planned start date",
"dataType": "date_string",
"mandatory": true,
"dateFormat": "yyyy-MM-dd'T'HH:mm:ss'Z'",
"historyEnabled": false
},
{
"internalName": "plannedEndDate",
"displayName": "Planned end date",
"dataType": "date_string",
"mandatory": true,
"dateFormat": "yyyy-MM-dd'T'HH:mm:ss'Z'",
"historyEnabled": false
},
{
"internalName": "description",
"displayName": "Description",
"dataType": "html",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "folder",
"displayName": "Folder",
"dataType": "reference",
"systemSpecific": {
"referencedEntityType": "folder-zephyr"
}
},
{
"internalName": "jiraProjectVersion",
"displayName": "Jira Project Version",
"dataType": "lookup",
"mandatory": false,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "status",
"displayName": "Status",
"dataType": "lookup",
"mandatory": true,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "owner",
"displayName": "Owner",
"dataType": "user",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "OH_Folder_Path",
"displayName": "OH_Folder_Path",
"dataType": "text"
}
]
}
},
{
"internalName": "testplan-zephyr",
"displayName": "Zephyr Scale Test Plan",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"systemSpecific": {
"readCustomFieldsMeta": true
},
"entityScope": "Global",
"fields": {
"system": [
{
"internalName": "name",
"displayName": "Name",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "id",
"displayName": "Id",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "key",
"displayName": "Key",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "project",
"displayName": "Project",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "objective",
"displayName": "Objective",
"dataType": "html",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "labels",
"displayName": "Labels",
"dataType": "text",
"multiselect": true,
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "status",
"displayName": "Status",
"dataType": "lookup",
"mandatory": true,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "folder",
"displayName": "Folder",
"dataType": "reference",
"systemSpecific": {
"referencedEntityType": "folder-zephyr"
}
},
{
"internalName": "owner",
"displayName": "Owner",
"dataType": "user",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "OH_Folder_Path",
"displayName": "OH_Folder_Path",
"dataType": "text"
}
]
}
},
{
"internalName": "testexecution-zephyr",
"displayName": "Zephyr Scale Test Execution",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"entityScope": "Global",
"fields": {
"system": [
{
"internalName": "id",
"displayName": "Id",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "key",
"displayName": "Key",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "project",
"displayName": "Project",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "jiraProjectVersion",
"displayName": "Jira Project Version",
"dataType": "lookup",
"mandatory": false,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "testExecutionStatus",
"displayName": "Execution Status ",
"dataType": "lookup",
"mandatory": true,
"multiselect": false,
"historyEnabled": false
},
{
"internalName": "actualEndDate",
"displayName": "Actual End Date",
"dataType": "date_string",
"mandatory": true,
"dateFormat": "yyyy-MM-dd'T'HH:mm:ss'Z'",
"historyEnabled": false
},
{
"internalName": "estimatedTime",
"displayName": "Estimated Time",
"dataType": "numeric",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "executionTime",
"displayName": "Execution Time",
"dataType": "numeric",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "executedById",
"displayName": "Executed by",
"dataType": "user",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "assignedToId",
"displayName": "Assigned To",
"dataType": "user",
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "comment",
"displayName": "Comment",
"dataType": "html",
"multiselect": false,
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "automated",
"displayName": "Automated",
"dataType": "boolean",
"multiselect": false,
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "environment",
"displayName": "Environment",
"dataType": "reference",
"systemSpecific": {
"referencedEntityType": "environment-zephyr"
}
},
{
"internalName": "testCase",
"displayName": "Test Case",
"dataType": "reference",
"systemSpecific": {
"referencedEntityType": "testcase-zephyr"
}
},
{
"internalName": "testCycle",
"displayName": "Test Cycle",
"dataType": "reference",
"systemSpecific": {
"referencedEntityType": "testcycle-zephyr"
}
}
]
}
},
{
"internalName": "environment-zephyr",
"displayName": "Test Environment",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"entityScope": "Global",
"fields": {
"system": [
{
"internalName": "id",
"displayName": "Id",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "project",
"displayName": "Project",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "name",
"displayName": "Name",
"dataType": "text",
"multiselect": false,
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "description",
"displayName": "Description",
"dataType": "text",
"multiselect": false,
"mandatory": false,
"historyEnabled": false
},
{
"internalName": "archived",
"displayName": "Archived",
"dataType": "boolean",
"multiselect": false,
"mandatory": true,
"historyEnabled": false
},
{
"internalName": "index",
"displayName": "Index",
"dataType": "numeric",
"mandatory": true,
"historyEnabled": false
}
]
}
}
]
}This template lists the system fields for each entity supported by the Zephyr plugin.
Users can add custom field metadata after the system field metadata.
The final JSON for an entity with custom fields will appear as follows:
{
"internalName": "Entity Internal ID",
"displayName": "Entity Display ID",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"entityScope": "Global",
"fields": {
"system": [
{
"internalName": "field1",
"displayName": "Field1",
"dataType": "text",
"mandatory": true,
"historyEnabled": false,
"readOnly": true
},
{
"internalName": "field2",
"displayName": "Field2",
"dataType": "text",
"mandatory": true,
"historyEnabled": false
}
],
"custom": [
{
"internalName": "field1",
"displayName": "Field1",
"dataType": "text",
"mandatory": true
},
{
"internalName": "field2",
"displayName": "Field2",
"dataType": "text",
"mandatory": true
}
]
}
}Test Plan Specific JSON Input
Additional fields need to be included in the JSON for Test Plans:
At the field level: Add the system-specific field requestFieldKey in the system-specific map for all custom fields.
This is used by OpsHub Integration Manager to update Test Plan custom fields via a private API.
The value of requestFieldKey can be obtained by inspecting the private update API of the Test Plan from the browser for each field.
At the entity level: Add the system-specific field readCustomFieldsMeta in the metadata to define whether OpsHub Integration Manager can use the private API to load custom field information.
Default value: true (can be explicitly set to false).
If set to false, the custom field ID must be provided manually.
Since updates for Test Plans use a private API (which requires the custom field ID), the value of readCustomFieldsMeta determines whether this ID is auto-fetched or must be provided manually.
Example JSON for a Test Plan with readCustomFieldsMeta set to true:
{ "internalName": "testplan-zephyr", "displayName": "Zephyr Scale Test Plan", "readMechanism": "NON_HISTORY", "hasReadSupport": true, "hasWriteSupport": true, "systemSpecific": { "readCustomFieldsMeta": true }, "entityScope": "Global", "fields": { "system": (...System Fields Meta as mentioned in the template...), "custom": [ { "internalName": "customNumber", "displayName": "customNumber", "dataType": "numeric", "multiselect": false, "mandatory": false, "historyEnabled": false, "systemSpecific": { "requestFieldKey": "intValue" } } ] } }The JSON for a Test Plan when readCustomFieldsMeta is false will be as follows:
{
"internalName": "testplan-zephyr",
"displayName": "Zephyr Scale Test Plan",
"readMechanism": "NON_HISTORY",
"hasReadSupport": true,
"hasWriteSupport": true,
"systemSpecific": {
"readCustomFieldsMeta": false
},
"entityScope": "Global",
"fields": {
"system": (...System Fields Meta as mentioned in the template...),
"custom": [
{
"internalName": "customSelect",
"displayName": "customSelect",
"dataType": "lookup",
"mandatory": false,
"multiselect": false,
"historyEnabled": false,
"lookUpValues": {
"s1": "2331664",
"s2": "2331665"
},
"systemSpecific": {
"customFieldId": "508083",
"requestFieldKey": "intValue"
}
},
{
"internalName": "customText",
"displayName": "customText",
"dataType": "text",
"multiselect": false,
"mandatory": false,
"historyEnabled": false,
"systemSpecific": {
"customFieldId": "508081",
"requestFieldKey": "stringValue"
}
}
]
}
}In the above JSON, the custom ID for each custom field should be specified in the systemSpecific map.
Users must also provide the internal IDs for the lookup field values.
Last updated

