This section describes how to set up a connection, connect a project to a GitHub repository, configure progress mapping, push a task to GitHub, work from both systems, maintain the connection, and, if needed, remove the integration. For more details, limitations, and frequently asked questions, refer to About issue tracking with GitHub.
On this page:
1. Set up the GitHub Issues connection
2. Connect a project to a GitHub repository
4. Push one or more tasks to GitHub
7. Remove the issue tracking integration
1. Set up the GitHub Issues connection
Establish the organization-level GitHub connection that Level Access projects can use.
To set up the GitHub Issues connection:
Navigate to the organization level, and then to Tools & Integrations.
Select Issue tracking.
Select Add connection.
Select GitHub Issues.
Confirm Level Access workspaces that should have access. By default, all workspaces will be granted access to this connection. If you want to limit access to specific workspaces, unselect them from the Workspace access * dropdown.
Select Continue.
Select Connect to GitHub Issues. This step authorizes Level Access Platform to access your GitHub Issues account. You will be redirected to GitHub to complete the authorization.
Sign in to GitHub. Grant repository access.
Return to Level Access. Upon success, a message is displayed. The GitHub connection appears with an Authorized status. If authorization fails or is denied, an error is shown.
2. Connect a project to a GitHub repository
Determine which GitHub repository receives Issues created from the Level Access project.
To connect a project to a repository:
View or edit a Level Access project.
In the Issue tracking software field, select GitHub Issues.
Select the existing GitHub Issues instance.
Search the available repositories.
Select a GitHub Issues repository.
Save the project.
3. Configure progress mapping
Keep development status in GitHub aligned with remediation task progress in Level Access. From the project, configure how GitHub states map to Level Access task progress.
Note: The available GitHub values are Open and Closed. Select the corresponding Level Access task progress for each.
To map your GitHub Issues and Level Access project progress:
- Go to Projects/tasks.
- Find the project you want to map to and select the three-dot action menu.
- Select Configure Progress Mapping. The Progress Mapping page is displayed.
- Select a GitHub Issues status on the left to trigger an automatic update to a Level Access Platform task progress on the right. Note that each GitHub Issues status can only be connected to one platform task progress.
- Select a Level Access Platform task progress on the left that will trigger an automatic update to a GitHub Issues status on the right.
- Select Save.
4. Push one or more tasks to GitHub
To push a task to GitHub Issues:
- Navigate to one of the following entry points:
- The project task list.
- Task Details.
- The Create Task workflow.
- Select a task you want to push to GitHub Issues.
- Select Push to GitHub. A confirmation modal displays a preview and shows the connected repository.
- Select Push. Level Access creates a ticket in GitHub Issues. A success message is displayed. The Level Access task displays the following information:
- Link to the issue in the Linked ticket column
- Status of the issue, in the External status column
Note: If the push fails, select Retry.
To push tasks in bulk:
- Navigate to the workspace level, and then to one of the following entry points:
- The project task list.
- Task Details.
- The Create Task workflow.
- Choose each task you want to push.
- Select Push to GitHub. A pop-up will open.
- On the New issues tab, select the appropriate Task pushing options:
- All tasks to the same project as the same issue type
- All tasks to the same project as different issue types
- Each task to a different project as the same issue type
- Each task to a different project as different issue types
- Select the GitHub Issue project.
- Under Push task(s) as issue type(s), select the option(s) you want.
- Select Push.
To push tasks in bulk to an existing issue:
- Switch to the Existing issues tab.
- Select Existing issue.
- Enter the Issue ID for each task.
- Select Link to existing.
It may take a few minutes for a task to be successfully pushed or linked to GitHub Issues.
Note: Issue project and issue type are optional fields. If no project is selected, the issue is created at the repository level. If no issue type is selected, the issue is created without an issue type, and the corresponding field remains empty in GitHub.
5. Work from either system
After the task and GitHub issue are linked the following things happen:
Mapped task progress and GitHub Open/Closed state synchronize.
Comments are synchronized between systems.
GitHub-side title and assignee changes are reflected in Level Access.
Attachments are shared using the GitHub link-based attachment workflow.
To work from either system:
Link the task and GitHub Issue. Refer to Push a task to GitHub.
-
Open the GitHub Issue from the linked task in Level Access. To do so:
Display the project to list its tasks.
Select the link in the Linked ticket column. The task is displayed in the configured GitHub repo.
Work with the task in GitHub.
6. Maintain the connection
If the connection is not-authorized, re-authorize it. You can reauthorize the connection from the Project page only if you have an error (an interrupted or unauthorized connection).
To reauthorize an issue tracking connection from the Project page (Issue Tracking roles only):
Navigate to the workspace level.
Under Find and Fix, select Projects and tasks. The Projects tab is displayed.
- Find the project you want to open and select View project. If the project has an error with the issue tracking connection, a notification is displayed.
- Select Edit issue tracking connection. The Edit connection page is displayed.
- Select Review error message, to learn more about the error. Select Close, to close the message.
- Select the Reauthorize option.
- Select Save.
7. Remove the issue tracking integration
GitHub can be removed at two levels, from a Level Access project, or by removing the organization-level GitHub connection.
Note: Removing a GitHub issues connection will unsync any linked tasks and prevent any further syncing within an organization.
To remove a GitHub Issues connection from a project:
Navigate to the workspace level.
Under Find and Fix, select Projects and tasks.
- Find the project.
- From the three-dot action menu in the top right corner, select Edit. The Project details page is displayed.
- Scroll until reach the section Connect to issue tracking software (optional).
- Select Remove.
Note: After removal, the Level Access tasks remain, their GitHub relationships are removed, and synchronization stops for those links.
To remove the GitHub Issues connection at the organization level:
Navigate to the organizational level.
Under Manage, select Tools & Integrations, and then select Issue tracking.
- Find the connection you want to remove and select the three-dot action menu.
- Select Remove.
- Select the checkbox to acknowledge that you want to remove he connection.
- Select Remove connection.
A warning is displayed, if any projects are using the connection. When the connection is removed:
Connected projects lose the GitHub integration.
Linked tasks are unlinked.
The GitHub webhook is removed.
GitHub Issues are not documented as being deleted.
Comments
0 comments
Please sign in to leave a comment.