Description

GitHub is a Git repository hosting service. It provides tools to manage artifacts on the Git repository. The GitHub plug-in imports Git artifacts based on queries for issues, commits and pull requests.

Quick Info

Product
HCL Accelerate
Type
plugin
Compatibility
HCL Accelerate version 2.0 or later
Created by
HCL Software
Website
Version Name Action

1.0.40

ucv-ext-github:1.0.40.tar

1.0.42

ucv-ext-github:1.0.42.tar

1.0.49

ucv-ext-github:1.0.49.tar

1.1.1

ucv-ext-github:1.1.1.tar

1.1.15

ucv-ext-github:1.1.15.tar

1.1.18

ucv-ext-github:1.1.18.tar

1.1.20

ucv-ext-github:1.1.20.tar

1.1.9

ucv-ext-github:1.1.9.tar

ucv-ext-github:1.0.40.tar

1.0.40


ucv-ext-github:1.0.42.tar

1.0.42


ucv-ext-github:1.0.49.tar

1.0.49


ucv-ext-github:1.1.1.tar

1.1.1


ucv-ext-github:1.1.15.tar

1.1.15


ucv-ext-github:1.1.18.tar

1.1.18


ucv-ext-github:1.1.20.tar

1.1.20


ucv-ext-github:1.1.9.tar

1.1.9


Summary

The GitHub plugin provides for integration with a GitHub server. This plugin imports issues, pull request and commit data from a GitHub server and saves them as HCL Accelerate issues. Data between the GitHub server and the HCL Accelerate server is synchronized every five minutes.

Compatibility

This plugin supports Cloud and On-Premises platform

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
1.1.18 ReSync support added (support starts with HCL Accelerate version 2.4.4 or later).
Auto-generated User Access Key support added (support starts with HCL Accelerate version 2.4.0 or later).
1.1.1 Added support to pull commits from additional branches
1.0.42 Minor updates
1.0.40 Import GitHub issues

Usage

To use the GitHub 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 GitHub plugin supports scheduled events integration which are listed in the following table.

Scheduled events
Name Description
syncGithubIssuesEvent Queries the GitHub repository for issues.
syncGithubCommitsEvent Queries the GitHub repository for commits.
syncGithubPullRequestsEvent Queries the GitHub repository for pull requests.

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 GitHub

The access token generated from GitHub server requires the Full control of private repositories permission to connect to the Github.

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 GitHub Configuration Properties table describes the GitHub configuration properties that define the connection and communications with the GitHub 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
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 GitHub 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 GitHub plugin is ucv-ext-github Yes type
HCL Accelerate User Access Key An auto-generated user access key provides credentials for communicating with the HCL Accelerate server. Yes NA

GitHub Plugin Properties
Name Type Description Required
API URL String The URL to the REST API v3 for the GitHub instance. Yes
Owner String The owner name of the GitHub repository. Yes
Repositories Array List of GitHub repositories, Use either Repositories field or name field to specify the repositories. Yes
branch String GitHub repositories branch, The branch to pull commits from. No
Token String The token to use to authenticate with the GitHub repository. No
Additional branches Array Additional branches to collect commits from besides the main one, leave blank if not needed. 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 sample

The following sample code 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 Integration section and make the appropriate changes.



 "integrations":[
   {
      "type":"ucv-ext-github",
      "tenant_id":"tenant-id",
      "name":"github-integration-name",
      "properties":{
         "owner":"owner-name",
         "repositories":[
            "repo1",
            "repo2",
            "repo3"
         ],
         "apiUrl":"github-api-url",
         "token":"generated-token",
         "ucvAccessKey":"generated-access-key",
         "proxyServer": "proxy_server_url",
         "proxyUsername": "proxy_server_user_name",
         "proxyPassword": "proxy_server_password"
      }
   }
]