Media

HCL Accelerate - Gitlab Integration Demo

Description

GitLab provides management of git repositories. The GitLab plug-in imports issues, commits, merge requests and builds from a GitLab server.

Quick Info

Product
HCL Accelerate
Type
plugin
Compatibility
GitLab version 9 or higher
Created by
HCL Software
Website
Updated Date
December 21, 2021
Version Name Modified date Action

2.0.10

ucv-ext-gitlab:2.0.10.tar 08-Feb-2021 07:35

2.0.15

ucv-ext-gitlab:2.0.15.tar 03-Mar-2021 04:44

2.0.25

ucv-ext-gitlab:2.0.25.tar 04-May-2021 05:11

2.0.28

ucv-ext-gitlab:2.0.28.tar 30-Jun-2021 09:45

2.0.30

ucv-ext-gitlab:2.0.30.tar 09-Aug-2021 06:37

2.0.31

ucv-ext-gitlab:2.0.31.tar 11-Aug-2021 06:54

2.0.32

ucv-ext-gitlab:2.0.32.tar 25-Aug-2021 05:08

2.0.36

ucv-ext-gitlab:2.0.36.tar 08-Sep-2021 13:57

2.0.37

ucv-ext-gitlab:2.0.37.tar 03-Dec-2021 06:34

2.0.7

ucv-ext-gitlab:2.0.7.tar 08-Feb-2021 07:34

2.0.8

ucv-ext-gitlab:2.0.8.tar 08-Feb-2021 07:34

2.0.9

ucv-ext-gitlab:2.0.9.tar 08-Feb-2021 07:35

ucv-ext-gitlab:2.0.10.tar

2.0.10


ucv-ext-gitlab:2.0.15.tar

2.0.15


ucv-ext-gitlab:2.0.25.tar

2.0.25


ucv-ext-gitlab:2.0.28.tar

2.0.28


ucv-ext-gitlab:2.0.30.tar

2.0.30


ucv-ext-gitlab:2.0.31.tar

2.0.31


ucv-ext-gitlab:2.0.32.tar

2.0.32


ucv-ext-gitlab:2.0.36.tar

2.0.36


ucv-ext-gitlab:2.0.37.tar

2.0.37


ucv-ext-gitlab:2.0.7.tar

2.0.7


ucv-ext-gitlab:2.0.8.tar

2.0.8


ucv-ext-gitlab:2.0.9.tar

2.0.9


Summary

The GitLab plugin provides for integration with a GitLab server. This plugin imports issues, commits, merge requests and builds from a GitLab server and provides a single view of GitLab data in HCL Accelerate value stream map. Data between the GitLab server and the HCL Accelerate server is synchronized every five minutes.

Compatibility

This plugin requires GitLab version 9 or higher.

This plugin supports Cloud and On-Premises platforms.

Upgrade notes

Beginning with HCL Accelerate version 2.4.0 users must enter a user access key is required to connect with the HCL Accelerate server. If you are upgrading from a previous version, you must obtain and add the key to the HCL Accelerate User Access Key configuration property. If the user access key is not added, the integration fails.

History

The following table describes the changes made in each plugin version.

Plugin history details
Version Description
2.0.36 Support for priority using Gitlab labels.
2.0.31 ReSync support added (support starts with HCL Accelerate version 2.4.4 or later).
2.0.30 Auto-generated User Access Key support added (support starts with HCL Accelerate version 2.4.0 or later)
2.0.28 Minor issues
2.0.25 Minor issues
2.0.15 Minor issues
2.0.10 Update plugin to incorporate bug fixes
2.0.9 Added HTTP proxy support
2.0.8 Minor issues
2.0.7 Imports GitLab issues

Usage

To use the GitLab plugin, the plugin must be loaded and an instance created before you can configure the plugin integration. You define configuration properties in the user interface or in a JSON file.

Integration type

The GitLab plugin supports scheduled events integration which are listed in the following table.

Scheduled events
Name Description
syncGitLabIssue Queries the GitLab Server for issues in a project.
syncGitLabPull Queries the GitLab Server for merge requests in a project.
syncGitLabCommit Queries the GitLab Server for commits in a project.
syncGitLabBuild Queries the GitLab Server for builds in a project.

Integration

There are two methods to integrate the plugin:

  • Using the user interface
  • Using a JSON file

The tables in the Configuration properties topic describe the properties used to define the integration.

Using the user interface

  1. From the Plugins page, click Settings > Integrations > Plugins.
  2. Under the Action column for the plugin, click Add Integration.
  3. On the Add Integration page enter values for the fields used to configure the integration and define communication.
  4. Click Save.

Using a JSON file

The JSON file contains the information for creating a value stream. Within the JSON file is a section for integrations. It is in this section that plugin properties can be defined.

  1. From a value stream page, download the value stream map. The value stream map is a JSON file used to define integrations.
  2. Edit the JSON file to include the plugin configuration properties.
  3. Save and upload the JSON file. This replaces the current JSON file with the new content.
  4. View the new integration on the Integrations page.

Minimum permission to integrate with GitLab

The access token generated from Gitlab server requires the READ_API Permission of private repositories to connect to the Gitlab.

Configuration Properties

The following tables describe the properties used to configure the integration. Each table contains the field name when using the user interface and the property name when using a JSON file.

  • The General Configuration Properties table describes configuration properties used by all plugin integrations.
  • The GitLab Configuration Properties table describes the configuration properties that define the connection and communications with the GitLab server.

Some properties might not be displayed in the user interface, to see all properties enable the Show Hidden Properties field.

General Configuration properties
Name Description Required Property Name
NA The version of the plugin that you want to use. To view available versions, click the Version History tab. If a value is not specified, the latest version is used. No image
Integration Name An assigned name to the value stream. Yes name</td
Logging Level The level of Log4j messages to display in the log file. Valid values are: all, debug, info, warn, error, fatal, off, and trace. No loggingLevel
NA List of configuration properties used to connect and communicate with the GitLab server. Enclose the properties within braces. Yes properties
The name of the tenant. Yes tenant_id
NA Unique identifier assigned to the plugin. The value for the GitLab plugin is ucv-ext-gitlab. Yes type
HCL Accelerate User Access Key An auto-generated user access key provides credentials for communicating with the HCL Accelerate server. Yes NA

GitLab Properties
Name Type Description Required
URL String The URL of the GitLab server. Yes
Private Token String The Gitlab server access token. For more information, see the GitLab documentation. Yes
Project IDs Array A list of GitLab Project IDs to import the source data. Yes
HCL Accelerate User Access Key String The user access key used to authenticate with the HCL Accelerate server. This property is not available starting with version 2.0.28 of the plugin. Yes
Priority Field Mapping using Labels Array Map GitLab label for Priorty to this server. The priorty field label must be a key vaule pair connected by “:” or “-“. Example: If Gitlab Label for priorty is priortyKey:High, then pass priortyKey in this field. No
Proxy Server String The URL of the proxy server including the port number. No
Proxy User Name String The user name used to authenticate with the proxy server. No
Proxy Password String The password used to authenticate with the proxy server. No

JSON code example

The following example can be used as a template to define the integration within the JSON file for a value stream. Copy and paste the template into the JSON file and make the appropriate changes.


"integrations":[
   {
      "type":"ucv-ext-gitlab",
      "tenant_id":"tenantId",
      "name":"my-repo",
      "disabled":false,
      "properties":{
         "ucvAccessKey":"key",
         "baseUrl":"https://gitlab.com",
         "private_token":"token",
         "projectIds":[
            "8918",
            "12345"
         ],
        "proxyServer": "https://localhost:3128",
        "proxyUsername": "admin",
        "proxyPassword": "1234",
        "fieldMapping:[
            "priorityKey1",
            "priorityKey2"
        ]
      }
   }
]