debian-mirror-gitlab/doc/integration/index.md
2023-01-12 18:35:48 +00:00

119 lines
4.2 KiB
Markdown

---
stage: Manage
group: Integrations
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
comments: false
---
# GitLab integrations **(FREE)**
You can integrate GitLab with external services for enhanced functionality.
## Services
Services such as Campfire, Flowdock, Jira, Pivotal Tracker, and Slack
are available as [integrations](../user/project/integrations/index.md).
## Issue trackers
You can use an [external issue tracker](external-issue-tracker.md) with the GitLab
issue tracker or use an external issue tracker only.
## Authentication sources
You can integrate GitLab with the following authentication sources:
- Enable the [Auth0 OmniAuth](auth0.md) provider.
- Enable sign-in with [Bitbucket](bitbucket.md) accounts.
- Authenticate with [Kerberos](kerberos.md).
- Enable sign-in with [LDAP](../administration/auth/ldap/index.md).
- Enable creating [OAuth 2.0](oauth_provider.md) applications.
- Use [OmniAuth](omniauth.md) to enable sign-in through:
- Authentiq ID
- Azure
- Bitbucket
- Crowd
- Facebook
- GitHub
- GitLab.com
- Google
- SAML
- Twitter
- Use GitLab as an [OpenID Connect](openid_connect_provider.md) identity provider.
- Authenticate with [Vault](vault.md) through GitLab OpenID Connect.
- Configure GitLab as a [SAML 2.0](saml.md) Service Provider.
## Security enhancements
You can integrate GitLab with the following security enhancements:
- [Akismet](akismet.md) to reduce spam.
- Google [reCAPTCHA](recaptcha.md) to verify new users.
GitLab also provides features to improve the security of your own application.
For more details, see [Secure your application](../user/application_security/index.md).
## Security partners
You can integrate GitLab with several security partners. For more information, see
[Security partner integrations](security_partners/index.md).
## Continuous integration
You can integrate GitLab with the following external services for continuous integration:
- [Jenkins](jenkins.md) CI.
- [Datadog](datadog.md) to monitor for CI/CD job failures and performance issues.
## Feature enhancements
You can integrate GitLab with the following feature enhancements:
- Add GitLab actions to [Gmail actions buttons](gmail_action_buttons_for_gitlab.md).
- Configure [PlantUML](../administration/integration/plantuml.md)
or [Kroki](../administration/integration/kroki.md) to use diagrams in AsciiDoc and Markdown documents.
- Attach merge requests to [Trello](trello_power_up.md) cards.
- Enable integrated code intelligence powered by [Sourcegraph](sourcegraph.md).
- Add [Elasticsearch](advanced_search/elasticsearch.md) for [Advanced Search](../user/search/advanced_search.md).
## Troubleshooting
### SSL certificate errors
When integrating GitLab with services using a self-signed certificate, you might
encounter SSL certificate errors in different parts of the application.
As a workaround, you can do one of the following:
- Add the certificate to the OS trusted chain. See:
- [Adding trusted root certificates to the server](https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html)
- [How do you add a certificate authority (CA) to Ubuntu?](https://superuser.com/questions/437330/how-do-you-add-a-certificate-authority-ca-to-ubuntu)
- In Omnibus GitLab, add the certificate to the Omnibus trusted chain:
1. [Install the self-signed certificate](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates).
1. Concatenate the self-signed certificate with the GitLab trusted certificate.
The self-signed certificate might be overwritten during upgrades.
```shell
cat jira.pem >> /opt/gitlab/embedded/ssl/certs/cacert.pem
```
1. Restart GitLab.
```shell
sudo gitlab-ctl restart
```
### Search Sidekiq logs in Kibana
To locate a specific integration in Kibana, use the following KQL search string:
```plaintext
`json.integration_class.keyword : "Integrations::Jira" and json.project_path : "path/to/project"`
```
You can find information in:
- `json.exception.backtrace`
- `json.exception.class`
- `json.exception.message`
- `json.message`