Document toolboxDocument toolbox

GitLab Integration

While GitLab helps engineering teams take their collaboration to the next level, it can be hard for for those in other departments to get the high-level picture of their team's ongoing projects. To better visualize your GitLab projects in a consumable, simple to understand roadmap, users can create a one-way connection with GitLab which allows them to pull content into their roadmaps and visualize it against other projects across all the tools your team uses on a daily basis.

Getting Started with GitLab

Linking Strategic Roadmaps to your GitLab Instance

image-20240515-190858.png

In order to connect your Roadmaps to your instances & projects in GitLab, an Account Admin on your Strategic Roadmaps account will need to establish the connection between Strategic Roadmaps and GitLab first. Once this connection is established, users will be able to view and select this integration option during their on-roadmap setup and save both instance & credential details for future setup of additional roadmaps.

To create a new GitLab integration in Strategic Roadmaps:

  1. Click into your avatar in the bottom-left and navigate into the Account Settings menu.

  2. Once in Account Settings, navigate to the Integrations tab along the top.

  3. Select the + Add an integration button and choose GitLab from the configuration menu.

  4. In the setup window that appears, enter the following details:

    • GitLab Integration Name: The reference name which describes to yourself and your team the GitLab instance you're connecting to.

    • GitLab Integration URL is shown but cannot be edited due to the static nature of this pathway. Unlike other Strategic Roadmaps integrations, the instance being accessed is defined at the roadmap level, not the account level.

  5. Once these details have been entered, click the Create Integration button to finalize the setup.

To update an existing GitLab integration in Strategic Roadmaps:

  1. Click into your avatar in the bottom-left and navigate into the Account Settings menu.

  2. Once in Account Settings, navigate to the Integrations tab along the top.

  3. Select the Edit button in the GitLab Integration you're looking to update.

  4. In the edit window that appears, the administrator who created the integration can update:

    • GitLab Integration Name: The reference name which describes to yourself and your team the GitLab instance you're connecting to.

  5. Once these details have been changed, click the Update Integration button to finalize the setup. Changes are applied immediately for all users across the account.

To delete an existing GitLab integration in Strategic Roadmaps:

  1. Prior to deletion, ensure that no roadmaps are currently using this particular integration.

  2. Click into your avatar in the bottom-left and navigate into the Account Settings menu.

  3. Once in Account Settings, navigate to the Integrations tab along the top.

  4. Select the Delete button in the GitLab integration you're looking to remove.

  5. Once selected, the integration will be deleted immediately and will be removed from the menu.

Generating Credentials for Strategic Roadmaps in GitLab

In order to authorize the data transfer between Strategic Roadmaps and GitLab, Strategic Roadmaps relies on a user-generated credential which allows the user to view and pull their data from their projects. In this case, we require a Personal Access Token (PAT) generated in GitLab as your credential and during the roadmap setup will allow you to set a Credential Label so you can easily differentiate this particular token from others you may use (in the case of teams working across multiple active GitLab deployments).

image-20240515-190951.png

Users can generate a Personal Access Token from the Preferences menu in GitLab. For more details see GitLab's article on creating a personal access token.

  • In GitLab, click on your public avatar and select Preferences > Access Tokens.

  • Specify a Token name. It can be anything and does not need to match the Credentials Label in Strategic Roadmaps.

  • At a minimum select read_api from the Select scopes section and update the Expiration date.

  • Click the Create personal access token button.

  • Click copy personal access token button and paste the value into the Personal Access Token field in Strategic Roadmaps.

Once they've expired (or as needed prior to expiration), tokens can be revoked, removed, or regenerated from the Personal Access Tokens menu. 

Connecting your Roadmaps to GitLab

Integrations Setup Walkthrough

It's a quick and easy process to set up an integration between your GitLab projects and your team's roadmaps in Strategic Roadmaps. The setup process can be broken down into three stages: triggering the integration, applying synchronization settings, and applying field and filter settings. Once those have been completed, your roadmap will be set to pull and visualize data from GitLab as needed.

Step 1 - Triggering the Roadmap Integration

Once the integration connector has been set up by your Account Admin, you will be able to select the Setup GitLab Integration option in the Integrations tool on your roadmap. Triggering this integration will not overwrite your existing data; however, once you've linked a roadmap to a project you are unable to remove that connection or change the specified project.

This option will activate a setup wizard which will walk you through the process of connecting your roadmap to a specific project in GitLab to act as a data source for your roadmap.

Step 2 - Applying Synchronization Settings

Once in the setup wizard, you will be prompted to follow the preset workflow to complete the integration. In the first phase of this workflow, you will have the option to select which GitLab connector you would like to pull project data through, the synchronization direction (one-way, at this time), and the automatic sync cadence (default is set to 12 hours).

 

Step 3 - Applying Credentials, Field & Filter Settings

Once your instance has been selected, you'll be prompted to choose your credentials for syncing with GitLab. If you haven't previously set up credentials to sync with, please enter the Personal Access Token that was generated in the steps above and apply a Credential Label for future reference.

After these details above have been provided, you will be able to select the project you would like to pull data from and the state of issues being pulled to bring in only the relevant content is being pulled. Once these settings have been applied, you'll be able to specify Start Date & End Date and select the GitLab fields to use on your roadmap. While the specified projects can't be changed after the setup, the user-defined dates and fields can be updated later if needed.

Once you've completed this phase of the setup, you'll be taken to a confirmation screen to let you know that the integration has been setup successfully. After completing the setup wizard, you'll be returned to the roadmap view where your data will begin to populate from your specified GitLab project.

What to Expect After Integrating

Once you've integrated your data from GitLab, there will be a few changes to your roadmaps. The following changes may occur after you've setup your integration:

  • All fields pulled from GitLab are Account-Level by default - Since the properties and values of these synchronized fields are managed in GitLab, we automatically promote them to account-level so they can be accessible as common fields in Portfolio roadmaps.

  • There is an External ID field that appears in the Items Table view - When synchronizing data from GitLab, we pull in the ID of each issue for reference on your roadmap. This is clickable and linked out to your team's GitLab instance, so you can quickly access the respective work item from either your Table view and Item Card.

  • Unable to change or add new projects on a single roadmap - As with our other integrations, we limit connections between roadmaps and third-party tools to be a 1:1 connection. This means that you will be unable to sync multiple projects into a single roadmap; however, you will be able to create multiple roadmaps for each project and use those as sources in a Portfolio roadmap.

  • Additional Date fields will be read-only - Due to a variance in field formatting between Strategic Roadmaps and GitLab, any additional Date fields selected which are not mapped to Start and End Dates will be pulled in as read-only text fields.

  • Tokens may expire a set number of days after being created - Unlike API tokens generated for credentials in Jira, which have a longer-term expiry, Personal Access Tokens generated in GitLab will expire depending on your specifications during the setup. These tokens can be easily regenerated for continued use, but your in-app credentials will need to be updated.

Modifying GitLab Integration Setup

Once the initial integration setup is complete, the roadmap owner will be able to modify the setup at any time. To do so, from the Items Table or in a roadmap visualization, simply click the GitLab button (which replaced the Integrations button) in the roadmapping toolbar and select "Modify Setup" from the drop-down menu. This will open the integration setup menu and you can update sync settings, credentials, filter work items, and select fields. 

Â