Contenuto principale

Configure Issue Tracker for Polyspace Access on Kubernetes

R2026b

The Issue Tracker service integrates Polyspace® Access™ with an external bug tracking system so that users can create and link issues directly from analysis findings. By default, the Issue Tracker service is disabled.

To enable the Issue Tracker, set issuetracker.enabled to true and specify a provider in your values.yaml:

issuetracker:
  enabled: true
  server:
    provider: jira

Supported providers:

  • jira — Jira Server, Cloud, or Data Center

  • polarion — Polarion

  • redmine — Redmine

You can provide the Issue Tracker configuration inline in values.yaml or reference a Kubernetes Secret that contains a configuration JSON file. Use a Secret for production deployments to keep credentials out of the values file.

issuetracker:
  server:
    configSecret:
      name: polyspace-access
      key: config-issuetracker.json

If both configSecret and inline config are provided, the Secret takes precedence.

Jira Configuration

Jira supports multiple deployment types and authentication methods. Set issuetracker.server.provider to jira and configure the appropriate config block.

Jira Server with Cookie Authentication

issuetracker:
  enabled: true
  server:
    provider: jira
    config:
      url: https://jira.example.com
      jiraType: server
      authnMethod: cookie

With cookie authentication, users enter their Jira credentials in the Polyspace Access web interface. The service uses a session cookie for later requests.

Jira Server with OAuth1

issuetracker:
  enabled: true
  server:
    provider: jira
    config:
      url: https://jira.example.com
      jiraType: server
      authnMethod: oauth1
      authnConfig:
        consumerKey: your-consumer-key
        callbackBaseURL: https://polyspace.example.com
        privateKeyPath: /path/to/private-key.pem

Register an Application Link in Jira with the consumer key and public key. The callbackBaseURL must match the base URL of your Polyspace Access instance. The hostname that you specify when you create the private key must match the hostname in callbackBaseURL. If the hostnames do not match, users get an authentication error when they attempt to create Jira tickets from Polyspace Access.

Jira Cloud with OAuth1

issuetracker:
  enabled: true
  server:
    provider: jira
    config:
      url: https://your-domain.atlassian.net
      jiraType: cloud
      authnMethod: oauth1
      authnConfig:
        consumerKey: your-consumer-key
        callbackBaseURL: https://polyspace.example.com
        privateKeyPath: /path/to/private-key.pem

Jira Cloud with OAuth2

issuetracker:
  enabled: true
  server:
    provider: jira
    config:
      url: https://your-domain.atlassian.net
      jiraType: cloud
      authnMethod: oauth2
      authnConfig:
        clientId: your-client-id
        clientSecret: your-client-secret
        redirectURL: https://polyspace.example.com/issuetracker/oauth2/callback
        scopes:
        - read:jira-work
        - read:jira-user
        - write:jira-work
        siteURL: https://your-domain.atlassian.net

Create an OAuth 2.0 integration in the Atlassian Developer Console. Set the callback URL to https://your-host/issuetracker/oauth2/callback. The scopes list must include, at minimum: read:jira-work, read:jira-user, and write:jira-work.

Jira Data Center with OAuth1

issuetracker:
  enabled: true
  server:
    provider: jira
    config:
      url: https://jira-dc.example.com
      jiraType: dataCenter
      authnMethod: oauth1
      authnConfig:
        consumerKey: your-consumer-key
        callbackBaseURL: https://polyspace.example.com
        privateKeyPath: /path/to/private-key.pem

Jira Data Center with OAuth2

issuetracker:
  enabled: true
  server:
    provider: jira
    config:
      url: https://jira-dc.example.com
      jiraType: dataCenter
      authnMethod: oauth2
      authnConfig:
        clientId: your-client-id
        clientSecret: your-client-secret
        redirectURL: https://polyspace.example.com/issuetracker/oauth2/callback
PropertyDescriptionRequired
config.urlBase URL of your Jira instance.Yes
config.jiraTypeJira deployment type: server, cloud, or dataCenter.Yes
config.authnMethodAuthentication method: cookie (server only), oauth1, or oauth2 (cloud/dataCenter).Yes
authnConfig.consumerKeyOAuth1 consumer key registered as an Application Link in Jira.If OAuth1
authnConfig.callbackBaseURLBase URL of your Polyspace Access instance for OAuth1 callbacks.If OAuth1
authnConfig.privateKeyPathPath to the RSA private key file in the Issue Tracker container.If OAuth1
authnConfig.clientIdOAuth2 client ID from the Atlassian Developer Console.If OAuth2
authnConfig.clientSecretOAuth2 client secret.If OAuth2
authnConfig.redirectURLOAuth2 redirect URL. Must match the callback URL registered in the developer console.If OAuth2
authnConfig.scopesOAuth2 permission scopes (Jira Cloud only).If OAuth2 + Cloud
authnConfig.siteURLJira Cloud site URL for OAuth2 token exchange.If OAuth2 + Cloud

Polarion Configuration

To integrate with Polarion, set the provider to polarion and provide the server URL and API key:

issuetracker:
  enabled: true
  server:
    provider: polarion
    config:
      url: https://polarion.example.com
      apiKey: your-api-key
PropertyDescriptionRequired
config.urlBase URL of your Polarion server.Yes
config.apiKeyPersonal access token of a Polarion account with admin-level privileges. The Polarion API requires admin-level access. Create a dedicated API account with admin-level privileges and use its personal access token for this field. To obtain the token, log in to Polarion as the API account, click My account in the settings menu, then select Personal Access Token from the toolbar. The Issue Tracker does not validate the token. Check periodically that the token has not expired or become invalid.Yes

Redmine Configuration

To integrate with Redmine, set the provider to redmine and provide the server URL and API key:

issuetracker:
  enabled: true
  server:
    provider: redmine
    config:
      url: https://redmine.example.com
      apiKey: your-api-key
PropertyDescriptionRequired
config.urlBase URL of your Redmine instance.Yes
config.apiKeyAPI access key of a Redmine account with admin-level privileges. Create a dedicated API account and grant it admin-level privileges for the projects that you want to integrate with Polyspace Access. To obtain the API key, log in to Redmine as the API account, click My account, then click Show under API access key. The Issue Tracker does not validate the API key. Check periodically that the key has not expired or become invalid.Yes

Using a Kubernetes Secret for Configuration

For production deployments, store the Issue Tracker configuration in a Kubernetes Secret rather than inline in values.yaml. This keeps credentials (API keys, client secrets) out of version control.

Create a JSON file with the provider configuration:

{
  "url": "https://jira.example.com",
  "jiraType": "server",
  "authnMethod": "oauth1",
  "authnConfig": {
    "consumerKey": "your-consumer-key",
    "callbackBaseURL": "https://polyspace.example.com",
    "privateKeyPath": "/app/keys/jira-private-key.pem"
  }
}

Create the Secret:

kubectl create secret generic polyspace-access \
  --from-file=config-issuetracker.json=/path/to/config.json \
  -n NAMESPACE

Reference the Secret in your values.yaml:

issuetracker:
  enabled: true
  server:
    provider: jira
    configSecret:
      name: polyspace-access
      key: config-issuetracker.json

See Also

|