Plug-in Documentation

Jira

Overview

The Jira plug-in provides for integration with a Jira server. This plug-in imports Jira issues and saves them as UrbanCode Velocity issues. Data between the Jira server and the UrbanCode Velocity server is synchronized every five minutes.

Compatibility

Must be running UrbanCode Velocity version 1.2.1 and later to use the plug-in.

Upgrade notes

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

Versions

UrbanCode Velocity plug-in images are located in DockerHub. To view available versions, see the UrbanCode DockerHub.

History

Version 1.0.80

  • Minor enhancements.

Version 1.0.74

  • Minor enhancements.

Version 1.0.65

  • Minor enhancements.

Version 1.0.64

  • ReSync support added. Applies to UrbanCode Velocity version 2.4.4 or later.
  • Auto-generated User Access Key support added. Applies to UrbanCode Velocity version 2.4.0 or later.

Version 1.0.51

  • Minor enhancements.

Version 1.0.50

  • Jira rate limit issue fix.

Version 1.0.49

  • Minor bug fix.

Version 1.0.39

  • Minor bug fix.

Version 1.0.38

  • Minor bug fix.

Version 1.0.36

  • Added HTTP proxy support.

Version 1.0.27

  • Update plugin version from 0.x.x to 1.x.x format.

Version 0.0.17

  • Initial release

Usage

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

Integration type

The Jira plug-in supports scheduled events integration which are listed in the following table.

Scheduled events
Name Description
SyncJiraDataEvent Synchronize data from a Jira server.

Integration

There are two methods to integrate the plug-in:

  • 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 plug-in, 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 plug-in 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 plug-in 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.

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 plug-in integrations.
  • The Jira Configuration Properties table describes the configuration properties that define the connection and communications with the Jira server. When using the JSON method to integrate the plug-in these properties are coded within the properties configuration property.
General Configuration Properties
Name Description Required
image The version of the plug-in that you want to use. To view available versions, see the UrbanCode DockerHub. If a value is not specified, the latest version is used. No
name An assigned name to the value stream. Yes
loggingLevel The level of Log4j messages to log. Valid values are: all, debug, info, warn, error, fatal, off, and trace. The default is info. No
properties List of plug-in configuration properties used to connect and communicate with the Jira server. Enclose the properties within braces. Yes
tenant_id The name of the tenant. Yes
type Unique identifier assigned to the plug-in. The value for the Jira plug-in is ucv-ext-jira Yes
Jira Configuration properties
Name Type Description Required Property Name
Access Token String The access token for oauth authentication with the Jira server. No access_token
Access Token Secret String The access token secret for oauth authentication with the Jira server. No access_token_secret
Consumer Key String The consumer key for oauth authentication with the Jira server. No consumer_key
Consumer Secret String The consumer secret for oauth authentication with the Jira server. No consumer_key_secret
Password Secure Credential to authenticate with the Jira server. No password
Projects Array A list of Jira project to import data from. No jiraProjects
Proxy Server String The URL of the proxy server including the port number. No proxyServer
Proxy User Name String The user name used to authenticate with the proxy server. No proxyUsername
Proxy Password String The password used to authenticate with the proxy server. No proxyPassword
URL String The base URL of the Jira server. Yes baseUrl
User Name String The user name used to authenticate with the Jira server. No username

Example

The following example can be used as a template to include the Jira plug-in integration into the JSON file.
Copy and paste the template into the JSON file and make the appropriate changes.


 "integrations": [
    {
      "type": "ucv-ext-jira",
      "tenant_id": "tenantid",
      "name": "Jira_Plugin ",
      "properties": {
        "baseUrl": "jira_server_url",
        "username": "jira_server_user_name",
        "password": "jira_server_password",
        "consumer_key": null,
        "consumer_secret": null,
        "access_token": null,
        "access_token_secret": null,
        "jiraProjects": [
          "John-Project"
        ],
        "proxyServer": "proxy_server_url",
        "proxyUsername": "proxy_server_user_name",
        "proxyPassword": "proxy_server_password"
      }
    }  ]