BlogsGitLabIssue Tracking and Merge Request Workflow Integration

Issue Tracking and Merge Request Workflow Integration

Issue Tracking and Merge Request Workflow Integration

65
posts
2014–2026

GitLab's issue and merge request workflows are enhanced with quick actions and description templates to streamline common tasks. This includes automating issue assignment, labeling, milestone setting, epic linking, and merge request draft status toggling, reviewer assignment, and rebasing. The integration of quick actions into description templates further automates these processes for issue creation and MRs. The GitLab VS Code extension is being developed to bring merge request review functions. The Issue Board feature allows for visual planning of issues with multiple intermediate steps, leveraging existing metadata like labels for sorting and filtering. Future iterations plan for multiple and cross-project boards, searching through all lists, and creating issues directly from the board view.

2026

Agile planning gets a boost from new features in GitLab 18.10

3/23/2026

Introduced a unified 'work items' list that combines epics, issues, and other work item types into a single view, eliminating the need to navigate between separate pages. This lays the groundwork for future hierarchy views and consolidated planning workflows. Also introduced 'saved views' which allow users to store and reuse customized list configurations (filters, sort order, display options) to streamline routine checks and ensure consistent work viewing across teams. The terminology 'work items' is adopted to support future flexibility in configuring custom work item types.

How IIT Bombay students are coding the future with GitLab

1/8/2026

This post details how students utilized GitLab Issue Boards and Milestones to track progress and integrated their repo with Telegram to get real-time push notifications, demonstrating effective asynchronous communication for distributed teams.

2025

Guide: Migrate from Azure DevOps to GitLab

12/3/2025

This post details the process and tools for migrating from Azure DevOps to GitLab, focusing on migrating repositories, pipelines, and work items. It introduces GitLab's Congregate tool and built-in repository import for code migration, and outlines the mapping of Azure Pipelines to GitLab CI/CD and Azure Boards/work items to GitLab Issues, Epics, and Issue Boards. It also discusses planning considerations, organizational structure mapping, and the differences in permission models between the two platforms.

Ace your planning without the context-switching

10/28/2025

Introduced GitLab Duo Planner, an AI agent built on the GitLab Duo Agent Platform, to automate and enhance software planning workflows. Duo Planner leverages work items (epics, issues, tasks) to assist with prioritization (RICE, MoSCoW, WSJF), work breakdown, dependency analysis, sprint planning, status reporting, and backlog management. It operates as a custom agent within the Duo Chat side panel, providing context-aware assistance.

Embedded views: The future of work tracking in GitLab

8/21/2025

Introduced 'embedded views' powered by GitLab Query Language (GLQL) to display live, relevant information directly within wiki pages, epics, issues, and merge requests. This feature allows for dynamic data pulling, contextual awareness via functions like `currentUser()` and `today()`, powerful filtering on over 30 fields, and customizable display formats (table, list). This enhances work tracking by reducing context switching and providing real-time updates.

SAFe without silos in GitLab

4/8/2025

This post details how GitLab's existing Agile project management capabilities, specifically its work item hierarchy (Epics, Issues, Tasks) and board views (Roadmap, Epic Boards, Issue Boards), can be leveraged to support the Scaled Agile Framework (SAFe). It provides a direct mapping of SAFe terminology (Epic, Capability, Feature, User Story, Task, Sprint, PI, Value Stream, ART) to GitLab constructs (Top-level Epic, Sub-epic, Issue, Task, Iteration, Milestone, Top-level Group). The post outlines how SAFe ceremonies like PI Planning, Refinement, Sprint Planning, Daily Stand-ups, and Sprint Reviews can be facilitated within GitLab using features like Roadmaps, Epic Boards, Issue Boards, iteration-scoped boards, burndown/burnup charts, and velocity tracking. It emphasizes the advantage of a unified platform for SAFe implementation, reducing context switching and enabling end-to-end traceability.

Automating Agile workflows with the gitlab-triage gem

3/13/2025

Introduced the `gitlab-triage` gem, a Ruby library for automating Agile workflows. This gem allows users to create bots that can label, comment on, assign, close, and create issues and merge requests based on configurable policies defined in a `.triage-policies.yml` file. The post details installation, API token acquisition, policy definition with examples (draft labeling, old issue commenting), and integration with GitLab CI/CD using pipeline schedules. Advanced features like Ruby scripting for custom conditions and actions are also demonstrated with real-world examples from the Developer Advocacy team, including finding issues assigned to team members outside their project and automatically setting due dates. Best practices for using the gem are also provided.

Getting started with GitLab: Mastering project management

2/11/2025

This post details the introduction and usage of Epics, Issues, Labels, Boards, Milestones, Tasks, Iterations, Time Tracking, Dependencies, Templates, and collaboration features like Comments and Mentions, further enhancing the integrated project management capabilities within GitLab.

How to harmonize Agile sprints with product roadmaps

2/4/2025

This post details how to harmonize Agile sprints with product roadmaps by creating a centralized roadmap using GitLab's Epics and Roadmap view, and leveraging the GitLab Wiki for expanded context and collaborative reviews. It emphasizes continuous direction validation and progress measurement through sprint planning, during-the-sprint evaluation, and sprint retrospectives, using burndown charts to visualize progress and detect deviations.

2024

Introducing GitLab’s new Planner role for Agile planning teams

11/25/2024

Introduced a new 'Planner' role with specific permissions tailored for Agile planning workflows, offering access to epics, roadmaps, issue boards, and OKRs while limiting access to development-specific features. This role is designed to enhance security and productivity by adhering to the principle of least privilege.

Seamlessly migrate from Jira to GitLab with Jira2Lab at scale

10/10/2024

Introduced Jira2Lab, a tool designed for large-scale Jira to GitLab migrations. Key features include efficient data handling for thousands of issues, attachments, and comments; automatic mapping of custom Jira workflows and fields to GitLab; integration of GitLab CI/CD pipelines into the migration process; support for pilot migrations; real-time monitoring and logs; and customizable migration options. The post also outlines a five-phase migration methodology (Discovery and Planning, Setup, Pilot Migrations, Scaled Migrations, Wrap-up and Post-Migration Support) and presents a case study of a successful large-scale migration.

How GitLab Agile planning improves collaborative project management

7/16/2024

This post details how GitLab's Agile planning features, including epics, issue boards, labels, roadmaps, and analytics, enhance collaborative project management for enterprise Agile teams. It emphasizes improved communication through decomposed epics and threaded comments, increased efficiency via the unified platform, better decision-making with issue boards and labels, boosted morale by linking contributions, higher quality outputs with milestone tracking and project templates, and adaptability through roadmaps and dynamic scheduling. It also highlights the platform's ability to manage dependencies, provide real-time collaboration via merge requests and CI/CD, and enable data-driven decision-making with Value Stream Analytics.

Unveiling a new epic experience for improved Agile planning

7/3/2024

Introduces a unified Work Items framework to standardize epics, issues, and tasks. Enhances the epic detail page with assignees, health status, time tracking, ancestry view, condensed descriptions, and custom colors. Outlines future planned features including templates, custom fields, configurable statuses, project-level epics, cloning, moving epics, and milestones.

First look: The new Agile planning experience in GitLab

6/18/2024

This post introduces the 'Work Items' framework as a foundational change to unify the experience of issues and epics, addressing inconsistencies like epics lacking assignees and issues not being supported at the group level. It details the introduction of 'Tasks' as the first iteration powered by this framework, providing net new value while rebuilding existing capabilities. Future plans include refreshed epics and issues experiences with assignees and health status, custom fields, and configurable statuses, along with updates to lists, boards, and roadmaps.

Ditch your legacy planning tool: Get Agile with GitLab

3/14/2024

This post details how integrating Agile planning methodologies with GitLab's DevSecOps platform can address common software development challenges such as inefficiencies, bottlenecks, silos, scaling issues, communication problems, and resource misallocation. It highlights the benefits of a unified view for optimizing workflows, fostering collaboration, simplifying design, enabling value stream management, and gaining actionable insights. A customer example from Iron Mountain is provided to illustrate the successful adoption of this combined approach.

Enhancing GitLab with improved data filtering and visualizations

3/5/2024

This post announces an initiative to improve data filtering and visualization within GitLab's planning views. It details the goal of consolidating multiple views into a single, configurable experience that allows for user-friendly complex queries and flexible data visualization. Real-world applications are described, such as reviewing progress of interconnected projects with nested issues/epics and switching to roadmap/board views, and development teams planning sprints using a single customized view for work item context, status updates, and dependency understanding. The post invites feedback on proposed feature iterations.

Unlocking Agile excellence: GitLab Epics for seamless portfolio management

2/6/2024

This post introduces and details GitLab's multi-level epics feature, highlighting its advantages for Agile portfolio management. It explains how multi-level epics allow for hierarchical organization of work across multiple groups and projects, up to seven layers deep. The post emphasizes benefits such as flexible compatibility with Agile frameworks, granular work breakdown, real-time visibility and collaboration with automatic progress updates, and efficient cross-team planning. It positions multi-level epics as a key component for connecting strategy to execution within the GitLab DevSecOps platform.

2023

Beyond Devs: GitLab Enterprise Agile Planning add-on for all roles

11/16/2023

Introduces an Enterprise Agile Planning add-on for GitLab Ultimate subscriptions, allowing non-technical users (product managers, designers, marketing, sales) to participate in planning workflows, utilize Value Stream Analytics, and access executive dashboards. This extends the existing Agile planning capabilities to a broader audience within the DevSecOps platform.

Tips for a successful Jira to GitLab migration

10/24/2023

This post provides practical tips for migrating from Jira to GitLab for Agile planning. It details how to examine the current Jira setup, start with the GitLab Jira integration, plan the GitLab setup using groups, projects, labels, milestones, and iterations, determine the scope of data migration using the Jira issue importer or APIs, plan a migration timeline with a pilot team, document and share best practices using GitLab wikis, and monitor progress and improvements with Value Stream Analytics. It highlights the benefits of GitLab's hierarchical group/project structure, scoped labels for categorization, and the use of milestones/iterations for planning.

5 reasons to simplify your agile planning tool configuration with GitLab

10/17/2023

This post details how GitLab's agile planning capabilities simplify configuration by moving enforcement points closer to the work itself (e.g., merge request approvals, compliance pipelines) rather than relying on rigid, enforced status workflows within work items. It highlights how automation, such as GitLab triage, can improve data quality by deriving status from DevOps activity. The post also emphasizes the improved user experience through convention over configuration, simplified developer tool integration via APIs and webhooks, and reduced time spent on tool configuration, ultimately enabling greater team autonomy and faster innovation.

Self-managed support extended to GitLab for Jira App

1/12/2023

This post details the extension of support for the GitLab for Jira app to work with GitLab Self-Managed instances. It outlines the benefits of displaying GitLab development artifacts (merge requests, commits, pipelines, etc.) directly within the Jira Development Panel, linking commits to Jira issues, transitioning issues from commits, and using Smart Commits for time tracking. The post also provides configuration steps for self-managed GitLab and clarifies the deprecation of the DVCS integration for Jira Cloud in favor of the new app.

2022

Two DevOps platform superpowers: Visibility and actionability

9/26/2022

This post details how a DevOps platform provides visibility and actionability through features like epics and issues for project tracking, labels for organization and search, dashboards for metrics, and value stream analytics for workflow efficiency. It highlights how these capabilities allow users to gain context and take immediate action on insights.

GitLab Heroes Unmasked: How I am elevating my company using GitLab

5/12/2022

This post details the migration of a bespoke helpdesk platform to GitLab for issue tracking, including the development of a custom migration tool using C# to push groups, issues, notes, attachments, time logs, and labels into GitLab via the API. It also describes the implementation of a helpdesk workflow using scoped labels and GitLab boards, and the automation of reactive and scheduled tasks using the GitLab Triage RubyGem and Triage Ops project. Additionally, it covers the development of a Customer Relations Management (CRM) feature, the challenges of instance-level vs. project-level functionality, the migration to Linux/Docker for CI/CD pipelines with custom .NET and Android/Gradle images, and the use of GitLab Pages with Hugo and the Relearn theme for an internal intranet, including a custom Ruby script to aggregate documentation from various GitLab projects.

2021

How GitLab automates engineering management

11/16/2021

This post details the development and use of three Ruby scripts (`issues_not_in_epics.rb`, `epic_summary.rb`, `epic_issue_relationships.rb`) that parse GitLab issues and epics via the GitLab API. These scripts automate the generation of executive summaries, status reports, and dependency diagrams (using Mermaid) for epics and issues. The scripts demonstrate practical application of the GitLab API for engineering management automation, including parsing markdown for status updates and generating visual representations of issue relationships.

GitLab and Jira integration: the final steps

5/24/2021

This post details the final steps of integrating GitLab with Jira, focusing on how to leverage the integration after setup. It explains how to refer to Jira issues in GitLab commit messages and branch names, how commit messages can trigger Jira issue transitions, and how comments in GitLab merge requests can add comments to Jira issues. It also covers the 60-minute refresh schedule for the Jira Dev Panel, how to view linked branches, commits, and merge requests in Jira, and how to browse and search Jira issues directly within GitLab. Troubleshooting steps for commenting and closing Jira issues are also provided.

How to achieve a GitLab Jira integration

4/12/2021

This post details the technical steps and configuration options for integrating GitLab with Jira. It covers pre-configuration options (service templates vs. project-level configuration), authentication methods for Jira Server (basic auth) and Jira Cloud (API tokens), and the specific fields required in GitLab's integration settings (Web URL, Jira API URL, Username/Email, Transition ID). It also explains how to reference Jira issues in commits and merge requests, and how to automatically close Jira issues using trigger words in commit messages. The post also touches upon the Jira DVCS configuration and GitLab account configuration for self-managed and cloud instances.

How to integrate GitLab.com with Jira Cloud

3/25/2021

This post details the integration of GitLab.com with Jira Cloud via the 'GitLab for Jira' app. It outlines the configuration steps, including linking GitLab namespaces to Jira projects, and describes the functionalities enabled by this integration: navigating to Jira issues from GitLab, linking GitLab commits and merge requests to Jira issues, logging GitLab events in Jira, and automatically transitioning Jira issues based on GitLab events. It also covers troubleshooting common issues and limitations of the integration.

2020

Why GitLab is the right design collaboration tool for the entire team

11/30/2020

This post introduces the concept of integrating design assets (from Figma/Sketch) directly into GitLab issues and merge requests. It highlights how this creates a single source of truth for design collaboration, eliminating multiple sources of confusion. It details how designers can upload designs to issues, enabling conversations about implementation to happen in the same place. It also explains how designers can link relevant designs to merge requests, allowing for comparison with implemented code and review apps. The post advocates for moving designs into the DevOps lifecycle rather than keeping them separate.

Gartner names GitLab visionary in enterprise agile planning

8/3/2020

This post announces GitLab's recognition as a 'Visionary' by Gartner in the 2020 Magic Quadrant for Enterprise Agile Planning Tools. It outlines GitLab's long-term vision for Agile planning, focusing on enhancing the user experience from project to portfolio management. Key areas of development include improved Kanban boards, enhanced portfolio and group roadmaps, and more robust epics and milestones. The post also highlights the importance of visibility and value stream management, mentioning customizable value stream analytics and compliance/security dashboards. It also notes the recent release of requirements management features and an improved Jira import process.

GitLab: New Tool to Visualize High-Level Project Trends

1/30/2020

This post introduces and details the 'Insights' feature, a flexible tool for visualizing trends in workflows, bugs, merge request throughput, and issue activity based on GitLab's labeling system. It explains the 'why' behind its development, focusing on the Engineering Productivity team's need to track bug creation trends and MR throughput. The post highlights the critical role of labels in powering Insights and provides examples of how it's used at GitLab, such as the MR throughputs dashboard and the Support team's Bugs SLO chart. It also delves into the technical configuration of Insights, showing a YAML example for the MR throughputs dashboard and explaining how it can be filtered at group or project levels. The post emphasizes the version-controlled nature of the Insights configuration.

Using Gitlab APIs: Real Use Case Scenario

1/22/2020

This post details a specific use case for GitLab APIs and CI/CD to automate bulk project building tests across multiple repositories within a group. It outlines how to use the Issues API to create issues for failed builds, collect these issues using the Groups API, and report them to a project Wiki using the Wikis API. The technical details include example cURL commands for each API interaction, explanations of parameters, and the authentication methods required.

3 Major improvements coming to GitLab Epics

1/21/2020

Introduced the ability to create issues directly from epics, automatically relating them to the parent epic. Enhanced roadmap views to display issue weight and progress, providing immediate visibility into epic completion status. Enabled the expansion of epics on roadmaps to display their hierarchical structure, showing parent-child relationships.

Highlights from 2019

1/9/2020

Introduced multi-level child epics in release 11.7, allowing for up to five levels of child epics and issues, enabling more complex long-term work strategies. Introduced scoped labels in release 11.10 to simplify workflow customization and accelerate delivery.

2019

2 Examples of how marketing uses GitLab to manage complex projects

12/11/2019

This post details how the marketing team uses GitLab's epics, issues, and labels for managing integrated marketing campaigns like 'Just Commit'. It highlights the use of ancestor and child epics for organizing campaign tasks, labels for high-level filtering, and issue lists for tracking specific deliverables. It also explains how issue boards are used by the product marketing team, with examples of team-specific boards sorted by status labels and assignee-based boards for tracking individual workloads. The post also touches on the use of milestones and burndown charts for progress tracking.

How our tool fosters collaborative project management

12/6/2019

This post introduces the use of GitLab for non-technical project management, detailing how features like groups, epics, and issues can be leveraged for collaborative workflows. It outlines basic steps for project management within GitLab, including creating a framework, assigning DRIs, templating tasks, setting SLAs, defining rules of engagement, and establishing feedback processes. It provides a real-world example of the marketing team's structure, including the use of ancestor and child epics, and labels for global progress tracking.

Moving workflows to GitLab: The case of the HIPAA Audit Protocol

7/25/2019

Introduced a Python script using the `python-gitlab` API to automate the creation of GitLab issues from a CSV file derived from the HIPAA Audit Protocol. This script demonstrates how to programmatically populate issue titles, descriptions, and labels using data from an external source, showcasing a practical application of the GitLab API for workflow automation and project management.

What’s your plan?

3/18/2019

This post discusses the role of planning in the DevOps lifecycle, highlighting GitLab's democratized planning features such as project management, kanban boards, epics, and time-tracking. It emphasizes the integration of planning with other stages of the software development lifecycle, enabling collaborative planning and re-planning with full visibility.

How we use GitLab to automate our monthly retrospectives

3/7/2019

This post details the automation of retrospective issue creation using GitLab's scheduled pipelines and the GitLab API. It describes how scheduled pipelines on the 1st of the month create an issue, and another pipeline on the 9th updates the issue's description with lists of shipped and slipped issues. It also mentions the use of quick actions for adding labels and due dates, and the configuration of this automation via a YAML file, making it adaptable for other teams.

2018

Coming in 11.3: Seamless planning with epics & roadmap

8/23/2018

Introduced the concept of Epics and Roadmaps as distinct but related features for group-level planning. Epics are group-level issues for larger scopes, decomposable into project-level issues. Roadmaps visualize epics over time. Introduced the ability to assign fixed dates to epics for top-down planning and the dynamic linking of epic dates to the earliest/latest milestone dates of their attached issues for bottom-up planning, allowing seamless transition between planning methodologies.

4 ways to use GitLab Issue Boards

8/2/2018

This post details four specific use cases for GitLab Issue Boards: workflow tracking using labels as lists, cross-functional planning with category-based lists (e.g., by team or product area), team visibility through assignee lists, and milestone planning by creating milestone-specific lists. It explains how issue boards leverage issue labels and milestones to provide flexible views of project progress.

How the GitLab UX team uses epics

3/19/2018

This post details how the GitLab UX team adopted and utilized epics for planning and tracking UX efforts. It explains the concept of epics at GitLab as a collection of issues with a shared theme, enabling efficient management of a portfolio of projects. The team developed a UX strategy template to define challenges, vision, focus areas, mission, activities, and success metrics for epics. The merge request page was used as a case study, demonstrating how existing issues were matched to research findings and organized within an epic. Future enhancements like sub-epics, labeling, discussions, project-level epics, and integration with roadmaps are also mentioned.

Using GitLab to project manage home renovation priorities

2/8/2018

This post details a non-standard use of GitLab's Issue Boards and labels for personal home renovation project management. It demonstrates how these features can be leveraged for prioritization, organization, and collaboration outside of traditional software development workflows. The author created a dedicated group and project, added issues for renovation tasks, and utilized labels like 'P1' and 'DIY Possibility' for categorization and filtering. The post also mentions the future use of issue weights for scope management.

2017

An Agile approach to documentation and structure

12/13/2017

This post details the use of GitLab's project management features (issues, milestones, issue boards) and Markdown for organizing project documentation and tracking progress for a new application, UnscrewMe. It describes setting up a 'Group' with three repositories for documentation, the web application, and a pre-launch website, and outlines a flexible folder structure for organizing content.

The evolution of the GitLab Issue Board

8/23/2017

This post details the evolution of the GitLab Issue Board from its initial release in 8.11 to GitLab 9.0. Key enhancements include the introduction of multiple issue boards (8.13), improved search and filtering interfaces for both the issue tracker and the board (8.16-8.17), milestone integration for organizing issues into cycles (9.0), and the ability to reorder issues within a board list (9.0). These updates focus on visualizing work, customizing workflows, and improving issue management within GitLab.

Migrating your JIRA issues to GitLab

8/21/2017

This post details a method for migrating JIRA issues to GitLab issues using their respective REST APIs. It outlines the necessary API calls for fetching JIRA issues, attachments, and comments, as well as for searching GitLab users and creating GitLab issues. The process involves mapping JIRA fields (summary, description, assignee, reporter, comments, attachments) to GitLab issue fields and handling cases where JIRA users do not have corresponding GitLab accounts by using a provided GitLab token.

Demo - GitLab Service Desk

5/9/2017

Introduced GitLab Service Desk, a feature that allows users to send emails to a project's dedicated support address, which are then converted into confidential issues within GitLab. This creates an integrated user feedback channel, shortening the cycle time from feedback to software updates by eliminating external tools and integrations. The feature supports using labels for filtering issues.

Demo - Mapping work versus time, with burndown charts

4/25/2017

Introduced burndown charts for projects to help teams visualize the number of incomplete issues as they progress through a milestone. This feature tracks the number of issues left to do and their cumulative issue weight over the remaining time before a deadline, enabling teams to foresee obstacles and make decisions sooner regarding resources or scope.

GitLab 2016 year in review

1/24/2017

This post details the introduction of Merge Conflict Resolution into the GitLab web interface, allowing users to resolve simple conflicts directly from GitLab. It also introduces Merge Request Discussion Resolution, enabling comments and discussions on merge request diffs to be resolved individually or in threads, preventing feedback from being missed.

2016

Customer Story: Data startup Cognitive Logic talks migrating to GitLab

11/22/2016

This post details Cognitive Logic's use of GitLab's validated merge request system for code quality and the GitLab Docker registry for build artifacts. It also highlights a desire for improved CI orchestration between repositories, with a mention of existing functionality and ongoing development to address this.

Track your time in the same tool you do your work

11/3/2016

Introduced Time Tracking functionality to GitLab Enterprise Edition (available for free on GitLab.com during beta). This feature allows users to record time spent on tasks and set time estimates directly within issues and merge requests using `/spend` and `/estimate` slash commands. Multiple `/spend` commands aggregate into a total time spent visible in the sidebar, while the last `/estimate` command overrides previous ones. This aims to reduce reliance on external time tracking tools.

Resolving Merge Conflicts from the GitLab UI

9/6/2016

This post details the introduction of the ability to resolve merge conflicts directly within the GitLab UI, starting in version 8.11. It explains the background of merge conflicts, why they are a problem, and the current implementation which involves getting a list of conflicted files, generating a merged file with conflict markers, parsing these markers to present to the UI, and then creating a merge commit. It also outlines limitations such as binary files, non-UTF-8 encodings, and large files, and future plans for an inline editor, binary file support, and rename conflict detection.

Feature Highlight: Designing Issue Boards

8/31/2016

This post introduces the new Issue Board feature, designed to provide a more visual overview of issues and support workflows with multiple intermediate steps. It leverages existing metadata like labels for sorting and filtering. The design process involved user feedback on concerns such as using labels as lists and assigning multiple list labels to one issue. Future plans include multiple and cross-project boards, searching through all lists, and creating issues directly from the board view.

Announcing The GitLab Issue Board

8/22/2016

Introduced the GitLab Issue Board, a new feature that provides a visual Kanban-style interface for managing issues. The board uses lists (columns) based on labels to represent stages in the development process. Issues are displayed as cards, and moving cards between lists automatically updates the associated label. Dragging a card to the 'Done' list automatically closes the issue. The Issue Board builds upon existing issue tracking functionality and aims to improve planning, organization, and visualization of team workflows.

Using GitLab Labels

8/17/2016

This post details the adoption and implementation of GitLab labels for organizing workflows and directing focus, particularly in the context of infrastructure as code management. It outlines a specific set of 11 labels used by the team, their descriptions, and whether they are applied automatically. The post explains how these labels are used to manage the lifecycle of merge requests, from initial review to deployment readiness, and how they improve visibility and prioritization of work.

Feature Highlight: Set Due Dates for Issues and Create Milestones

8/5/2016

Introduced the ability to set due dates for individual issues. Enhanced milestones to support grouping issues across multiple projects within a group, providing an overview of progress and completion percentages.

Feature highlight: Move issues between projects

4/20/2016

Introduced the ability to move issues between projects. This involved copying the original issue, closing it, and referencing it in the new location. A significant technical challenge was updating cross-project references (e.g., `#123`, `!456`) within issue descriptions and comments to correctly point to the original project. This was solved by implementing a mechanism that matches local references, substitutes them with cross-project references, and validates the substitution by comparing generated HTML. This also necessitated improvements to Markdown cross-project reference notation for labels.

Feature Highlight: Subscribe to Label

4/13/2016

Introduced the 'Subscribe to Label' feature, allowing users to receive notifications for issues and merge requests tagged with specific labels. This feature enhances issue tracking by enabling users to filter notifications based on relevant labels, improving focus on specific areas like performance.

Feature Highlight: Confidential issues

3/31/2016

Introduced the 'Confidential Issues' feature, allowing issues to be marked as private and visible only to project members. This simplifies the process of reporting security vulnerabilities by eliminating the need for separate private issue trackers and email disclosures. The implementation required careful consideration of security implications and involved resolving merge conflicts over a two-week development period, highlighting the challenges of working on security-sensitive features.

Tutorial: It's all connected in GitLab

3/8/2016

This post details how issues serve as the single source of truth, how to reference related issues, MRs, and comments using specific syntax (`#123`, `!123`, `$123`), and how merge requests can automatically close referenced issues upon merging using keywords like 'Closes #ID' or 'Fixes #ID'. It also covers the use of labels and milestones for categorization and target dates, and the `@mention` functionality for collaboration and assignment, which populates the 'Todos' list.

Feature Highlight: Todos

3/2/2016

Introduced the 'Todos' feature in GitLab 8.5, which consolidates notifications for assigned issues, merge requests, and @mentions into a single list accessible from the UI. This feature aims to reduce email notification overload and provide a clear view of actionable items. The implementation reuses the existing Activity feed system and leverages Rails ActiveModel::Dirty API to track attribute changes on issues and merge requests. It also includes logic to handle changes in associations, such as labels, by comparing old and current states. The feature automatically marks todos as 'Done' when the user performs an action on the related issue or merge request, or when the issue/MR is closed/merged by the user. The naming discussion led to the final choice of 'Todos' over 'Tasks' or 'Task Queue'.

Feature Highlight: Create files and directories from the Files page

2/10/2016

Introduced the ability to create new files, upload files, create new directories, create new branches, and create new tags directly from the project's files page. This includes UI elements for these actions and the option to start a new merge request when committing changes.

Making GitLab Better for Large Open Source Projects

1/15/2016

This post details the implementation of issue templates, multiple issue templates, and custom issue fields to improve the quality of reported issues. It also introduces a first-class voting system to replace content-less '+1' comments and mentions the ability to configure custom contributing files displayed at the top of new issue/PR pages. Additionally, it highlights the option for fast-forward merges or automatic rebasing for merge requests.

Feature Highlight: WIP

1/8/2016

Introduced the 'Work In Progress' (WIP) merge request functionality, allowing developers to prepend 'WIP' or '[WIP]' to a merge request title to prevent accidental merging while still enabling code review and CI checks. This promotes an early feedback loop and collaboration on large features.

2015

Feature Highlight: Merge Request Approvals

7/29/2015

Introduced Merge Request Approvals in GitLab Enterprise Edition, allowing users to set a required number of approvals before a merge request can be merged. This feature supports assigning specific approvers and setting default approvers for projects. Additionally, an option to automatically reset approvals after a new push to the merge request was added.

2014

Issues and Merge Requests in GitLab Screencast

3/4/2014

This screencast demonstrates the integration of issue tracking with commits for automatically closing issues and showcases the ability to provide line-by-line code comments within merge requests, enhancing the code review process.