GitLab integrations

GitLab can be integrated with external services for enhanced functionality.

Issue trackers

You can use an external issue tracker at the same time as the GitLab issue tracker, or use only the external issue tracker.

Authentication sources

GitLab can be configured to authenticate access requests with the following authentication sources:

  • Enable the Auth0 OmniAuth provider.
  • Enable sign in with Bitbucket accounts.
  • Configure GitLab to sign in using CAS.
  • Integrate with Kerberos.
  • Enable sign in via LDAP.
  • Enable OAuth2 provider application creation.
  • Use OmniAuth to enable sign in via Twitter, GitHub, GitLab.com, Google, Bitbucket, Facebook, Shibboleth, SAML, Crowd, Azure or Authentiq ID.
  • Use GitLab as an OpenID Connect identity provider.
  • Authenticate to Vault through GitLab OpenID Connect.
  • Configure GitLab as a SAML 2.0 Service Provider.

Security enhancements

GitLab can be integrated with the following external services to enhance security:

GitLab also provides features to improve the security of your own application. For more details see GitLab Secure.

Continuous integration

GitLab can be integrated with the following external service for continuous integration:

Feature enhancements

GitLab can be integrated with the following enhancements:

Integrations

Integration with services such as Campfire, Flowdock, HipChat, Pivotal Tracker, and Slack are available as Integrations.

Troubleshooting

SSL certificate errors

When trying to integrate GitLab with services that are using self-signed certificates, it is very likely that SSL certificate errors will occur in different parts of the application, most likely Sidekiq.

There are two approaches you can take to solve this:

  1. Add the root certificate to the trusted chain of the OS.
  2. If using Omnibus, you can add the certificate to GitLab's trusted certificates.

OS main trusted chain

This resource has all the information you need to add a certificate to the main trusted chain.

This answer at Super User also has relevant information.

Omnibus Trusted Chain

Install the self signed certificate or custom certificate authorities in to Omnibus GitLab.

It is enough to concatenate the certificate to the main trusted certificate however it may be overwritten during upgrades:

cat jira.pem >> /opt/gitlab/embedded/ssl/certs/cacert.pem

After that restart GitLab with:

sudo gitlab-ctl restart