BlogsGitLabGitLab Integrations Framework

GitLab Integrations Framework

GitLab Integrations Framework

17
posts
2016–2023

GitLab's integration capabilities are being expanded through a four-pronged approach: using GitLab to deploy to external platforms or host runners, hosting GitLab Server on external platforms, integrating with the development cycle via APIs and webhooks to display outputs in merge requests, and deep application integration requiring architectural understanding. The GitLab VS Code extension is being developed to bring merge request review functions. Sentry's integration with GitLab has been enhanced. This post details the integration with Koding, enabling one-click IDE environment creation for issues and merge requests, aiming to accelerate code contribution and collaboration.

2023

Efficient DevSecOps workflows: Hands-on python-gitlab API automation

2/1/2023

This post introduces and demonstrates the practical application of the python-gitlab library for automating DevSecOps workflows. It covers basic usage, configuration via environment variables, managing API objects, pagination, and provides concrete use cases for both reading and writing data to the GitLab API. Specific examples include listing branches, inventorying CI/CD variables, moving epics, ensuring project settings compliance, and generating release notes. It also touches upon containerizing API scripts and integrating them into CI/CD pipelines.

4 approaches to GitLab integrations

1/26/2023

This post outlines a framework for integrating external systems with GitLab, categorizing integrations into four approaches: 1) using GitLab to deploy to external platforms or host GitLab runners on external infrastructure, 2) hosting GitLab Server on external platforms, 3) integrating with the development cycle using GitLab's APIs and webhooks to display outputs (like security reports or metrics) within merge requests, and 4) deep application integration requiring architectural knowledge. It highlights the use of GitLab APIs, webhooks, CI/CD pipelines, and tools like GitLab Performance Tool for testing.

2021

Four new tools for your Visual Studio Code and GitLab tool belt

11/17/2021

This post introduces several new features and improvements to the GitLab Workflow VS Code extension: 1. Snippet patches: A new way to suggest arbitrary-sized code changes in MR reviews, implemented using `git diff` and `git apply`. 2. Improved CI status display: Enhanced reliability and readability of CI pipeline status, including individual job status in the sidebar and synchronization with the current branch. 3. Checkout MR Branch: Allows users to checkout an MR branch locally for interactive review and execution. 4. Open a local file during a review: Enables opening local files corresponding to changed files in an MR for easier exploration of surrounding code. 5. Remote Repositories: A new feature to browse large repositories without checking them out locally, implemented using `git diff` and `git apply` for patch creation and application, and Git commands for checkout and remote browsing.

Visual Studio code editor: Eight tips for using GitLab VS Code

5/20/2021

This post details how the GitLab VS Code extension facilitates integration with the development cycle by enabling engineers to perform common GitLab actions directly within the VS Code editor. It covers features such as cloning GitLab projects, viewing and managing issues and merge requests using custom queries, creating merge requests via a status bar button, autocompleting and validating `.gitlab-ci.yml` configurations, creating and inserting project snippets, and copying web URLs for project files. It also highlights the contributions of various GitLab contributors in developing these features.

A new era of Kubernetes integrations on GitLab.com

2/22/2021

This post announces the availability of the GitLab Agent for Kubernetes on GitLab.com (SaaS). It details the Agent's architecture, comprising `agentk` and `kas` components, and its secure communication mechanism using websockets or gRPC. The post explains the shift from certificate-based integrations to a more secure, pull-based approach with the Agent, emphasizing its role in enabling fine-grained access control and serving as a foundation for future Kubernetes integrations. It also mentions the integration with Cilium for Kubernetes network security alerts and outlines ongoing development efforts towards general availability and integration with GitLab CI for push-based deployments.

2020

VS Code extension development with GitLab

11/30/2020

This post details the development of the GitLab VS Code extension, showcasing how it leverages the VS Code Extension API (commands, tree view, status bar) to integrate GitLab features into the editor. It also highlights the use of GitLab CI/CD for extension development, testing, and publishing to both Visual Studio Marketplace and open-vsx.

Understand the new GitLab Agent for Kubernetes

9/22/2020

This post introduces the initial release of the GitLab Agent for Kubernetes, a new integration designed to address weaknesses in previous Kubernetes integrations. Key contributions include establishing a permanent communication channel between GitLab and Kubernetes, enabling pull-based deployments using the gitops-engine, and focusing on security by restricting GitLab's cluster rights and avoiding internet exposure. It also outlines design goals centered on being cloud-native, serving expert Kubernetes platform engineers, and offering a secure solution.

How we created a GitLab Workflow Extension for VS Code

7/31/2020

This post announces the official maintenance and support of the GitLab Workflow Extension for VS Code by GitLab. It details the history of the extension, its community contributions, and the improvements made since GitLab took over maintenance, including an application security review, a security release process, and foundational work for future testing. The post also outlines future plans, focusing on triaging existing issues, capturing new bugs, and improving the test suite and code quality to ensure a trustworthy extension.

Teams speed development with GitLab & Mattermost ChatOps

1/13/2020

This post details the integration of Mattermost for ChatOps with GitLab. It highlights how Mattermost can be used to interact with CI/CD jobs through messaging, with output posted back to chat channels. Specific examples include a GitLab plugin for Mattermost that provides notifications for new issues, review requests, daily reminders, and sidebar buttons for tracking reviews, unread messages, assignments, and open merge requests. It also describes how GitLab commits can be pushed to a Mattermost channel via webhooks for management visibility and how separate 'Heartbeat' channels can be used for application event notifications.

2019

Native code intelligence is coming to GitLab

11/12/2019

This post details the integration of Sourcegraph's code intelligence capabilities directly into the GitLab codebase. This includes adding native support for 'go-to-definition' and 'find references' within hover tooltips in various code views. The integration was achieved through collaboration between Sourcegraph and GitLab engineering teams, resulting in a browser-based developer platform without requiring extra plugins for users on GitLab.com. For self-managed instances, a private Sourcegraph instance is required. The rollout strategy on GitLab.com involves dogfooding within the _gitlab-org_ group first, with plans to extend to public projects.

Sentry's GitLab integration streamlines error remediation

1/25/2019

This post details the enhancements to the Sentry-GitLab integration, specifically the addition of release and commit tracking, and the suspect commits feature. It also highlights the existing functionality of issue management and creation directly within the Sentry UI, and the ability to link existing GitLab issues. The post mentions future work to integrate Sentry errors directly into the GitLab interface.

2018

A visual prototype of Drupal.org's GitLab integration

12/19/2018

This post details the technical collaboration between Drupal.org and GitLab to integrate Drupal.org's version control system with GitLab. Key contributions include: - Drupal.org developing a `versioncontrol_gitlab` module that extends the `versioncontrol_git` module. - Collaboration with the GitLab engineering team to address specific issues, including: - `git merge-base web API` - API for confirming user email addresses - Configuration of display URL for clone instructions - Ability to hide user email addresses from GitLab UI - Allowing developer role to delete tags - Setting `GL_REPOSITORY` in update hooks for API-initiated requests - Deduplication of Git objects to reduce disk space of repository forks.

Demo: GitLab + Jira + Jenkins

7/30/2018

This post demonstrates a workflow integrating GitLab with Jira for issue tracking and Jenkins for CI. It highlights how users can transition Jira issue states via GitLab, view GitLab commits, branches, and merge requests in the Jira development panel, and see the status of Jenkins pipelines within GitLab. This enhances the user experience by maintaining work context across different tools.

Announcing GitLab one-click clone to Xcode

6/6/2018

Introduced an 'Open in Xcode' button on GitLab project pages for projects containing `.xcodeproj` or `.xcworkspace` files, enabling direct cloning into Xcode. This feature is available on GitLab.com and will be available for self-managed instances in GitLab 11.0.

A VS Code extension for GitLab: GitLab Workflow

3/1/2018

This post details the development of the GitLab Workflow VS Code extension. It covers the initial iteration of displaying assigned issues and merge requests, followed by further iterations that added features like pipeline status display in the status bar, advanced pipeline actions (view, create, retry, cancel), issue and MR search, viewing MRs and closing issues from the status bar, opening active files with line highlighting, creating snippets, comparing branches with master, and validating `.gitlab-ci.yml` files.

2017

Tower launches GitLab integration on Windows

1/20/2017

This post details the integration of Tower, a Git desktop client for Windows, with GitLab. It highlights features such as a Services Manager for account management and one-click repository cloning, productivity boosters like automatic fetching and stashing, a visual Conflict Wizard for resolving merge conflicts, and beginner-friendly features that abstract away command-line operations. It also mentions advanced features for professionals like discarding single lines of code and support for git-flow.

2016

Koding + GitLab: Contribute code faster

7/26/2016

This post introduces an integration with Koding, enabling one-click IDE environment creation for GitLab issues and merge requests. This aims to reduce the time developers spend setting up development environments, allowing them to contribute code faster. The integration allows any GitLab repository to be built on any cloud, facilitating faster contribution to merge requests and inspection of failing tests.