This direction is a work in progress, and everyone can contribute:
GitLab's API category provides all the tools and resources for developers to integrate externally with GitLab as a platform. Our Integrations category supports key integrations directly inside the GitLab codebase.
Currently, a REST and GraphQL API are available for developers to use to integrate with GitLab. You can learn more about our APIs in our developer documentation.
As the GitLab community grows and increasingly relies on GitLab as a central part of their toolchain, it is critical that we provide support for integrating our product with a wider variety of systems. These integrations could be with project management systems, ERPs, custom dashboards and reporting systems, or any other type of custom-built tool.
To serve these needs, the Groups and Categories
across GitLab contribute to our APIs with functionality for each of their
individual sets of functionality. Because of this distributed nature, the
API category is responsible for guiding the path of this development on
a holistic level.
Over the next year, we will work with key stakeholders to refine guidelines and best practices that will inform how these teams are designing and building their APIs and how they will ensure that these resources remain performant for consumers. Additionally, this team will act as a centralized resource, helping to triage critical problems with our APIs as the need arises.
By providing powerful and flexible development resources, we allow creators to consume GitLab as a platform—giving them the freedom to create anything they may need. Penflip is a great example of a novel product that was built upon GitLab that uses the core GitLab functionality to produce a whole new experience. These developers took GitLab's core functionality and reimagined it for a wholly different purpose and a totally different type of user.
Making room for this sort of innovation and creativity will let us grow our community and impact in novel ways, and the more we expand the resources we provide, the more of this impact we will see. Over time, we would like to expand our developer tooling to allow more of this type of creativity and build a framework that allows us to better serve the broader variety of creative work, driving us closer to our Big Hairy Audacious Goal.
Today, we consider our API to be Viable. Below is how we think about how we'll grow that maturity level over time:
Based on these goals, our current priorities are:
Each Group is ultimately responsible for building and maintaining their own APIs. Ecosystem's role is to be a source of guidance and governance across them as a whole.
There are currently many client libraries that were created and are maintained by our community. We don't currently have any plans on creating our own libraries, but are happy to support the efforts of those contributors and community members.
At GitLab, one of our values is that everyone can contribute. If you're looking to contribute to our API 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.
If there's an integration that you'd like to see GitLab offer, or if you have
feedback about an existing integration: please submit an issue with the label
~Category:Integrations, or contact Patrick Deuley,
Sr. Product Manager, Ecosystem.