Ecosystem's mission is to foster both GitLab as a platform as well as its community. Ecosystem supports our Integrations with other products, our APIs for connecting GitLab to external products and services, and our GDK and Frontend Foundations that enable our community of contributors to to develop the application itself.
Our goal is to make integrating with, extending the functionality of, or developing GitLab itself an easy, delightful experience. As with all things GitLab, we strongly believe that Everyone can contribute, and Ecosystem supports that mission directly through its work.
Integrations are places GitLab connects to features and services from other products, directly from the GitLab codebase. These integrations range from things like lightweight Slack notifications for projects, to complex integrations with Atlassian Jira.
Today, there are several ways to integrate into GitLab—by adding your integration to the GitLab codebase, by consuming our public APIs, or by using a community library to connect your code to GitLab. Many products, tools, and services that have already integrated with GitLab can be found on our partner integration page.
Integrations will focus primarily on adding new integrations that are key to the needs of our enterprise customers and providing guidance for 3rd parties that are contributing integrations for their own products.
The GitLab APIs enable_external products and services to access GitLab data and functionality.
The GitLab API category provides guidance and governance for all the Groups inside of GitLab that are creating and maintaining our REST and GraphQL APIs. The goal of this effort is to define best practices and requirements for the development of our APIs to create a consistently great experience for those integrating with GitLab as a platform.
The GitLab Development Kit (GDK) is a tool for developers contributing to GitLab. It provides a simple way to install, configure, and run a local development environment. This tool is key to the success of our contributor community—both internal GitLab Team Members and the broader community of contributors.
The work of Frontend and UX Foundations centers around resources and tools that allow Frontend Engineers and Product Designers to design and implement the UI of GitLab more effectively. This includes the Pajamas Design System, and frontend tooling such as our webpack implementation. The goal of these efforts are to make developing the GitLab UI straightforward, performant, and maintainable.
We firmly believe that a single application can successfully serve all the needs of the entire DevOps lifecycle. However, we there are a myriad of reasons that many customers can't adopt GitLab in this way.
Customers may have specific tools they are committed to using due to factors like:
Because of these realities, we believe that our customers should have the freedom to choose their tools, and use what makes the most sense for their business—and we will support that freedom as best we can by playing well with others.
We'll never anticipate every possible use-case, nor can we afford to support the development of every possible integration. So to that end, our aim is to create flexible and extensible tools so that those integrating with us can create whatever they need.
We work hard to understand the space we operate in, and to better understand our customers and the problems we're solving for them, we conduct Validation exercises.
At GitLab, one of our values is that everyone can contribute. If you're looking to contribute your own integration or otherwise get involved with features in the Ecosystem area, you can find open issues here.
You can read more about our general contribution guidelines here.
A large part of the success of these companies comes from their enthusiasm around enabling developers to integrate, extend, and interact with their services in new and novel ways, creating a spirit of collaboration and diversity that simply can't exist any other way.