- 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.
Requirements
To follow the steps in this guide, you’ll need:- Omni Connection Admin permissions for the model you want to connect to git
- An existing repository
- Permissions in that allow you to:
Setup
Click the tab for the authentication method you want to use to view setup instructions.
- SSH authentication
- HTTPS token authentication
1
Retrieve the repository's SSH URL
- In your browser, navigate to the GitLab repository you want to connect to Omni.
- Click the Code button.
- In the modal that displays, locate the SSH option.
2
Connect the repository to Omni
- In Omni, click Develop.
- Click the model you want to connect to git.
- In the model IDE, click Model > Git settings.
- 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
mainunless a different name is specified. - Git follower - Select this option if the repository should be treated as a follower.
- Click Configure Git.
3
Add a repository deploy key
- 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.
- 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
- Click Add key.
4
Add repository webhooks
- The repository settings page should still be open in GitLab. If not, re-open it.
- Click Webhooks.
- Click Add new webhook.
- 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.
- In the Custom headers section:
- Click Add custom header.
- In the Header name field, enter
Content_type. - In the Header value field, enter
application/json.
- In the Trigger section, select Merge request events.
- 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.