GitLab Integration

GitLab integrates with multiple third-party services to allow external issue trackers and external authentication.

See the documentation below for details on how to configure these services.

  • JIRA Integrate with the JIRA issue tracker
  • External issue tracker Redmine, JIRA, etc.
  • LDAP Set up sign in via LDAP
  • OmniAuth Sign in via Twitter, GitHub, GitLab.com, Google, Bitbucket, Facebook, Shibboleth, SAML, Crowd, Azure and Authentiq ID
  • SAML Configure GitLab as a SAML 2.0 Service Provider
  • CAS Configure GitLab to sign in using CAS
  • OAuth2 provider OAuth2 application creation
  • Gmail actions buttons Adds GitLab actions to messages
  • reCAPTCHA Configure GitLab to use Google reCAPTCHA for new users
  • Akismet Configure Akismet to stop spam
  • Koding Configure Koding to use IDE integration
  • PlantUML Configure PlantUML to use diagrams in AsciiDoc documents.

GitLab Enterprise Edition contains advanced Jenkins support.

Project services

Integration with services such as Campfire, Flowdock, Gemnasium, HipChat, Pivotal Tracker, and Slack are available in the form of a Project Service.

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 on different parts of the application, most likely Sidekiq. There are 2 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 GitLab Omnibus.

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