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

Group Direction - Ecosystem

Stage Create
Last reviewed 2020-06-11

Overview

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.

Categories

Integrations

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.

Category Direction · Documentation · Epic · Open Issues

API

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.

Category Direction · Documentation · Epic · Open Issues

GDK

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.

Category Direction · Project Home · Setup Documentation · Open Issues

FE/UX Foundations

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.

Category Direction · Pajamas Documentation

Ecosystem Themes

Freedom of choice

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:

  1. The cost of migrating off of it, either based on the volume of content to migrate, the risk of errors during the migration, the cost of training, etc.
  2. The cost of building new integrations with other tools in their existing 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 by playing well with others.

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

Further Reading

Problem/Solution Validation

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.

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.

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, and GitHub.

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.

GIT is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license