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
reposcope. - 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:
- Open the defect in TestKase from the defects list.
- Click the Push to GitHub button in the defect detail view.
- TestKase creates a new issue in your connected GitHub repository with the defect details.
- 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:
- Execute a test case in a test cycle.
- When a test fails, create a defect directly from the execution view.
- The defect is automatically linked to the failed test case.
- 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 Field | GitHub Issue Field | Notes |
|---|---|---|
| Title | Title | Mapped directly |
| Description | Body | Includes a link back to the TestKase defect |
| Priority | Labels | Mapped to priority labels (see table below) |
| Status | State | Open/In-Progress maps to open, Closed/Achieved maps to closed |
Priority Mapping
| TestKase Defect Priority | GitHub Label |
|---|---|
| Blocker | priority:critical |
| Critical | priority:high |
| Major | priority:medium |
| Minor | priority:low |
| Trivial | priority: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.