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 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 owner or maintainer role.

Self-managed gitlab installation

This feature is available for enterprise use-cases.

To integrate the self-managed gitlab installation to control room, an oauth application needs to be created and the relevant information of that application needs to be fed into control room. This can be done in the control room integrations - page under the organization in question.

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

  1. Open the integrations - page in Robocorp Control Room under your organization.
  2. Initiate the connection by clicking the 'self-managed gitlab' button. This will open a form where you are provided info that assists with gilab-side configuration. You will also need to return here from gitlab.
  3. 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
  4. Log in to your GitLab account and navigate to the Applications section of your user settings or the settings page of a group.
  5. Click on the New Application button.
  6. 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

  1. Click the Save application button to save the configuration.
  2. Take note of the Application ID and Application Secret values, as they will be need on Control Room
  3. Navigate back to the dialog in step 3, fill in the gitlab server URI, the oauth application Application ID and Application Secret
  4. Hit Connect Gitlab - button
  5. Accept the oauth authorization on gitlab's side.

Accept authorization

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

Last edit: June 8, 2022