Hey guys,
I want to import the test results of our UI tests to the referring Jira Test Execution-Ticket using the v2 Cucumber Multipart API (POST /api/v2/import/execution/cucumber/multipart). Authentication and uploading the results is already working; but instead of creating a new Test Execution with the mentioned test results, I'd like to update the already existing one. I tried to set the "testExecutionKey" on various parts of my results.json (following you see my latest attempt), but unfortunately new tickets are created nevertheless.
Can anybody please give me a hint, where to add this piece of information?
Thanks in advance!
results.json:
[
{
"testExecutionKey": "XXX-15061",
"line": 2,
"elements": [
{
"start_timestamp": "2024-06-11T14:58:24.131Z",
"before": [
{
"result": {
"duration": 34788000,
"status": "passed"
},
"match": {
"location": "de.xxx.uitests.hooks.Hook.doHookThings(io.cucumber.java.Scenario)"
}
}
],
"line": 6,
"name": "Add an ABC",
"description": "",
"id": "abc-history;add-an-abc",
"after": [
{
"result": {
"duration": 49000,
"status": "passed"
},
"match": {
"location": "de.xxx.uitests.hooks.AnotherHook.doSthAgain()"
}
}
],
"type": "scenario",
"keyword": "Scenario",
"steps": [
{
"result": {
"duration": 20451903000,
"status": "passed"
},
"line": 7,
"name": "I opened the Start Screen",
"match": {
"location": "de.xxx.uitests.steps.AbcSteps.iOpenTheStartScreen()"
},
"keyword": "Given "
},
{
"result": {
"duration": 9873579000,
"status": "passed"
},
"line": 8,
"name": "I opened the ABC Overview",
"match": {
"location": "de.xxx.uitests.steps.AbcSteps.iOpenedTheAbcOverview()"
},
"keyword": "And "
},
{
"result": {
"duration": 6171407000,
"status": "passed"
},
"line": 9,
"name": "I add a new ABC",
"match": {
"arguments": [
{
"val": "2021",
"offset": 41
}
],
"location": "de.xxx.uitests.steps.AbcSteps.iAddANewAbc()"
},
"keyword": "When "
},
{
"result": {
"duration": 761038000,
"status": "passed"
},
"line": 10,
"name": "the ABC is added successfully",
"match": {
"location": "de.xxx.uitests.steps.AbcSteps.theAbcIsAddedSuccessfully()"
},
"keyword": "Then "
}
],
"tags": [
{
"name": "@abcHistory"
},
{
"name": "@XXX-8"
}
]
},
{
"start_timestamp": "2024-06-11T14:59:08.469Z",
"before": [
{
"result": {
"duration": 1588000,
"status": "passed"
},
"match": {
"location": "de.xxx.uitests.hooks.SomeHook.setSth(io.cucumber.java.Scenario)"
}
}
],
"line": 13,
"name": "ABC is added to the View",
"description": "",
"id": "abc-history;abc-is-added-to-the-view",
"after": [
{
"result": {
"duration": 59888000,
"status": "passed"
},
"match": {
"location": "de.xxx.uitests.hooks.ExistingHook.gotToDoSth()"
}
}
],
"type": "scenario",
"keyword": "Scenario",
"steps": [
{
"result": {
"error_message": "Another Error Message",
"duration": 9632170000,
"status": "failed"
},
"line": 14,
"name": "I visited the ABC",
"match": {
"arguments": [
{
"val": "public",
"offset": 29
}
],
"location": "de.xxx.uitests.steps.AbcSteps.iVisitTheAbc(de.xxx.uitests.testdata.abc.ABC)"
},
"keyword": "Given "
},
{
"result": {
"duration": 34000,
"status": "skipped"
},
"line": 15,
"name": "I open the ABC",
"match": {
"location": "de.xxx.uitests.steps.AbcSteps.iOpenTheAbc()"
},
"keyword": "When "
},
{
"result": {
"duration": 9000,
"status": "skipped"
},
"line": 16,
"name": "the ABC is displayed",
"match": {
"location": "de.xxx.uitests.steps.ABCSteps.theAbcIsDisplayed()"
},
"keyword": "Then "
}
],
"tags": [
{
"name": "@abc"
},
{
"name": "@XXX-9"
}
]
}
],
"name": "ABC",
"description": " As a user, I want to learn about ABC's.",
"id": "abc",
"keyword": "Feature",
"uri": "classpath:features/test1/abc/learnAbc.feature",
"tags": [
{
"name": "@abc",
"type": "Tag",
"location": {
"line": 1,
"column": 1
}
},
{
"name": "@test1",
"type": "Tag",
"location": {
"line": 1,
"column": 14
}
}
]
}
]
info.json:
{
"fields": {
"project": {
"id": "11111"
},
"summary": "Automated Test Execution | Android, OS14",
"issuetype": {
"id": "11112"
},
"components": [
{
"name": "Android"
}
]
}
}
Hi @Vera Lankes ,
whenever you use the multipart endpoint, it will always create a new Test Execution; that's the current behavior. If you want to update an existing Test Execution issue, you'll need to use the standard endpoint and have your test results annotated with the Test Execution issue key. In that case, the Feature section needs to have the Test Execution issue key as a tag (e.g, XPTO-934).
If you would like to update an existing Test Execution using the multipart endpoint then my advice would be to contact the Xray vendor and ask for that improvement.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.