TestKase
TestKase
|Docs
Test ManagementAutomationCI/CD Platforms

GitHub Actions

Set up TestKase test reporting in your GitHub Actions workflows.

GitHub Actions

GitHub ActionsGitHub Actions

Setup Steps

  1. Go to your GitHub repo → Settings → Secrets and variables → Actions. Add TESTKASE_PAT.
  2. Create the workflow file .github/workflows/testkase-report.yml.
  3. Update --project-id, --org-id, --cycle-id, and --format to match your project.
  4. Commit and push. The reporting step runs after your tests complete.

Pipeline Template

name: Test & Report to TestKase

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test-and-report:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - name: Run tests
        run: npm test -- --reporter=junit --outputFile=test-results/junit.xml
        continue-on-error: true
      - name: Report results to TestKase
        if: always()
        run: |
          npx @testkase/reporter report \
            --token ${{ secrets.TESTKASE_PAT }} \
            --project-id PRJ-1 \
            --org-id 1173 \
            --cycle-id TCYCLE-5 \
            --format junit \
            --results-file test-results/junit.xml \
            --build-id "${{ github.run_number }}"

npm test -- --reporter=junit --outputFile=… is a placeholder, not a real command for most runners. Replace it with the command that produces your framework's results file — e.g. pytest --junitxml=test-results/junit.xml, npx playwright test, or mvn test — and set --format to match. See the Test Frameworks guides for the exact command and format per framework.

--cycle-id TCYCLE-5 above is a placeholder. The test cases you report on must already be linked to the cycle you target. If they are not, the API rejects every result with Test case not linked with this test cycle, the reporter exits 1, and this pipeline goes red on its first run. Either add those test cases to the cycle first, or drop --cycle-id altogether and report into TCYCLE-1 — the Master Cycle, which always contains every test case in the project.