Skip to main content
Omni supports two methods for connecting to GitLab repositories:
  • SSH authentication — Uses a deploy key and webhooks to connect Omni to your repository. This is the traditional method and requires configuring both a deploy key and a webhook in GitLab.
  • HTTPS token authentication — Uses a GitLab project access token to authenticate. This method is simpler to set up because it doesn’t require deploy keys or webhooks.
Both methods are covered in the Setup section below. Choose the method that best fits your team’s security requirements and preferences.

Requirements

To follow the steps in this guide, you’ll need: Refer to GitLab’s documentation for information about user permissions.

Setup

Click the tab for the authentication method you want to use to view setup instructions.
1

Retrieve the repository's SSH URL

  1. In your browser, navigate to the GitLab repository you want to connect to Omni.
  2. Click the Code button.
  3. In the modal that displays, locate the SSH option.
Keep this page open - you’ll need it in the next step.
2

Connect the repository to Omni

  1. In Omni, click Develop.
  2. Click the model you want to connect to git.
  3. In the model IDE, click Model > Git settings.
  4. You’ll be prompted to enter connection details for the repository:
    • Authentication Method - Select SSH (Deploy Key) from the dropdown.
    • SSH URL - Copy and paste the repository’s SSH URL from Step 1.
    • Base Branch - Enter the name of the default branch for the repository. Omni will default to main unless a different name is specified.
    • Git follower - Select this option if the repository should be treated as a follower.
  5. Click Configure Git.
The page will update to display additional git settings, including information for deploy keys and webhooks.
3

Add a repository deploy key

Connecting to a repository that’s already linked to another Omni model? Skip to Step 5 - the repository’s deploy key and webhooks should already be configured.
  1. Create a project deploy key for the GitLab repository by following GitLab’s documentation.
    GitLab recomends using a service account when creating a deploy key so that the key will be unaffected if the user leaves the organization.
  2. Fill in the deploy key fields as follows:
    • Title - Enter a descriptive title to help you identify what the key is used for. For example, Omni Snowflake Model
    • Key - Copy the Public key from the Omni Git settings page and paste it into this field.
    • Grant write permissions to this key - Check this box, which will allow Omni to push changes made in Omni to the repository
  3. Click Add key.
4

Add repository webhooks

  1. The repository settings page should still be open in GitLab. If not, re-open it.
  2. Click Webhooks.
  3. Click Add new webhook.
  4. Fill in the fields as follows:
    • URL - From the Omni Git settings page, copy the Payload URL and paste it into this field.
    • Secret token - From the Omni Git settings page, copy the Webhook secret and paste it into this field.
  5. In the Custom headers section:
    1. Click Add custom header.
    2. In the Header name field, enter Content_type.
    3. In the Header value field, enter application/json.
  6. In the Trigger section, select Merge request events.
  7. When finished, click Add webhook.
5

Test the connection

To verify the setup, navigate back to the Git settings page in Omni. Click the Test git connection button near the top of the page to test the connection.

What’s next?

After the setup is complete, you can configure the integration’s behavior by changing its settings. Refer to the git integration settings reference for more information.