GitLab Issues

Testmo comes with full GitLab Issues integration to push, link and look up issues. The integration works with both GitLab.com accounts as well as self-hosted GitLab server installations.

Unique to Testmo: the integration uses GitLab's built-in New issue page, so users can use GitLab's native interface with all its features to submit issues. New issues are then automatically linked from Testmo. No complicated configuration or customizations needed.

Learn more and see screenshots of our GitLab test management integration.

Also works with GitLab CI/CD

You can also integrate Testmo with GitLab CI/CD pipelines to submit automated tests from your CI workflows. Learn more about all GitLab integrations.

Using a self-hosted GitLab server installation?

Testmo also works with self-hosted GitLab server installations. For Testmo to be able to connect to GitLab using GitLab's API, your GitLab server must be reachable and accessible over the Internet. If your GitLab server is only available on your private network, Testmo will not be able to connect to it. In this case, you can still use our alternative link-based GitLab integration.

You can also see the alternative link-based integration settings below in case a direct connection is not possible.

Configuring the GitLab Issues integration

To configure the GitLab 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:

  • Select GitLab

  • Click + GitLab account

  • In the Add connection dialog, enter the details of your GitLab 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.

    • GitLab address: Either select GitLab.com for their cloud service, or select a custom self-hosted GitLab server installation. For a self-hosted GitLab server, also enter the full web address of your GitLab server installation. Important: The server and web address must be accessible over the Internet by Testmo to connect to it (see above).

    • Set up token authentication: In GitLab, create an access token so Testmo can connect to GitLab and authorize with its API. Note that any projects and issues accessible by this user can be looked up and accessed from Testmo by any Testmo user, as this access token is used for any app to app communication. You might want to use a separate integration user in GitLab if you want to limit project access. You can either use a personal access token for a user or a project access token (only supported by some GitLab subscription plans). To create a new access token in GitLab, either from the user preferences or project settings select Access Tokens in the left sidebar. Then create a new token with the following settings:

      • Token name: Testmo

      • Expiration date: Leave empty

      • Select scopes: Check api

      • After saving/creating the token, copy the new access token to Testmo's dialog.

    • Set up OAuth authentication: To enable Testmo users to authenticate with GitLab OAuth to push issues, configure a new Application in GitLab. This can be done on a user, group or instance-wide basis in GitLab. You can learn more in GitLab's documentation. You only need to configure this once, not for all your users. For example, to configure the application on a user basis, select Applications from the sidebar of the user preferences page in GitLab. Then add a new application with the following settings:

      • Name: Testmo

      • Redirect URI: https://interop.testmo.net/gitlab-app/oauth/callback

      • Confidential and Expiration: Leave default

      • Select scopes: Check api

      • After saving/creating the token, copy both the Application ID and Secret to Testmo's dialog.

    • 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 GitLab projects

    • You can also either select all or select specific Testmo projects

If you want to use the integration with all your Testmo and GitLab projects, simply create the mapping for this connection with the default settings. The mappings feature allows you to map GitLab repositories and Testmo projects any way you like for fine-grained visibility.

Using the GitLab Issues integration

The integration allows users to create new issues in GitLab 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 GitLab by using the configured OAuth authentication for secure access when creating new issues.

Adding new and linking existing GitLab issues

To create new GitLab 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 GitLab issue tracker connection (see above)

    • Select the project for the issue(s)

    • Enter one or more existing issues in the Issue IDs field, or click the + New issues link. This will open GitLab's New issue page. If not yet authenticated, GitLab asks you to confirm the access.

    • After adding one or multiple issues in GitLab, 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 GitLab issues

After linking GitLab issues, you can directly look up and access GitLab 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 GitLab to see all details. Testmo supports issue links in various places:

  • Milestones

  • Cases

  • Runs

  • Test results

  • Sessions

  • Session results

  • Automation comments

Linked issues are also listed on the Issue report pages for milestones, runs and automation. Testmo automatically retrieves the current status of linked GitLab 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 GitLab account, simply following these steps:

  • In Testmo, go to Admin > Integrations, select GitLab 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 GitLab, delete both the created Access token and the Application (for the OAuth integration). You either need to do these on the user, project, group or instance level, depending on where you've added the token and application registration. 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.

  • Token authentication: Testmo accesses GitLab's API for any app to app communication by using GitLab access tokens. This can be any access token supported by your GitLab account, such as personal access tokens or project access tokens. Testmo uses app to app communication to retrieve the details for any linked issues and to show these details to any Testmo user (e.g. in lookup popups and issue reports).

  • OAuth authentication: Testmo uses GitLab OAuth authentication to find newly created issues with the user's context. When a user accesses GitLab's New issue page, users might be asked to confirm the access with GitLab OAuth.

  • Linking existing issues: When users enter existing GitLab issue IDs, they are automatically linked from the entity.

  • Project caching: The list of available projects for the GitLab account might be cached by Testmo to improve performance. If you find that a project is missing from the list, simply click Refresh projects from the Project dropdown.

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 GitLab. 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 the required permissions in GitLab or you use a private GitLab server installation behind a firewall. You can use the following details to configure the integration:

  • Because GitLab includes the project name in its links, you need to configure a separate connection for each GitLab project you want to integrate

  • Use the following New issue link setting:

# For a GitLab.com account, adjust the account and project
https://gitlab.com/<account>/<project>/-/issues/new

# For a GitLab server installation, adjust the address, account and project
https://<address>/<account>/<project>/-/issues/new
  • Use the following View issue link setting:

# For a GitLab.com account, adjust the account and project
https://gitlab.com/<account>/<project>/-/issues/$(id)

# For a GitLab server installation, adjust the address, account and project
https://<address>/<account>/<project>/-/issues/$(id)

Last updated