TestKase Docs
Core TestingDefects

GitHub Integration

Push defects to GitHub Issues, sync status, and maintain traceability between TestKase and GitHub.

Overview

The GitHub integration for defects allows you to push defects from TestKase directly to GitHub as new issues. When a defect is pushed, a bidirectional link is established so you can navigate between the TestKase defect and the GitHub issue. Status and priority updates sync between both systems automatically.

Prerequisites

Before pushing defects to GitHub, you must have the GitHub integration connected to your TestKase project. If you have not set it up yet, follow the GitHub Integration setup guide.

You will need:

  • An active GitHub integration connection in your TestKase project settings.
  • A GitHub Personal Access Token with repo scope.
  • Project Admin or Owner role in TestKase, or the appropriate permissions to create defects and use integrations.

Push a Defect to GitHub

When you discover a defect and want to create a corresponding GitHub issue:

  1. Open the defect in TestKase from the defects list.
  2. Click the Push to GitHub button in the defect detail view.
  3. TestKase creates a new issue in your connected GitHub repository with the defect details.
  4. A bidirectional link is established -- the TestKase defect shows a clickable link to the GitHub issue, and the GitHub issue body includes a reference back to TestKase.

Push During Test Execution

The most efficient workflow is to push defects during test execution:

  1. Execute a test case in a test cycle.
  2. When a test fails, create a defect directly from the execution view.
  3. The defect is automatically linked to the failed test case.
  4. Click Push to GitHub to immediately create the GitHub issue.

Bidirectional Sync

Once a defect is pushed to GitHub, changes are synchronized between both systems:

  • Status updates -- When the GitHub issue is closed or reopened, the defect status in TestKase updates automatically. Similarly, status changes in TestKase are reflected in GitHub.
  • Labels -- Priority labels are applied to the GitHub issue and kept in sync.
  • Comments -- Comments added on the GitHub issue appear on the TestKase defect, and vice versa.

Field Mapping

TestKase automatically maps defect fields to GitHub issue fields when pushing:

TestKase Defect FieldGitHub Issue FieldNotes
TitleTitleMapped directly
DescriptionBodyIncludes a link back to the TestKase defect
PriorityLabelsMapped to priority labels (see table below)
StatusStateOpen/In-Progress maps to open, Closed/Achieved maps to closed

Priority Mapping

TestKase Defect PriorityGitHub Label
Blockerpriority:critical
Criticalpriority:high
Majorpriority:medium
Minorpriority:low
Trivialpriority:low

If the priority labels do not exist in your GitHub repository, TestKase will create them automatically when the first defect is pushed.

Viewing Pushed Defects

After a defect is pushed to GitHub, the defect detail view in TestKase displays:

  • A GitHub badge with the issue number (e.g., #123). Clicking the badge opens the GitHub issue in a new tab.
  • The current sync status.

From the GitHub side, the created issue includes:

  • The defect title as the issue title.
  • The defect description with a link back to TestKase.
  • Priority labels applied automatically.

Troubleshooting

Pushed defect is not appearing in GitHub

Ensure the token user has write access to the repository. If the repository requires issue templates, the push may fail if required fields are not met. Verify your token has the repo scope.

Priority labels are not being applied

TestKase creates priority labels automatically. If your repository has branch protection rules or restrictions on label creation, the labels may not be created. Create the labels manually in your repository settings.

Does disconnecting delete pushed defects from GitHub?

No. Disconnecting only removes the integration link in TestKase. Issues created in GitHub via defect push remain in the repository regardless of the TestKase integration status.