Zephyr Test Execution Linking Defect via ZAPI

Mr Parashar April 24, 2017

Hi folks ,

I am interating Zephyr via ZAPI in my application. I created test execution and a defect(bug) in jira but could not find any api in ZAPI docs for linking test execution with existing defect with my application.

Is this requirement feasible . If yes and any API exist for acheving this task then help me guys.

Version of ZAPI is :: 2.3.0.23002808

Version of Zephyr is :: 3.3.2.33202813

 

2 answers

1 vote
Arun Ravindran May 2, 2017

Hi Parashar

Thanks for your interest in Zephyr.

You can use the following API resource of updating the execution details to link your defect to the test execution

http://docs.getzephyr.apiary.io/#reference/executionresource/update-execution-details/update-execution-details

For example

 PUT: http://192.168.11.96:8735/rest/zapi/latest/execution/163/execute
{
  "defectList": [
    "PROJ-82"
  ],
  "updateDefectList": "true"
}

where "163" is the execution id and "PROJ-82" is the defect key

Let us know if you have any queries about the above mentioned

Thanks

ZephyrSupport

Alejandro Villalobos _atSistemas_ January 12, 2018

I've managed to update de Execution Status using the following REST Call

Http-Method: PUT
Endpoint: /rest/zapi/latest/execution/38/execute
{
    "status": "1"
}

But It fail when I want to link a defect to this execution:

Http-Method: PUT
Enpoint: /rest/zapi/latest/execution/38/execute
{
  "defectList": [
    "YIS-1"
  ],
  "updateDefectList": "true"
}

>>> Response:
Http-Status: 500 Unknown

This is part of the RAW response that may help to find out what the problem is


<status>
    <status-code>500</status-code>
    <message>Unexpected character ('â' (code 226)): was expecting double-quote to start field name
 at [Source: org.apache.catalina.connector.CoyoteInputStream@1b60e5d1; line: 2, column: 2]</message>

 

Regards

Devin Shaw October 11, 2019

Make sure you're sending the body as json. Even if it's the same format, you need to pass it as json or it gives that error. 

karanbir saluja December 3, 2019

Hi Team, 

Any update on this issue. As suggested, I am sending the body as json but getting the same error.

Thanks & Regards
Karanbir

Devin Shaw December 4, 2019

Do you have multiple defects? This is roughly what I use.

    # Multiple defects
if
"," in defect:
defect = defect.strip("| ")
body = {
"defectList": defect.split(","),
"updateDefectList": 'true',
"status": int(status_number)
}
# Single defect
else:
body
= {
"defectList": [defect],
"updateDefectList": 'true',
"status": int(status_number)
}

body
= json.dumps(body)
r = requests.request("PUT", url, headers=headers, data=body)
0 votes
Lakshay May 15, 2023

Hi Guys,

 


You can use the following API resource of updating the execution details to link your defect to the test execution

http://docs.getzephyr.apiary.io/#reference/executionresource/update-execution-details/update-execution-details

But this API is only updating the Status.


The working solution for this problem:

Request URL - PUT {Base URL}/rest/zapi/latest/execution/{Execution Id}/execute

Request Body -

{

  "updateDefectList": "true",
  "defectList": ["{Defect Name}"]
}

 

* Just need to place "updateDefectList" above the "defectList" in all above solutions *


Example Shown above:

Http-Method: PUT
Enpoint: /rest/zapi/latest/execution/38/execute
{

    "updateDefectList": "true",
  "defectList": [
    "YIS-1"
  ]
  


Thanks

Suggest an answer

Log in or Sign up to answer