INTEGRATION • TEAMCITY

TeamCity test management, in Jira

Keep building in TeamCity. Every build’s test results show up in Jira, where your team plans, tracks and signs off releases.

Try it freeBook a demo
4.6/5 on Atlassian MarketplaceFree for up to 10 users
Classic Test / Test Cases / SHOP-226
SHOP-226
PaymentTest.card3dsChallenge
Done
Generic Definition: com.shop.PaymentTest.card3dsChallenge
DetailsPreconditionsTest Plans 1Test Executions 7Requirements 1
Test ExecutionSummaryRun statusExecuted on
SHOP-131Execution results - 1772431741282FailNov 4, 09:14
SHOP-128Execution results - 1772345218804PassNov 3, 09:12
SHOP-125Execution results - 1772258803117PassNov 2, 09:11
SHOP-122Execution results - 1772172391560FailNov 1, 09:15
SHOP-119Execution results - 1772085977342PassOct 31, 09:13
SHOP-117Execution results - 1771999564018PassOct 30, 09:12
SHOP-114Execution results - 1771913150771PassOct 29, 09:14
TeamCity build #482SHOP-226 failed in SHOP-131
Works withJUnitNUNUnitTeTestNGxUxUnitRobot FrameworkCucumberBeBehave
AUTOMATIC IMPORT

TeamCity builds, reported in Jira

When a build goes red, QA sees which tests failed right in Jira, without opening TeamCity.

Create or updateA new Test Execution per build, or add to an existing one.
No duplicatesTests that already exist in Jira are reused.
Statuses mappedPass, Fail, Skipped and more, straight from the report.
Screenshots attachedEvidence in the report lands on the test run.
Shop Web / Regression
#482Tests failed: 3 (1 new), passed: 117, ignored: 8
main · 3m 54s
OverviewTests 128Build LogArtifacts
Step 1/2Build & TestMaven3m 49s
Step 2/2Upload test resultCommand Line5s
Test ExecutionsSHOP-131×
Overall Execution Status (Total tests: 128)91% Pass
KeySummaryRun status
SHOP-218CheckoutTest.returnsOrderIdPass
SHOP-226PaymentTest.card3dsChallengeFail
SHOP-229PaymentTest.refundPartialFail
SHOP-231AddressTest.savedAddressAutofillSkipped
SHOP-120Oct 27, 2026 - Nov 07, 2026
Test CasesTest Executions
Key or summaryStatusAssigneeMoreBasicJQL+ Add Test Executions
KeySummaryAssigneeNumber…Number o…Execute statusAction
SHOP-131Execution results - 1772431741282ECEmma Clark128191% PassRun×
SHOP-130Manual round · CheckoutASAna Silva18261% PassRun×
SHOP-128Execution results - 1772345218804ECEmma Clark128089% PassRun×
SHOP-126Manual round · PaymentsLMLucas Meyer12075% PassRun×
SHOP-123Execution results - 1772258803117ECEmma Clark126097% PassRun×
TEST PLANS

Manual and automated, in one test plan

Plan the release once. Manual runs and TeamCity results sit in the same plan, so nobody keeps two lists.

  1. 1
    Plan the releaseAdd manual and automated test cases to one Test Plan.
  2. 2
    TeamCity reports inEach build’s results land in a Test Execution you can add to the plan.
  3. 3
    One status per testThe plan shows the latest result for every test case.
TRACEABILITY

Requirements that know what TeamCity tested

Every requirement shows its latest automated and manual results, so release reviews start from facts.

Linked to requirementsLink each automated test case to the requirement it checks.
Latest statusOK or NOK on each requirement after every build.
Defects from failuresLog a bug from a failed run, linked back to it.
Reports in JiraTest Coverage and Traceability reports.
ReportsTest Traceability
ShareExport
ALLOKNOT RUNNOKCOVEREDUNCOVEREDUNKNOWN
RequirementsTest CasesTest PlansTest RunsDefects
SHOP-87Guest checkoutSHOP-218SHOP-226SHOP-120SHOP-131SHOP-301
SHOP-88Card paymentsSHOP-229SHOP-201SHOP-120SHOP-130–
SHOP-91Saved addressesSHOP-231SHOP-120SHOP-131–
Shop Web / Regression / Edit
Build Steps+ Add build step
1
Build & TestMaven · Goals: test
2
Upload test resultCommand Line · Custom script
Script content%param% values come from Parameters and Secrets
cd target/surefire-reports
export token=$(curl "%BASE_AUTH_URL%/api/apikeys/authenticate" \
  -X POST -H 'Content-Type:application/json' \
  --data '{"clientId":"'"%CLIENT_ID%"'","clientSecret":"'"%CLIENT_SECRET%"'"}' | tr -d '"')
curl -X POST -H "Content-Type:application/xml" \
  -H "Authorization:JWT $token" \
  --data-binary "@TEST-calculateTest.xml" \
  "%BASE_URL%/ds/test-executions/junit?projectKey=%PROJECT_KEY%"
SETUP

One more build step, set up in TeamCity

Keep your Maven step. Add a script step that uploads the report, on Jira Cloud or Data Center.

Script or CLIA curl script step, or the CLI in a Docker-based job.
Cloud and Data CenterClient ID and Secret, or a Jira personal access token.
Parameters and secretsURLs as parameters, client ID and secret as secrets.
Any repositoryTeamCity builds from the VCS root you already use.
HOW IT WORKS

Set up with the official guides

FAQ

Questions, answered

Does AgileTest run my automated tests?

No. TeamCity keeps building and running your tests. AgileTest imports the results into Jira after each build.

Should I use the AgileTest CLI or the REST API?

Either works. The REST API is a script step with two curl calls. The CLI runs in a second job that uses the first job’s artifacts, inside the AgileTest CLI Docker image.

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.

Do I need a YAML file?

No. The setup uses regular TeamCity build steps: your Maven step, plus a script step that uploads the report.

Where do the credentials go?

In the build configuration: the URLs and project key as Parameters, the client ID and secret under Secrets.

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 TeamCity test results into Jira

ALSO WORKS WITH