Heads up! On October 1, we introduced Gitpod Flex. You can swap between documentation by using the switcher in the left navigation bar.

Add an SCM integration

To start workspaces from your Enterprise Gitpod instance, you’ll need to set up an SCM integration with GitHub, GitLab, Bitbucket, or Azure DevOps. This allows Gitpod to authenticate with your SCM provider, access your repositories and let users in your organization authenticate against your SCM provider.

Gitpod comes with integrations for GitLab, GitHub, Bitbucket and Azure DevOps built-in. To configure your organization to use these integrations, follow the instructions in the respective documentation.

FAQs

How to get SCM API token from Gitpod’s GitLab, GitHub or Bitbucket integration as an environment variable

Run gp init on your terminal or manually create a file called .gitpod.yml

  1. Put the following line in your .gitpod.yml:
language icon yml
image:
    file: .gitpod.Dockerfile
  1. Create a file called .gitpod.Dockerfile and put the following content in it:
language icon dockerfile
FROM gitpod/workspace-full

RUN file="$HOME/.bashrc.d/770-scm_token.sh" \
    && printf '%s\n' 'if [[ "${GITPOD_WORKSPACE_CONTEXT_URL:-}" == *gitlab* ]]; then : "gitlab"; else : "github"; fi; scm_name="$_"' > "${file}" \
    && printf 'export SCM_TOKEN="$(%s)"\n' "gp credential-helper get <<<host=\${scm_name}.com | sed -n 's/^password=//p'" >> "${file}"
  1. Validate your configuration changes by running gp validate in your workspace.
  2. Apply your .gitpod.yml changes by committing and restarting a new workspace.

Now you can use $SCM_TOKEN environment variable after you commit and create a new workspace, this variable will contain an API token based on the Git context (i.e. Gitlab/GitHub/Bitbucket)

How to use a private GitHub email or custom email for Git commits

At the variables page under your user settings, create two variables:

  • GIT_COMMITTER_EMAIL
  • GIT_AUTHOR_EMAIL

and set the custom email address as the value and */* as the scope.

Now all of your new workspaces should use them for Git commits. If you have a workspace running, you can restart it or run eval "$(gp env -e)" in it.

Was this helpful?