I'm trying to add a Test Execution to a Test Plan using Xray Rest API & Axios. I have already created an API key and authenticated successfully like so:
const axios = require('axios');
const { argv } = require('yargs');
const { clientId, clientSecret } = argv;
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
};
const authenticateXray = async () => {
await axios({
method: 'post',
url: `https://xray.cloud.xpand-it.com/api/v2/authenticate`,
headers,
data: {
client_id: clientId, // my created client id goes here
client_secret: clientSecret, // my created client secret goes here
},
})
.then(res => console.log(`Xray authentication response status was: ${res.status}`)) // 200!
.catch(e => {
throw new Error(e.response.data.error);
});
};
Then, I made a call & passed some param values gathered before when creating a Test Plan & Test Execution like so:
await axios({
method: 'posts',
url: `https://xray.cloud.xpand-it.com/api/internal/testplan/${createdTestPlan.data.id}/addTestExecs`,
data: {
0: createdTestExecIssue.data.id,
},
});
However, I get this error: (node:46352) UnhandledPromiseRejectionWarning: Error: Request failed with status code 400. I was able to link a Test Execution to the Test Plan using another endpoint from Jira Rest API, but I'm looking to add it instead, check the screenshot below for reference.

I was able to solve this issue by passing the
datadifferently like so:& passing the
X-acptkey/value pair in theRequest Headerlike so:My request ended up like so: