Skip to content
Testsigma DOCS

JUnit report import

POST/projects/:project_id/junit-import/test-run/:test_run_id

Base URL  https://test-management.testsigma.com/api/v1

Imports JUnit XML test results into a test run within a project via file upload.

Authenticate with your API key as a Bearer token in the Authorization header. Generate a key →
project_idUnique identifier of the project to import results into.
test_run_idIdentifier of the test run the results are imported against.
messageStatus message describing the outcome of the import; may be empty.
data.import.idUnique identifier of the import job created for this upload.
data.import.statusCurrent status of the import (e.g. pending, completed).
data.import.test_run_idIdentifier of the test run the results were imported against.
data.import.created_atUnix timestamp of when the import was initiated.
REQUEST
curl -X POST \
  'https://test-management.testsigma.com/api/v1/projects/:project_id/junit-import/test-run/:test_run_id' \
  -H 'Authorization: Bearer <API_KEY>' \
  -F 'junit_xml=@results.xml'
const form = new FormData();
form.append('junit_xml', fileInput.files[0]);

const response = await fetch('https://test-management.testsigma.com/api/v1/projects/:project_id/junit-import/test-run/:test_run_id', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer <API_KEY>' },
  body: form
});
const data = await response.json();
import requests

response = requests.post(
  'https://test-management.testsigma.com/api/v1/projects/:project_id/junit-import/test-run/:test_run_id',
  headers={ 'Authorization': 'Bearer <API_KEY>' },
  files={
    'junit_xml': open('results.xml', 'rb')
  }
)
data = response.json()
RESPONSE200OK
{
  "message": "JUnit results imported successfully.",
  "data": {
    "import": {
      "id": "ebbbcb9f-e532-41dd-9170-369e5ba4539a",
      "status": "completed",
      "test_run_id": "DEMO-R-4",
      "created_at": 1710675200
    }
  }
}