In this document, you’ll learn how to integrate your version control system to Nimbus. This will let you automatically load your workspaces with the directories and files you need to get started.
There are two levels of version control integration with Nimbus.
- Org Level integration → this lets you connect to a shared GitHub account where repos are located
- User Level integration → this authenticates the user’s access to the Org Level version control system account
When both integrations are made, a user can select the authorized repos to be cloned from supported version control systems into workspaces during their creation.
Workspaces can host multiple repos because workspaces work like a laptop in the cloud. However, repos are not guaranteed to be updated unless (1) the user refreshes them within an active workspace; or (2) the workspace is recreated.
Github and Bitbucket are both supported via Nimbus. Other version control systems will be supported in the near future.
Org Version Control System Integration
Organization-level integrations connect Nimbus to the main version control system account that contains project repositories.
This integration is managed on the org settings page. This can be accessed by clicking on the drop-down at the top left corner of the Nimbus webapp or directly at app.usenimbus.com/orgSetting.
To connect your org’s GitHub account, simply select the platform you use (Github or Bitbucket), enter your credentials, and provide permission to access all or select repositories in your version control account.
Once connected, you will see the Org Settings page updated with an image under the Version Control System section (see image below).
User Version Control System Integration
User-level integrations will verify the identity of the user, provide access to authorized repositories within the organization-level version control system, and let users tie repos to templates and workspaces.
To connect, simply go to the account page from the lefthand panel of the Nimbus webapp or directly at https://app.usenimbus.com/home/account.
There, you will be able to install/authorize your version control system. Selecting install or authorize will take you to an external page confirming the action before returning you back to Nimbus. You will know that you are connected with a visual indicator as seen below:
With this connection complete, you are now able to link repositories to templates and workspaces.
Linking Repositories to Templates and Workspaces
Repositories are linked to Templates. When a repository is linked to a Template, all workspaces created from that Template will have that specific repository preloaded at workspace creation.
Linking a repository is simple. Head to the Template page using the left-hand navigation panel on the Nimbus webapp or directly at https://app.usenimbus.com/home/template.
Select a Template that you’d like to link to a repo or create a new one. In the Repositories section of the Template Create and Edit page, select the repo(s) you want to link to workspaces created from the account. All users who create a workspace from this template will have the repo preloaded on the workspace - this can include users who should not have access to the repo.
If you are not able to find a specific repo, please ensure that the repo exists and you have the right authorization levels to access that repo.
Uninstalling Github Integration
To remove the Nimbus integration for Github, simply navigate to the Applications settings in your Github account (see link: github.com/settings/installations).
On this page, there are two tabs where the integration needs to be removed:
- Installed Github Apps
- Authorized Github Apps
Installed Github Apps
To continue the uninstallation, simply select configure. This will take you to a page where you can see permissions granted to Nimbus, manage repository access, and suspend or uninstall the installation completely.
Authorized Github Apps
To unauthorize Nimbus for Github, simply click the “Revoke” button. This will launch a confirmation prompt which you must accept to continue with revoking access.