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 and Azure
  • SAML Configure GitLab as a SAML 2.0 Service Provider
  • CAS Configure GitLab to sign in using CAS
  • Slack Integrate with the Slack chat service
  • 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

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. You can find these within GitLab in the Services page under Project Settings if you are at least a master on the project. Project Services are a bit like plugins in that they allow a lot of freedom in adding functionality to GitLab. For example there is also a service that can send an email every time someone pushes new commits.

Because GitLab is open source we can ship with the code and tests for all plugins. This allows the community to keep the plugins up to date so that they always work in newer GitLab versions.

For an overview of what projects services are available without logging in, please see the project_services directory.

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 SuperUser also has relevant information.

Omnibus Trusted Chain

It is enough to concatenate the certificate to the main trusted certificate:

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

After that restart GitLab with:

sudo gitlab-ctl restart