- Issue trackers
- Authentication sources
- Security enhancements
- Continuous integration
- Feature enhancements
GitLab can be integrated with external services for enhanced functionality.
You can use an external issue tracker at the same time as the GitLab issue tracker, or use only the external issue tracker.
GitLab can be integrated with the following external issue trackers:
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.
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.
GitLab can be integrated with the following external service for continuous integration:
- Jenkins CI.
GitLab can be integrated with the following enhancements:
- Add GitLab actions to Gmail actions buttons.
- Configure PlantUML to use diagrams in AsciiDoc documents.
- Attach merge requests to Trello cards.
- Enable integrated code intelligence powered by Sourcegraph.
- Add Elasticsearch for Advanced Global Search, Advanced System Search, and faster searching.
Integration with services such as Campfire, Flowdock, HipChat, Pivotal Tracker, and Slack are available as Integrations.
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:
- Add the root certificate to the trusted chain of the OS.
- 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