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.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@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"}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Solution still works, thanks
FYI here is what you need to add
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Connor,
Can you please open a ticket in our Support?
We need more information to better understand the issue.
Best regards,
Team Xray
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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=""
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Connor Brown also i had tried the comments in one of your support ticket ,tried with byte64 encoding still not get the result
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.