Testmo comes with full GitHub Issues integration to push, link and look up issues. The integration is built with a GitHub app published on the official GitHub Marketplace.
Unique to Testmo: the integration uses GitHub's built-in New issue page, so users can use GitHub's native interface with all its features to submit issues. New issues are then automatically linked from Testmo. No complicated configuration or customizations needed.
If you are using a private GitHub server installation instead of GitHub.com, then you can use Testmo's link based integration. See the alternative link-based integration settings below.
Configuring the GitHub Issues integration
To configure the GitHub Issues integration, in Testmo go to Admin > Integrations. You need to be a project or site administrator in Testmo to access this area. Then follow these instructions:
Click + GitHub account
In the Add connection dialog, enter the details of your GitHub account:
Name: Enter the name you want to use for the integration. The name will be displayed in Testmo when choosing an issue tracker integration. This could be your organization (company) name, team name, project name or similar.
GitHub account: Enter your GitHub account name that you want to use for the integration. You will be able to create new issues for repositories of this account (you can add multiple integration connections to integrate multiple accounts). This can be a GitHub organization account or personal account.
Install Testmo app in GitHub: Click the button to navigate to GitHub to install the official Testmo GitHub app. If you have access to multiple GitHub accounts, select the correct GitHub account you entered above. You need to be an organization owner or have admin permissions in a repository to install the app.
Authorize with GitHub: Click the button to authorize the new integration connection with GitHub.
Test connection: You can click this button to make sure everything works.
Save connection: Save the new connection.
The new connection has been created. Important: you now need to map the new integration with some or all of your Testmo projects. To do this, in the Issue tracking section of this page, click + Mapping
In the Add mapping dialog, select the above Connection
You can either select all or select specific GitHub repositories
You can also either select all or select specific Testmo projects
If you want to use the integration with all your repositories and projects, simply create the mapping for this connection with the default settings. The mappings feature allows you to map GitHub repositories and Testmo projects any way you like for fine-grained visibility.
Using the GitHub Issues integration
The integration allows users to create new issues in GitHub from Testmo during testing and test design. Users can also directly look up the status and details of linked issues from Testmo without leaving the app. Users are automatically authenticated with GitHub by using the official GitHub OAuth authentication for secure access when creating new issues.
Adding new and linking existing GitHub issues
To create new GitHub issues from Testmo, simply follow these steps:
From any entity supporting issues in Testmo (such as cases, test results, runs, milestones etc.), click the Add link next to the Issues field (you can find this field in the entity's Add/Edit dialog or from inline result forms)
In the Add issues popup:
Select the configured GitHub issue tracker connection (see above)
Select the repository for the issue(s)
Enter one or more existing issues in the Issue IDs field, or click the + New issues link. This will open GitHub's New issue page. If not yet authenticated, GitHub asks you to confirm the access.
After adding one or multiple issues in GitHub, close the window. Testmo automatically finds any newly added issues and automatically adds them to the Issue IDs field for linking.
Confirm the new issue links by clicking Add
Looking up and accessing GitHub issues
After linking GitHub issues, you can directly look up and access GitHub issues from Testmo. Simply hover your mouse cursor over any linked issue ID and click the arrow next to it to open the lookup popup. Or click the ID to navigate to GitHub to see all details. Testmo supports issue links in various places:
Linked issues are also listed on the Issue report pages for milestones, runs and automation. Testmo automatically retrieves the current status of linked GitHub issues for these reports.
Disabling and uninstalling the integration
You can easily disable the integration at any time. If you want to stop using the integration or want to disable the integration for a specific GitHub account, simply following these steps:
In Testmo, go to Admin > Integrations, select GitHub and either disable or delete the connection. Important: if you delete the connection, you will not be able to navigate to linked issues and not look up issue details anymore. This cannot be undone. It's better to disable the integration instead (this will prevent users from adding new issue links).
In GitHub, go to your account or organization settings and select Installed GitHub Apps from the sidebar. Then select Configure next to the Testmo app. You can then either change the repository permissions, suspend the installation or uninstall it. You will not be able to look up linked issues anymore.
Technical details: How does the integration work?
You do not need to be familiar with the technical details to use the integration. But if you are interested in understanding some of the details, see the following information.
GitHub app integration: When setting up a new GitHub integration connection, you install the official Testmo GitHub app to your GitHub account (organization account or personal account). The GitHub app is used to initiate all OAuth authentication requests (see below) and for any direct app to app communication. During configuration of the new connection, you are asked to authorize the integration. Testmo verifies that you have access to and are an admin or owner of the specified account.
Looking up issues: When looking up issues, Testmo connects to GitHub to retrieve the live status and issue details. The details are always retrieved and displayed from GitHub under the app context and permissions, not the user context.
Pushing issues: When pushing new issues to GitHub and accessing GitHub's New issue page from Testmo, the user is asked to authorize with GitHub by using GitHub's OAuth service. The user needs to have access to the selected GitHub repository. After the New issue window is closed, Testmo finds any newly created issues via the user's context.
Linking existing issues: When users enter existing GitHub issue IDs, they are automatically linked from the entity.
Repository caching: The list of available repositories for the GitHub account might be cached by Testmo to improve performance. If you find that a repository is missing from the list, simply click Refresh repositories from the Repository dropdown.
Alternative link-based integration
If you cannot or don't want to use the above advanced integration for any reason, you can also use Testmo's link-based integration with GitHub. If you already use the above mentioned integration, there's no need to configure the settings below. This alternative link-based integration can be useful if you don't have admin/owner permissions in GitHub or you use a private GitHub server installation. You can use the following details to configure the integration: