Version Control Integrations

Available Version Control Integrations

Robocorp Control Room allows for automatic updates of robots on every branch push on GitHub and GitLab.

In Robot configuration, pick the branch to track, and every time a pull/merge request is made to that branch, the Robocorp Control Room will update the robot with the latest changes.

Deploying Robot

Integrating with GitHub

Supported GitHub Products

Setting up GitHub Integration

GitHub integration can be set up from the organization settings page.

Version control organization settings

Multiple GitHub organizations can be linked to each of the Control Room organizations, but there can only be a single installation of the GitHub Robocorp app.

Because of this, the Control Room will check if any of the organizations have a Robocorp app installed. If so, it will prompt the user to select which of the existing installations should be linked to this Control Room organization.

Version control link existing GitHub app installation

You can either create a new installation of the Robocorp app or link an existing one.

Integrating with GitLab

Supported GitLab Products

The self-managed GitLab solution is also supported.

All access to repositories can be managed from the GitHub Application settings. Control Room will allow the creation of robots from all the repositories available for a given installation.

Setting up GitLab Integration

GitLab integration can be set up from the organization settings page.

Version control organization settings

Only a single GitLab user can be linked per Control Room organization. This is an imitation of how the GitLab access control works. Control Room will have access to the repositories where the GitLab user has an owner or maintainer role.

Self-managed GitLab installation

This feature is available for enterprise use cases.

Integrating the self-managed GitLab installation into Control Room requires the following things. You need to create an OAuth application, and you need to feed the relevant information of that application into the Control Room. You can do these in Control Room under Organizations configuration on the Integrations - page.

To configure the GitLab OAuth application for self-managed installation and enable the integration:

  • Open the Integrations - page in Robocorp Control Room under your organization.
  • Initiate the connection by clicking the 'Self Hosted GitLab' -button to open a form that assists with the configuration on the GitLab side. You will also need to return here from GitLab.
  • Take note of the required redirect URI via the copy-paste button on the dialog; you'll need this in GitLab. Configuration dialogue in Control Room
  • Log in to your GitLab account and navigate to the Applications section of your user settings or the settings page of a group.
  • Click on the New Application button.
  • Fill in the following details:
    • Name: Robocorp Control Room ( or any name you may find informative )
    • Redirect URI: Fill in the appropriate redirect URI. You can copy this from the control room UI as you initiate the connection.
    • Confidential: Checked
    • Scopes: api

Gitlab App Configuration

  • Click the Save application button to save the configuration.
  • Take note of the Application ID and Application Secret values, as you will need them in Control Room
  • Navigate back to the dialog in step 3, fill in the GitLab server URI, the OAuth application Application ID and Application Secret
  • Hit the Connect Gitlab - button
  • Accept the OAuth authorization on GitLab's side.

Accept authorization

With these steps, you can now set up the GitLab integration in the Robocorp Control Room for your self-managed GitLab installation.

Last edit: May 12, 2023