GitHub test management, in Jira
Stop copying CI results into Jira. AgileTest imports every GitHub Actions run and links the results to your requirements.
| Test Execution ⇅ | Source ⇅ | Framework ⇅ | Status ⇅ | Creator ⇅ | Created at ⇅ | Completed at ⇅ |
|---|---|---|---|---|---|---|
| SHOP-131 | Import | JUnit | Success | ECEmma Clark | 2 minutes ago | 1 minute ago |
| SHOP-129 | Import | TestNG | Success | ASAna Silva | 1 hour ago | 1 hour ago |
| SHOP-127 | Import | Robot Framework | Success | ECEmma Clark | 3 hours ago | 3 hours ago |
| Import | Cucumber | Fail | LMLucas Meyer | 5 hours ago | 5 hours ago | |
| SHOP-126 | Import | Cucumber | Success | LMLucas Meyer | 5 hours ago | 5 hours ago |
| SHOP-124 | Import | JUnit | Success | ECEmma Clark | Yesterday | Yesterday |
| SHOP-122 | Import | NUnit | Success | ASAna Silva | Yesterday | Yesterday |
| SHOP-119 | Import | Behave | Success | LMLucas Meyer | 2 days ago | 2 days ago |
| SHOP-117 | Import | xUnit | Success | ASAna Silva | 2 days ago | 2 days ago |
Results land in Jira on every run
Each run creates or updates a Test Execution. New tests become test cases.
Start a run without leaving Jira
Trigger the GitHub workflow from a Test Execution and follow its status.
- 1Set up onceAdd a GitHub configuration in Settings › Automated Test. Optionally set the test plan, environment, fix version and milestone.
- 2Click RunFrom the AgileTest panel on any Test Execution. Nothing else to fill in.
- 3Follow the runThe workflow status posts back to Recent runs.
Automation that counts toward coverage
Link automated test cases to requirements, next to your manual tests.
| Key | Summary | Type | Latest status | |
|---|---|---|---|---|
| SHOP-214 | Apply discount code as guest | Manual | Fail | Re-run |
| SHOP-215 | Pay by card | Manual | Pass | Re-run |
| SHOP-218 | Checkout API returns order ID | Generic | Pass | Automated |
| SHOP-217 | Order email is sent | Manual | To Do | Run |
name: AgileTest automation
on: workflow_dispatch
env:
BASE_URL: ${{ vars.BASE_URL }}
BASE_AUTH_URL: ${{ vars.BASE_AUTH_URL }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
PROJECT_KEY: ${{ vars.PROJECT_KEY }}
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with: { java-version: "17", distribution: temurin }
- name: Build with Maven
run: mvn -B package --file pom.xml
- name: Submit test result to AgileTest
run: |
docker run --rm \
-e AGILETEST_BASE_URL=$BASE_URL \
-e AGILETEST_AUTH_BASE_URL=$BASE_AUTH_URL \
-e AGILETEST_CLIENT_ID=$CLIENT_ID \
-e AGILETEST_CLIENT_SECRET=$CLIENT_SECRET \
-v ${{ github.workspace }}/target/surefire-reports:/reports \
ghcr.io/agiletestapp/agiletest-cli:latest \
test-execution import --framework-type junit \
--project-key $PROJECT_KEY /reports/TEST-calculateTest.xml - name: Submit test result using API
run: |
# 1. Get a temporary token
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 '"')
# 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-binary "@target/surefire-reports/TEST-calculateTest.xml" env:
BASE_URL: ${{ vars.BASE_URL }}
DC_TOKEN: ${{ secrets.DC_TOKEN }} # Jira personal access token
PROJECT_KEY: ${{ vars.PROJECT_KEY }}
# …build steps as before, then:
- name: Submit test result to AgileTest
run: |
docker run --rm \
-e AGILETEST_BASE_URL=$BASE_URL \
-e AGILETEST_DC_TOKEN=$DC_TOKEN \
-v ${{ github.workspace }}/target/surefire-reports:/reports \
ghcr.io/agiletestapp/agiletest-cli:latest --data-center \
test-execution import --framework-type junit \
--project-key $PROJECT_KEY /reports/TEST-calculateTest.xmlOne step in your workflow
Add one step after your tests. Works on Jira Cloud and Data Center.
Set up with the official guides
Questions, answered
Does AgileTest run my automated tests?
No. GitHub Actions keeps building and running your tests. AgileTest imports the results into Jira, and can start a configured workflow 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) with one import command. 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 GitHub workflow from Jira?
Yes. Add a GitHub configuration in AgileTest settings (owner, repository, workflow file, branch and a GitHub personal access token), then trigger the pipeline from a Test Execution.
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 GitHub test results into Jira
Questions? Contact us · Visit the 24/7 Support Desk