Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Stage Strategy - Ecosystem

Overview

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.

Categories

Integrations

Integrations are places where the GitLab product connects to features and services from other products. These integrations seek to offer our customers a seamless experience between these products, and range from lightweight features like Slack notifications for projects, to deep and complex integrations with Atlassian JIRA that connect a wide array of functionality throughout the GitLab product.

Learn about our current integrations here.

SDKs & Integration APIs

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.

Themes

Freedom of choice

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.

Ease-of-use

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.

Flexibility and Extensibility

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.

Challenges

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:

Open Core instead of a "Marketplace"

GitLab does not utilize a plugin model for integrations with other common tools and services, or provide a marketplace for them. As an open core project, integrations can live directly inside the product. Learn more about our reasons for this in our Product Handbook

Contributing

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.

Requesting Integrations

If there's an integration that you'd like to see GitLab offer, please submit an issue with the label ~group::ecosystem, or contact Patrick Deuley, Sr. Product Manager, Ecosystem.

Influences

We're inspired by other companies with rich, developer-friendly experiences like Salesforce, Shopify, Twilio, Stripe, GitHub, and their APIs.

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.