Configuring the Jira instance

You can configure how the Jira plugin connects to your Jira instance.

Setting the basic parameters

Open the investigate.yml file and add the following configuration parameters:

siren_jira_plugin:
  enabled: true
  jira_connector:
    host: 'companyname.atlassian.net'

The enabled flag must be set to true explicitly, because its default value is false.

The default JQL code that is used to extract the tickets is:

siren_jira_plugin:
  jql: 'status != Done and assignee="{username}"'
  ...

The plugin replaces the {username} string with the username of the logged in user in Siren Investigate. You can change the JQL value to any valid JQL string.

Setting up security

The Jira plugin supports two kinds of authentication; basic authentication and authentication by using OpenID.

Basic authentication

Using a username and password

You can add your Jira username and password to the investigate.yml file as follows:

  siren_jira_plugin:
    enabled: true
    jira_connector:
      basic_auth:
        username: 'jira-username'
        password: 'jira-password'

Using email ID and API token

If you are using Jira Cloud, you can add your email ID and API token as follows:

  siren_jira_plugin:
    enabled: true
    jira_connector:
      basic_auth:
        email: 'my-email@example.com'
        api_token: 'my-api-token'

To learn how to generate the API token for your account, see API tokens.

If you use Jira Software Server and you want to use API tokens, you must install a plugin from the Jira marketplace. For example, install API Tokens for Jira.

Using Base64 encoding

You can add base64 encoding for either username:password or email_id:api_token as follows:

  siren_jira_plugin:
    enabled: true
    jira_connector:
      basic_auth:
        base64: 'my-base64-string'

Advanced authentication by using OpenID

OpenID is a layer on the top of the standard OAuth 2.0. The Jira plugin supports this without any extra configuration parameters, because it uses the configuration that is supplied when Siren Investigate is set up with OpenID Connect.

Security example

The following is an extended example, using a username and password as the basic authentication mechanism:

siren_jira_plugin:
   enabled: true
   jql: 'status = "In Progress" and assignee = currentUser()'
  jira_connector:
    host: 'companyname.atlassian.net'
    protocol: 'https'
    strictSSL: true
    rejectUnauthorized: false
    path_prefix: '/'
    timeout: 20000
    basic_auth:
        username: 'jira-username'
        password: 'jira-password'

The following table provides the details of each parameter:

Parameter Type Attributes Default Description

enabled

boolean

optional

false

Enables or disables the Jira plugin in Siren Investigate.

jql

string

optional

status != Done AND assignee = "{username}" order by priority

The JQL query that retrieves the tickets that are displayed in the pop-up table.

jira_connector.host

string

required

The hostname of the Jira instance.

jira_connector.protocol

string

optional

https

The protocol that is used to access the Jira API.

jira_connector.strictSSL

boolean

optional

true

Defines whether the connection to the Jira API should be strictly SSL or not.

jira_connector.rejectUnauthorized

any

optional

Defines whether certificates from an unknown authority should be rejected or not.

jira_connector.path_prefix

string

optional

/

Defines the prefix to use in front of the path if Jira isn’t at '/'.

jira_connector.timeout

number

optional

10000

Defines the timeout of the API request in milliseconds.

jira_connector.basic_auth.username

string

optional

The username for the Jira instance.

jira_connector.basic_auth.password

string

optional (required with username)

The password for the Jira instance.

jira_connector.basic_auth.email

string

optional

The email for the Jira instance.

jira_connector.basic_auth.api_token

string

optional (required with email)

The API token that was obtained from Jira.

jira_connector.basic_auth.base64

string

optional

Defines base64 encoding of either username:password or email_id:api_token.