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

Group Direction - Ecosystem

Overview

GitLab's vision is to be the best single application for every part of the DevOps toolchain, but there are numerous products and services out there that are key to productive contribute to a software project, but not something that GitLab is working on building.

For these needs, Ecosystem's mission is to foster GitLab not as a product, but as a platform and a community. Ecosystem supports our Integrations with other products, our APIs for connecting the application to external services, and our GDK and Frontend Foundations that our community uses to develop the application itself.

Our goal is to make integrating with, extending the functionality of, or developing on 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.

Categories

Integrations

Integrations are places where the GitLab product where, directly in the codebase, it connects to features and services from other products. These integrations 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.

Today, there are several ways to integrate into GitLab—by adding your integration directly to our codebase, by consuming our APIs directly, or by using a community library to connect your code to GitLab, and 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 party systems and services that are contributing new integrations for their products.

Category Direction · Documentation · Epic · Open Issues

API

The GitLab APIs enable external products and services to access GitLab data and functionality. These resources are developed by both the various Groups and Categories at GitLab and as well as our community of contributors.

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.

Category Direction · Documentation · Epic · Open Issues

GDK

The GitLab Development Kit (GDK) is a central tool for how developers contribute 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.

Category Direction · Project Home · Setup Documentation · Open Issues

FE/UX Foundations

The Frontend and UX Foundations work centers around resources and tools that allow Frontend engineers and UX designers to design and implement the UI of GitLab more effectively. This includes the Pajamas framework, and frontend tooling such as our webpack implementation. The goal of these efforts are to make developing the GitLab UI straightforward, performant, and maintainable.

Category Direction · Pajamas Documentation

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 many customers can't adopt GitLab in this way.

Customers may have specific tools they are committed to using because of:

  1. The cost of migrating off of it, because of either the volume of content to migrate, the risk of errors during the migration, the cost of training, etc
  2. The cost of creating new integrations with other tools in their toolchain
  3. Specific regulatory, security, or compliance needs they must be able to meet
  4. Niche or unique functionality that isn't available in GitLab

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.

Flexibility and Extensibility

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 enough tools that those integrating with us can create anything they need.

Contributing

At GitLab, one of our values is that everyone can contribute. If you're looking tocontribute your own integration, or otherwise get involved with features in the Ecosystem area, you can find open issues here.

Feel free to reach out to the team directly if you need guidance or want feedback on your work by pinging @deuley or @gitlab-ecosystem-team on your open MR.

You can read more about our general contribution guidelines here.

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.