How to Import Cucumber Results to an Already-Existing Test/Test Execution

Connor Brown November 18, 2019

I am trying to use the Xray REST API to update test executions for Cucumber tests.

However, whenever I import results (either through the interface in Jira or with curl calls) a new Automated[Generic] test is created within the test execution, and the Automated[Cucumber] test that I am trying to update does not have its status updated.

If I run:

curl -H "Content-Type: application/json" -X GET -u username:password https://jira.ad.myurl.com/rest/raven/1.0/api/test?keys=DJS3-67

 I can find the correct test (key DJS3-67, id 63415). I associated a test execution with it (DJS3-70) as per this similar question  and downloaded my feature file from the execution, but once I run that feature file and import the cucumber.json or JUnit_Report.xml (from the Jira "Import Execution Results" button or from the API), Jira creates a new test issue inside the correct execution and associates the test run with that.

If I were trying to create a generic test, I think I would be able to simply edit the Generic Test Definition, but I need this to be a cucumber test. In this case, what is the best way to point my POST to the correct test (DSJ3-67)?

From digging, it looks like I will be using the cucumber-multipart endpoint, but I cannot find how to specify which test should be associated with the update in the info json file.

Thank you, please let me know if there is more information I can provide.

3 answers

1 accepted

1 vote
Answer accepted
Connor Brown January 23, 2020

Hi @rgnair 

 

The solution I have found to work has been adding the test execution's key (prefixed by an @ sign) to the top of my feature file prior to running the test. This adds a tag to your test result that will allow you to use curl to update the test execution.

My feature files all start like this:

@@test-exec-key-numbe
Feature:
Scenario Outline:
        Given ...
When ...
Then...

Then after I run my test, I curl:

curl -H "Content-Type: application/json" -k -X POST -u username:password --data @"filepath\to\cucumber.json" https://jira.ad.url.com/rest/raven/1.0/import/execution/cucumber

Hope this helps,

Connor

rgnair January 27, 2020

Thanks you so much @Connor Brown  its worked for me, thanks for the quick response.Here i am using bearer token as my authentication.Its working through Curl and POSTMAN, but when i used to post the xray result  through java using http client i am getting 401

post.setHeader(HttpHeaders.CONTENT_TYPE,"application/json");post.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + finalToken);

This is the way i am passing my token,i am wondering why 401 in both curl and POSTMAN its working with the above token
@Connor Brown anything i missed here in HTTP headers or any wrong
@Partha Mani 

 

 

 

Partha Mani February 26, 2020

@Connor Brown thanks, this makes sense. However, JIRA now using Auth tokens. I tried using mine and I cannot wok out the command.. It says

{"error": "Failed to parse Connect Session Auth Token"}

Partha Mani February 26, 2020

I used:

curl -H "Content-Type: application/json" -X POST -H "Authorization: Bearer MYTOKEN"  --data @"data.json" https://xray.cloud.xpand-it.com/api/v1/import/execution/cucumber

Maksym Sierov May 14, 2023

Solution still works, thanks

FYI  here is what you need to add

# "uri": "file:src/test/resources/features/r123.feature",
# "tags": [
# {
# "name": "@PR-1233",
# "type": "Tag",
# "location": {
# "line": 1,
# "column": 1
# },
# {
# "name": "@PR-1234", <--- id of the test execution
# "type": "Tag",
# "location": {
# "line": 2,
# "column": 1
# }
# },
0 votes
rgnair January 23, 2020

@José Domingues [Xray] please provide a solution soon

José Domingues [Xray]
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
January 27, 2020

Hi @rgnair 

To better address your issue, our support team will need more details to analyze the error. can you please open a ticket in our Service Desk

Thank you 

Team Xray 

0 votes
José Domingues [Xray]
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
December 5, 2019

Hi Connor, 

Can you please open a ticket in our Support?

We need more information to better understand the issue.


Best regards,
Team Xray

rgnair January 23, 2020

Hi José Domingues

I also had the same issue when using the command ,its creating new instance instead of updating the existing key and test.

 

curl -H "Content-Type: application/json" -X POST -u username:password https://"domain"/jira/rest/raven/1.0/import/execution/cucumber?testExeKey=""
rgnair March 1, 2020

hi @Connor Brown is it possible to attach screenshots as execution proof ,either as a single PDF at the end or each step wise screenshot

rgnair March 1, 2020

@Connor Brown also i had tried the comments in one of your support ticket ,tried with byte64 encoding still not get the result

Girish Kolte May 6, 2020

Hi rhnair,

                 I am working on Jenkins Job automation in my scenario I want to send executed cucumber JSON file to TM4J for updating the execution results.But  I dont have sample JSON file. Can you please share your sample JSON cucumber file. Because also working on same thing.

Suggest an answer

Log in or Sign up to answer