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.
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:
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,
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
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=""
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event