GitLab is an open product with a Community Edition product that is fully open-source and an Enterprise Edition product that is built on our Community Edition but with additional features that are closed-sourced. We're open to integrations with companies and tools that are interested in harnessing GitLab's platform capabilities, user flows and data with their products. If you want to talk to us about a partnership you can contact Eliran Mesika, our Director of Partnerships.
If you want to integrate with GitLab there are three possible paths you can take:
Utilizing webhooks - If you want to reflect information from GitLab or initiate an action based on a specific activity that occurred on GitLab you can utilize the existing infrastructure of our webhooks. To read about setting up webhooks on GitLab visit this page.
API integration - If you're seeking a richer integration with GitLab, the next best option is to utilize our ever expanding API. The API contains pretty much anything you'll need, however if there's an API call that is missing we'd be happy to explore it and develop it.
Project Services - Project services give you the option to build your product into GitLab itself. This is the most advanced and complex method of integration but is by far the richest. It requires you to add your integration to GitLab's code base as a standard contribution. You can see the list of project services available, and look into this example. If you're thinking of creating a project service, the steps to follow are similar to any contribution to the GitLab codebase.
If you've completed an integration you can have your integration listed on our technology partners page. To be listed you'll need to submit a Merge Request (MR) with:
Once you have those ready, go ahead and create a merge request (MR) on this repository following the steps described below. From the dropbox menu right beside the MR title, select the MR description template called "Applications". Once you're ready, mention
@eliran.mesika in the MR for review.
- title: 'App name' content: 'App description.' links: - url: 'App URL' title: 'Display text for the URL'
If necessary, you can add up to 3 links:
- title: 'App name' content: 'App description.' links: - url: 'App URL' title: 'Display text for the URL' # example: your app/website URL - url: 'A second URL' title: 'Display text for the second URL' # example: a blog post describing how the integration works - url: 'A third URL' title: 'Display text for the third URL' # example: your app's repository URL
Choose the app's category accordingly. The code block is to be added to the end of the category list it belongs to.
To add your app's logo, name the file after the application name that you added to the
title, using sentence case and replacing any blank spaces with underscores
_. E.g., if your app's name is "Hello World", your logo should be named
hello_world.png. The extensions supported are
.jpg, and the max image size is 70KB.
Add your logo to the
source/images/applications/apps/ directory, into the same branch used for the YAML file changes.
Note that adding your app's logo is optional, but highly recommended.
We're always here to help you through your efforts of integration. If there's a missing API call from our current API, or you ran into other difficulties in your development please feel free to create a new issue on the Community Edition issue tracker and mention @eliran.mesika.
We're always looking to explore partnering with complementing integrations that are suited for large teams of developers. If you interested in exploring a partnership that fits that bill please contact Eliran Mesika.
We love spreading the word on new integrations for GitLab to our community and followers. We're open to pursuing any of the following for co-marketing:
Contact Erica Lindberg, Content Marketing Manager, to discuss co-marketing opportunities.
If you're working on an EE integration and need a GitLab EE license to develop and test on we will provide that upon request.
If you want to talk to us about a partnership you can contact Eliran Mesika.