INTEGRATION • GITLAB CI/CD

GitLab test management, in Jira

Send every GitLab CI/CD pipeline to AgileTest. Start pipelines from Jira. Trace results to requirements.

Try it freeBook a demo
4.6/5 on Atlassian MarketplaceFree for up to 10 users
Classic Test / Automated Tests
Work item keyFrameworkStatusMore
Test Execution ⇅Source ⇅Framework ⇅Status ⇅Creator ⇅Created at ⇅Completed at ⇅
SHOP-131ImportJUnitSuccessECEmma Clark2 minutes ago1 minute ago
SHOP-129ImportTestNGSuccessASAna Silva1 hour ago1 hour ago
SHOP-127ImportRobot FrameworkSuccessECEmma Clark3 hours ago3 hours ago
ImportCucumberFailLMLucas Meyer5 hours ago5 hours ago
SHOP-126ImportCucumberSuccessLMLucas Meyer5 hours ago5 hours ago
SHOP-124ImportJUnitSuccessECEmma ClarkYesterdayYesterday
SHOP-122ImportNUnitSuccessASAna SilvaYesterdayYesterday
SHOP-119ImportBehaveSuccessLMLucas Meyer2 days ago2 days ago
SHOP-117ImportxUnitSuccessASAna Silva2 days ago2 days ago
‹12›Rows per page 10
GitLab pipeline #482Results imported to SHOP-131
Works withJUnitNUNUnitTeTestNGxUxUnitRobot FrameworkCucumberBeBehave
AUTOMATIC IMPORT

Every pipeline reports to Jira

Your pipeline already knows what passed. Now Jira does too, after every run.

New or existing executionStart a fresh Test Execution, or keep adding to one.
Never duplicatedMatching tests are reused, not copied.
Every status mappedPass, Fail, Skipped, Blocked and more, plus step results.
Evidence includedScreenshots from the report are attached to the run.
Pipeline #482passedmain · 3 min 54 s
testtests
upload-reportupload-report
AgileTestSHOP-131
94%Test Case passed
Total128
Pass120
Fail3
Skipped5
+2 new test cases0 duplicates 3 screenshots
AgileTest
Test Environments and PlansRemote Trigger
Trigger pipeline for Test Execution SHOP-131 successfully×
Run a manually trigger on:
GitLab trigger
Run
Recent runs:
EC
GitLab pipeline run is finished.SUCCESS5 minutes ago
EC
Trigger GitLab pipeline6 minutes ago
EC
GitLab pipeline run is finished.FAILED1 hour ago
EC
Trigger GitLab pipeline1 hour ago
TRIGGER FROM JIRA

Run the pipeline from the Test Execution

No switching to GitLab to start a regression run.

  1. 1
    Set up onceAdd a GitLab configuration in Settings › Automated Test: project ID, branch and trigger token. Optionally set the test plan, environment, fix version and milestone.
  2. 2
    Click RunFrom the AgileTest panel on any Test Execution. Nothing else to fill in.
  3. 3
    Follow the runThe pipeline status posts back to Recent runs.
TRACEABILITY

See what your pipeline actually covers

Link automated test cases to requirements, next to your manual tests.

Linked to requirementsAutomated tests count in requirement coverage.
Latest statusSee OK or NOK on each requirement after every run.
Defects from failuresLog a bug from a failed run, linked back to it.
Reports in JiraTest Coverage and Traceability reports.
Projects/Shop/SHOP-87In progress
SHOP-87
Guest checkout
AgileTestLatest test status NOK
To Do 1Pass 2Fail 1
Test Cases 4Test ScriptsTest Sessions
KeySummaryTypeLatest status
SHOP-214Apply discount code as guestManualFailRe-run
SHOP-215Pay by cardManualPassRe-run
SHOP-218Checkout API returns order IDGenericPassAutomated
SHOP-217Order email is sentManualTo DoRun
GitLab pipeline #482JUnit results imported
120 passed3 failed5 skipped
.gitlab-ci.yml
stages:
  - test

tests:
  stage: test
  image: mcr.microsoft.com/playwright:v1.42.1-jammy
  script:
    - npm ci
    - npm run test
    # 1. Get a temporary token
    - export token=$(curl -X POST "$BASE_AUTH_URL/api/apikeys/authenticate"
        -H 'Content-Type:application/json'
        --data '{"clientId":"'"$CLIENT_ID"'","clientSecret":"'"$CLIENT_SECRET"'"}' | tr -d '"')
    # 2. Send the JUnit report
    - curl -X POST "$BASE_URL/ds/test-executions/junit?projectKey=$PROJECT_KEY"
        -H "Content-Type:application/xml" -H "Authorization:JWT $token"
        --data @"./playwright-report/results.xml"
stages:
  - test
  - upload-report

tests:
  stage: test
  image: mcr.microsoft.com/playwright:v1.42.1-jammy
  script:
    - npm ci
    - npm run test
  artifacts:
    name: test_result
    paths:
      - playwright-report/results.xml

upload-report:
  stage: upload-report
  image:
    name: ghcr.io/agiletestapp/agiletest-cli:latest
    entrypoint: [""]
  script:
    - |
      agiletest --base-auth-url $BASE_AUTH_URL --base-url $BASE_URL \
        --client-id $CLIENT_ID --client-secret $CLIENT_SECRET \
        test-execution import \
        --framework-type junit --project-key $PROJECT_KEY \
        playwright-report/results.xml
# Data Center: DC_TOKEN = Jira personal access token
upload-report:
  stage: upload-report
  image:
    name: ghcr.io/agiletestapp/agiletest-cli:latest
    entrypoint: [""]
  script:
    - |
      agiletest --base-url $BASE_URL \
        --data-center-token $DC_TOKEN \
        test-execution import \
        --framework-type junit --project-key $PROJECT_KEY \
        playwright-report/results.xml
SETUP

A few lines in .gitlab-ci.yml

Send the report with curl in your test job, or with the AgileTest CLI in a small follow-up job.

Same job or its owncurl calls in the test job, or the CLI image in an upload job.
Cloud and Data CenterClient ID and Secret, or a Jira personal access token.
Secrets stay in GitLabStored as masked CI/CD variables.
Pipeline status in JiraAn after_script posts the job result to the Test Execution.
HOW IT WORKS

Set up with the official guides

FAQ

Questions, answered

Does AgileTest run my automated tests?

No. GitLab CI/CD keeps building and running your tests. AgileTest imports the results into Jira, and can start a configured pipeline from a Test Execution.

Should I use the AgileTest CLI or the REST API?

Either works. The CLI runs as a Docker image (ghcr.io/agiletestapp/agiletest-cli) in an upload-report job. The REST API uses two curl calls: one for a token, one to send the report.

Which report formats are supported?

JUnit, NUnit, TestNG, xUnit and Robot Framework (XML), plus Cucumber and Behave (JSON). Tools that export JUnit XML, such as Playwright, Cypress and pytest, work too.

Can I start a GitLab pipeline from Jira?

Yes. Add a GitLab configuration in AgileTest (GitLab base URL, project ID, branch and a pipeline trigger token), then click Run on a Test Execution.

Does it work with self-managed GitLab?

Yes. For GitLab.com use https://gitlab.com as the base URL. For a self-managed instance, enter your own GitLab URL.

Does it work on Jira Cloud and Data Center?

Yes. Cloud uses an AgileTest Client ID and Client Secret. Data Center uses a Jira personal access token.

Bring your GitLab test results into Jira

ALSO WORKS WITH