Ecosystem's mission is to foster GitLab as not just an individual product, but as a platform. Our ambitious product vision aspires to expand the breadth of the GitLab application well beyond what it is today, but will only be achievable in partnership with other services. While we'll always seek to develop native capabilities inside GitLab that extend our core value proposition, there are often significant advantages associated with integrating other technologies into the GitLab product. Our goal is to make this process seamless from both the end-user and developer perspectives, allowing GitLab users to unlock value in and augment their particular DevOps toolchain in ways that work best for their business.
Today, there are several ways to integrate into GitLab, which can be found on our partner integration page. As we grow, we want to extend the ability to create those integrations through a best-in-class set of SDKs, and a robust marketplace that allows users to implement those integrations with ease.
Native Integrations are first-class features that are developed and maintained as part of the GitLab product that bring the most requested features and services from outside of GitLab to our customers. These integrations offer our customers a seamless experience between the two services, and can range from lightweight features like Slack notifications for GitLab Projects, to deep and complex integrations between Atlassian JIRA that connect a wide variety of functionality from those services directly in to the GitLab product.
The GitLab SDK offers other, non-partner companies or individuals to develop their own integrations with and extensions of the GitLab product. The SDK offers a robust set of tools developers need, including the GitLab APIs, native client libraries in an array of popular languages, a CLI utility for interactive and scriptable integration with GitLab, and a complete set of documentation that covers all these tools and offers example code and reference applications for education.
The GitLab Marketplace offers a place where customers seeking integrations and extensions can search through existing integrations across all three of these categories. It serves as a canonical home for the listing of these integrations and simplifies the installation in to both GitLab.com and self-hosted environments. This will give GitLab users the opportunity to quickly and seamlessly extend GitLab products to customize them to fit their business, without having to touch the command line.
We firmly believe that a single application can successfully serve all the needs of the entire DevOps lifecycle. However, we understand that there are a myriad of reasons that you may have specific and particular needs that require you to use a specific tool in your toolchain. With this in mind, we believe that you should have the freedom to choose your tools wisely and use what makes the most sense for your business—and we will support that freedom as best we can.
We always strive to build solutions that are easy to use, but without oversimplifying the product. We want to offer developers and integrators all the power and flexibility they need, and do so in a way that's productive, minimal, and human. To achieve this, we offer simple solutions, provide excellent documentation, and value convention over configuration.
We can’t imagine every possible use-case, nor can we afford to support the development of every possible integration. However, with our products, we should allow for infinite flexibility and extensibility through our APIs and SDKs, allowing our users to create the experience that they need. Our tools should support users wanting to create a simple extension of functionality, to a robust integration with another product, or even the ability to build a wholly new product on its own, leveraging GitLab as an underlying platform.
GitLab currently integrates with others, but we aspire to allow others to integrate deeper into GitLab and with exceptional ease. Integration partners like Percy seek to build with GitLab, but struggle against requirements like needing a bot user and a limited ability to scope token access.
Thinking more broadly than specific limitations, the Ecosystem group will need to consider the following:
At GitLab, one of our values is that everyone can contribute. If you're looking to 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.