Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Tutorials
    • All tutorials
    • Enabling a blue-green and canary deployment of web service versions
    • Automating image builds using Jenkins and Packer
    • Continuous deployment of containerized applications using GitLab
    • App testing with GitLab
    • Creating test VMs using GitLab CI
    • GitLab integration with Tracker
    • High-performance computing on preemptible VMs
    • Load testing a gRPC service
    • Fixed-load HTTPS testing with Phantom
    • Step-load HTTPS testing with Pandora
    • Scripted HTTP load testing with Pandora
    • Load testing using multiple agents
    • Migrating load testing results from OverLoad
    • Running external agents for load testing
    • JMeter load testing
    • Getting statistics on queries to Object Storage objects using Query
    • Getting the number of queries to Object Storage objects
    • Invoking load testing from GitLab CI
    • Comparing load test results
    • Deploying GitLab Runner on a Compute Cloud virtual machine

In this article:

  • Getting started
  • Required paid resources
  • Enable Yandex Tracker
  • Create a GitLab instance
  • (Optional) Create a GitLab project
  • Create a hook for integration
  • Test the hook
  • Check the result
  • Delete the resources you created
  1. Development and testing
  2. GitLab integration with Tracker

GitLab integration with Yandex Tracker

Written by
Yandex Cloud
Updated at May 7, 2025
  • Getting started
    • Required paid resources
  • Enable Yandex Tracker
  • Create a GitLab instance
  • (Optional) Create a GitLab project
  • Create a hook for integration
  • Test the hook
  • Check the result
  • Delete the resources you created

In Tracker issues, you can automatically add links to GitLab merge requests by specifying the appropriate issue key in the name or description of a new merge request. The links will be placed in the Links to external applications section.

You can also enable automatic creation of issue comments with information about merge requests. Auto comments are only available for Managed Service for GitLab.

To set up integration with GitLab in Tracker:

  1. Connect Yandex Tracker.
  2. Create a GitLab instance.
  3. (Optional) Create a GitLab project.
  4. Create a hook for integration.
  5. Test the hook.
  6. Check the result.

If you no longer need the resources you created, delete them.

Getting started

Sign up in Yandex Cloud and create a billing account:

  1. Navigate to the management console and log in to Yandex Cloud or register a new account.
  2. On the Yandex Cloud Billing page, make sure you have a billing account linked and it has the ACTIVE or TRIAL_ACTIVE status. If you do not have a billing account, create one and link a cloud to it.

If you have an active billing account, you can navigate to the cloud page to create or select a folder for your infrastructure to operate in.

Learn more about clouds and folders.

Required paid resources

The infrastructure support cost includes:

  • Fee for a disk and a continuously running VM (see Yandex Compute Cloud pricing).
  • Fee for the number of Tracker users with full access if there are more than 5 of them (see Tracker pricing).
  • Fee for using a public IP address (see Yandex Virtual Private Cloud pricing).

Enable Yandex Tracker

Enable Tracker for your Yandex Cloud organization.

Create a GitLab instance

Create a Managed Service for GitLab instance or a VM with the GitLab image.

Managed Service for GitLab instance
VM with a GitLab image

Create a Managed Service for GitLab instance by following this guide.

Launch GitLab on a VM with a public IP.

  1. On the folder page in the management console, click Create resource and select Virtual machine instance.

  2. Under Boot disk image, in the Product search field, enter Gitlab and select a public GitLab image.

  3. Under Location, select an availability zone to place your VM in. If you do not know which availability zone you need, leave the default one.

  4. Under Computing resources, navigate to the Custom tab and specify the required platform, number of vCPUs, and the amount of RAM:

    • Platform: Intel Ice Lake.
    • vCPU: 4.
    • Guaranteed vCPU performance: 100%.
    • RAM: 8 GB.
  5. Under Network settings:

    • In the Subnet field, select the network and subnet to connect your VM to. If the required network or subnet is not listed, create it.
    • Under Public IP address, keep Auto to assign your VM a random external IP address from the Yandex Cloud pool or select a static address from the list if you reserved one in advance.
  6. Under Access, select SSH key and specify the VM access data:

    • Under Login, enter the username. Do not use root or other names reserved by the OS. To perform operations requiring superuser permissions, use the sudo command.
    • In the SSH key field, select the SSH key saved in your organization user profile.

      If there are no saved SSH keys in your profile, or you want to add a new key:

      • Click Add key.
      • Enter a name for the SSH key.
      • Upload or paste the contents of the public key file. You need to create a key pair for the SSH connection to a VM yourself.
      • Click Add.

      The SSH key will be added to your organization user profile.

      If users cannot add SSH keys to their profiles in the organization, the added public SSH key will only be saved to the user profile of the VM being created.

  7. Under General information, specify the VM name: ci-tutorial-gitlab.

  8. Click Create VM.

It may take a few minutes to create the VM. When the VM status changes to RUNNING and GitLab starts, configure its settings.

(Optional) Create a GitLab project

To set up integration for an individual GitLab project, create one.

Managed Service for GitLab instance
VM with a GitLab image
  1. Log in to the Managed Service for GitLab instance web interface.

  2. Click Create a project.

  3. Click Create blank project.

  4. Fill in the fields as follows:

    • Project name: Enter a name for the project.
    • Project URL: Select the administrator user in the field next to the Managed Service for GitLab instance FQDN.

    Leave the other fields unchanged.

  5. Click Create project.

  1. On the Yandex Compute Cloud page, select the created VM and copy its public IP.

  2. Connect to the VM over SSH.

  3. Get the GitLab administrator password with the following VM command:

    sudo cat /etc/gitlab/initial_root_password
    
  4. Copy the password without spaces from the Password line to the clipboard or a separate file.

  5. In your browser, open http://<VM_public_IP_address>. This will take you to the GitLab web interface.

  6. Log in as the administrator:

    • Username or email: root.
    • Password: Password you copied in the previous step.

    If you are unable to log in, reset the administrator password.

  7. Change the administrator password.

  8. Log in as the administrator with the new password.

  9. Select Create a project.

  10. Give your project a name.

  11. Click Create project.

Create a hook for integration

To link GitLab merge requests to Tracker issues, create a hook:

  1. If you do not have an OAuth token for working with the Tracker API yet, get one.
  2. Check if you have access to the API by requesting information about the current user.
  3. Open a GitLab instance and go to the hook settings:
    • To enable integration for the entire GitLab instance (GitLab admin privileges are required):
      1. In the left-hand panel, click the Your work drop-down list and select Admin Area.
      2. Go to System Hooks.
    • To enable integration for an individual project:
      1. Go to the project you need.
      2. In the left-hand panel, click Settings and select Webhooks.
  4. Specify the hook parameters:
    • URL: https://api.tracker.yandex.net/v2/system/gitlab/receive?comments=true&<organization_type>=<organization_ID>.

      Where:

      • comments=true: Enables automatic creation of comments in an issue with a link to and information about merge requests. Disable it if commenting is not required. This parameter is only available for Managed Service for GitLab.

      • <organization_type>: It may take the following values:

        • x_cloud_org_id: If the type of your organization is Yandex Cloud Organization.
        • x_org_id: If the type of your organization is Yandex 360 for Business or both Yandex 360 for Business and Yandex Cloud Organization.
      • <organization_ID>: ID of the organization on the Tracker organizations page.

    • Secret token: OAuth token of the bot which will create the links, in OAuth <token_contents> format.
      For example: OAuth y1_AQAD-qJScAAAEKEQbBNnChvfBIqR_yEQl_HMO0********.

    • In the Trigger section, disable all options except Merge request events.

    • In the SSL verification section, select Enable SSL verification.

  5. Click Add system hook (Add webhook for an individual project).

The System Hooks (Project Hooks for an individual project) section with information about the created hook and its parameters will appear on the page.

Test the hook

  1. Under System Hooks (Project Hooks for an individual project), click Test.
  2. Select Merge request events from the drop-down list.

A test request should return a response saying Hook executed successfully: HTTP 204. If the test request returns an error, the hook parameters are incorrect.

Check the result

  1. Create an issue in Tracker.

  2. Create a merge request in GitLab and specify the issue key in its name or description.

  3. Make sure a link to the merge request from GitLab appears in the Tracker issue under Links to external applications.

    If you used Managed Service for GitLab and enabled auto comments when creating a hook, the issue will show a comment with the merge request link and details.

Delete the resources you created

Delete the resources you no longer need to avoid paying for them:

  1. Delete the Managed Service for GitLab instance or the GitLab image VM.
  2. If you reserved a public static IP address for the VM, release and delete it.

Was the article helpful?

Previous
Creating test VMs using GitLab CI
Next
High-performance computing on preemptible VMs
Yandex project
© 2025 Yandex.Cloud LLC