Request
To create a parser template, send the following API request to your Zephyr server:
POST http(s)://{your-zephyr}/flex/services/rest/latest/parsertemplate
where your-zephyr is the host name or IP address of your Zephyr server.
The request body should look like this:
{ "name": "My custom parser", "jsonTemplate": "[{ status: \"${testsuite.testcase.failure}\", stepText: \"${testsuite.testcase.failure}${testsuite.testcase.system-out}\", statusExistPass: false, statusString: null, statusFailAttachmentText: \"${testsuite.testcase.failure:message}\", statusPassAttachmentText: \"classname: ${testsuite.testcase:classname} name: ${testsuite.testcase:name} time: ${testsuite.testcase:time}\", packageName: \"${testsuite.testcase:classname}\", skipTestcaseNames: \"\", testcase: { name: \"${testsuite.testcase:name}\" }, requirements: [ { id: \"${testsuite.testcase.requirements.requirement}\" } ], attachments: [ { filePath: \"${testsuite.testcase.attachments.attachment}\" } ] }]" }
This JSON object has two top-level properties:
name
– The name of a test tool or framework. Zephyr will show it in the drop-down list of supported frameworks in Jenkins or in the zBot settings screen.jsonTemplate
– JSON data of a new template. See Parser Template Syntax for complete information on its fields.
Response
The Zephyr response will look like this --
{ "id": 101, "name": "My custom parser", "jsonTemplate": "[{ \"status\": \"${testsuite.testcase.failure}\", \"stepText\": \"${testsuite.testcase.failure}${testsuite.testcase.system-out}\", \"statusExistPass\": false, \"statusString\": null, \"statusFailAttachmentText\": \"${testsuite.testcase.failure:message}\", \"statusPassAttachmentText\": \"classname: ${testsuite.testcase:classname} name: ${testsuite.testcase:name} time: ${testsuite.testcase:time}\", \"packageName\": \"${testsuite.testcase:classname}\", \"skipTestcaseNames\": \"\", \"testcase\" : {\"name\": \"${testsuite.testcase:name}\"}, \"requirements\": [ {\"id\": \"${testsuite.testcase.requirements.requirement}\"} ], \"attachments\": [ {\"filePath\": \"${testsuite.testcase.attachments.attachment}\"} ] }]", "isDeleted": false, "isDefault": false, "isSbAutomationTool": false, "createdBy": 1, "createdOn": 1581580703992 }
Here --
id
– An identifier that Zephyr assigned to the template. You will use it to specify a template you want to edit or delete.jsonTemplate
– The template contents (see Parser Template Syntax).isDeleted
– Indicates whether the template has been deleted or not.isDefault
–true
if a template is a pre-configured request, orfalse
if it is a user-defined request.isSbAutomationTool
– Reserved for internal use.createdBy
– The id of the user who created the template.createdOn
– The creation timestamp.
Note
A template becomes available right after you created it. All the templates are available for your entire organization in Zephyr.