Collaboration on shared feature and experience areas
Collaboration process and documentation of shared feature areas for product groups
Cross-stage feature collaboration
Each stage is responsible for building functionality that furthers their vision and direction. Even if some components of that functionality happen to cross into spaces typically owned by other stages, they should still build it (if it’s important to them).
If the feature isn’t necessary or urgently needed to move forward (for example, it won’t block another feature’s development), then you can always consider putting it on the backlog of the stage that owns that feature.
Here are some guidelines for thinking about “Which stage should do this work?”:
- If a stage wants to develop new functionality that is core to their value, even if it happens to live inside a feature owned by another stage, they should still build it.
- Alternately, if the functionality lives inside another stage’s feature, but is also very-much a “nice-to-have”, they should consider putting it in an issue and labeling it appropriately. This way, the stage that owns that feature can prioritize it at a later date when it makes sense for them to do so.
- External requests for integration with 3rd-party systems should be routed to the group closest to the integrations value proposition or affected area.
Ownership of existing integrations
The tables below show the ownership of integrations living in the GitLab codebase.
Integration |
DRI Group |
Rationale |
Akismet |
group Authorization |
Security monitoring integration |
Arkose Protect |
group Authorization |
Security monitoring integration |
ReCAPTCHA |
group Authorization |
Security monitoring integration |
CI/CD Integrations
Integration |
DRI Group |
Rationale |
Bamboo CI |
group Pipeline Execution |
CI/CD pipeline integration |
Drone CI |
group Pipeline Execution |
CI/CD pipeline integration |
GitHub |
group Pipeline Execution |
CI/CD pipeline integration |
Jenkins |
group Pipeline Execution |
CI/CD pipeline integration |
JetBrains TeamCity CI |
group Pipeline Execution |
CI/CD pipeline integration |
Diffblue Cover |
group Pipeline Execution |
CI/CD pipeline integration |
External Issue Trackers
Integration |
DRI Group |
Rationale |
Asana |
group Plan:Project Management |
Aligns with project management tooling |
Bugzilla |
group Plan:Project Management |
Issue tracking functionality |
ClickUp |
group Plan:Project Management |
Project management integration |
Custom issue tracker |
group Plan:Project Management |
Generic issue tracking framework |
EWM - IBM Engineering Workflow Management |
group Plan:Project Management |
Enterprise project management integration |
Jira issue integration |
group Plan:Project Management |
Core issue tracking integration |
GitLab for Jira Cloud app |
group Plan:Project Management |
Extension of Jira integration |
Pivotal Tracker |
group Plan:Project Management |
Agile project management integration |
Redmine |
group Plan:Project Management |
Issue tracking and project management |
YouTrack |
group Plan:Project Management |
Issue tracking integration |
ZenTao integration |
JiHu Engineering team |
External issue tracking integration |
Source Code Integrations
Integration |
DRI Group |
Rationale |
PlantUML |
group Source Code |
Diagram generation integration |
Sourcegraph |
group Source Code |
Code search integration |
Beyond Identity |
group Source Code |
Identity integration |
GitGuardian |
group Source Code |
Security scanning integration |
Gitpod integration |
group Remote Development |
Development environment integration |
Visual Studio Code extension |
group Editor Extensions |
IDE integration |
Project Management Integrations
Integration |
DRI Group |
Rationale |
Kroki diagrams |
group Project Management |
Diagram integration |
Mailgun |
group Project Management |
Email service integration |
Authentication Integrations
Integration |
DRI Group |
Rationale |
Google Cloud IAM |
group Authentication |
Authentication integration |
Container and Package Integrations
Integration |
DRI Group |
Rationale |
Google Artifact Management integration |
group Container Registry |
Container registry integration |
Harbor integration |
group Container Registry |
Container registry integration |
Packagist |
group Package Registry |
Package registry integration |
Search Integrations
Integration |
DRI Group |
Rationale |
Elasticsearch integration |
group Global Search |
Search integration |
Zoekt integration |
group Global Search |
Search integration |
Incubation Integrations
Integration |
DRI Group |
Rationale |
Apple App Store Connect |
group Incubation |
Mobile app distribution integration |
Google Play |
group Incubation |
Mobile app distribution integration |
Notification Integrations
Integration |
DRI Group |
Rationale |
Slack Notifications (deprecated) |
group Plan:Project Management |
Team communication with incident management capabilities |
Discord |
group Plan:Project Management |
Team communication and alerting notifications |
Google Chat |
group Plan:Project Management |
Enterprise team communication and incident alerting |
Irker |
under group Plan:Project Management |
IRC-based communication for alerts and notifications |
Mattermost notifications |
group Plan:Project Management |
Team communication platform with incident management features |
Microsoft Teams |
group Plan:Project Management |
Enterprise team communication with operational alerting |
Pumble |
group Plan:Project Management |
Team communication platform for notifications |
Unify Circuit |
group Plan:Project Management |
Team communication platform for operational alerts |
Webex Teams |
group Plan:Project Management |
Enterprise team communication with incident response features |
Telegram |
group Plan:Project Management |
Mobile-focused team communication for alerting |
Campfire |
group Plan:Project Management |
Chat/notification integration |
Flowdock |
group Plan:Project Management |
Chat/notification integration |
Pushover |
group Plan:Project Management |
Notification integration |
Other Integrations
Integration |
DRI Group |
Rationale |
Slack slash commands |
[TO BE ASSIGNED] |
Run slash commands from a Slack workspace to operate on GitLab data |
GitLab for Slack app |
[TO BE ASSIGNED] |
Combination of Slack slash commands integration, and Slack notifications integrations, with additional incident management flows |
Mattermost slash commands |
[TO BE ASSIGNED] |
Run slash commands from a Mattermost environment to operate on GitLab data |
Trello PowerUp |
group Plan:Project Management |
Board-based project management integration |
Pipeline status emails |
group Verify:Pipeline Execution |
CI/CD pipeline notification integration |
Emails on push |
group Create:Source Code |
Source code event notification integration |
Gmail Actions Buttons |
[TO BE ASSIGNED] |
Email integration with operational response capabilities |
Squash TM |
[TO BE ASSIGNED] |
Test management integration |
Datadog integration |
group Runner |
Monitoring integration |
DRI Group Responsibilities
Product groups designated as DRIs for integrations are responsible for:
- Deciding if new community-contributed integrations should be added to GitLab codebase based on their domain strategy
- Determining if existing integrations should remain in GitLab codebase according to domain strategy
- Following proper process for deprecating and removing integrations when needed
- Maintaining integration documentation
- Re-assigning and triaging integration-related issues to determine prioritization
- Remediating bugs and security vulnerabilities within target SLOs
- Addressing infradev issues and responding to urgent requests
- Responding to Requests for Help and iterating on the integration
Product groups may also designate certain integrations as Community-supported for improvements and additional features at their discretion.
This model allows teams to be flexible and calibrate their priorities accordingly, and no team should ever be “blocked.” Exceptions may be items where a change requires anything that a software engineer would not be allowed to do, such as a production change, in which case the infrastructure team would be the blocker.
While any team can contribute features to any stage, it is recommended to loop in the most relevant PM from that Group to provide strategic support to help the contributing team align to the Group’s broader plan and vision.
Below is a guide to help other product groups understand how to work on these areas and quickly locate the best parties who may assist on the subject matter.
This section is modeled after the engineering handbook version of ownership of shared services and components.
Existing Cross-Stage Capabilities
Planned Cross-Stage Improvements
Collaboration process and documentation for contributing to the merge requests experience
Collaboration process and documentation for using and contributing to the work items framework