Creating and Configuring a Jira System of Record

Prerequisites

  • An Atlassian account with the following permissions:
    • Read all Jira Users
    • Read all Jira Issues

Configuring Jira

  1. Go to Atlassian ID Portal and login with an account you will use to synchronize data from Jira to SGNL

    Atlassian ID Portal

  2. Enter a label for the API key, click Create, and copy the API token that is created

    Jira - Create API key

  3. Save the API key in a temporary location. You will need this API key for completing configuration in SGNL

  4. In the Atlassian Admin app, browse to Products and note the Base URL for the Jira Software

    Jira - Copy Base URL

Configuring SGNL

  1. Login to the SGNL Console

  2. From the left menu, select Systems of Record

  3. Click “Add System of Record” or “Add”.

  4. The SGNL SoR Catalog will show up on the screen:

    SGNL - Catalog

  5. Click on “Jira” which will open up the New System of Record screen with some configuration options pre-populated from the Jira SoR template:

    SGNL - Edit Jira SoR

  6. Choose the correct adapter that matches the Jira System of Record Type.

  7. Replace all fields that have the {{Input Required:}} placeholder with relevant information. For Jira, the following fields are required:

    • Address: The subdomain of your Jira instance, e.g., acme-corp, if you go to https://acme-corp.atlassian.net to login
    • Username: The User ID of the account you use to login to your Jira instance
    • Password: The API key you created in the “Configuring Jira” section above
  8. Click “Continue” to save your Jira System of Record. You will be taken to the Jira System of Record page.

    SGNL - Jira SoR

  9. All entities and relationships are created as defined in the Jira template. If applicable, you can edit an entity and modify any properties of the entity or the associated attributes. Hover over the entity on the screen above to see the Edit button as shown above.

  10. You can check the relationships created through the Relationships tab. However, relationships cannot be modified. You will need to delete an existing one, and create a new relationship.

  11. Note that synchronization is disabled by default when a new System of Record is created. You can choose to enable synchronization on Entities individually. Hover over the entity to see the Enable Sync button, and click on it.

  12. Repeat for all Entities you want to synchronize to SGNL. Finally, Enable synchronization for the System of Record.

    SGNL - Jira SoR Enable Sync for Entity

  13. After some time, SGNL should complete ingesting the data from your Jira instance into the SGNL graph. The number of objects ingested per entity are displayed on the Jira screen. You should then be able to construct policies based on your Jira data and make access evaluation calls to SGNL.

  14. Once ingestion is complete and Jira data is in the SGNL graph, you can use Data Lens to explore the SGNL graph.

Synchronization Filters

In most cases, you will want to reduce the data coming from Jira to only the entities, attributes, and objects that you need to sucessfully evaluate your policies or take action within SGNL. Given that, it’s likely that you will want to make use of filters to reduce that data.

As with other SoRs, you can apply the native JQL filtering syntax for Issues from the SoR, in this case Jira, to the Adapter Config for the System. Filters are configured for Jira Issues and are passed directly to the System of Record at Synchronization time to be evaluated and have only the right data made available to SGNL.

SGNL uses Jira’s JQL filtering syntax for filtering Issues from the System of Record.

Sample Adapter Config

{
    "requestTimeoutSeconds": 10,
    "localTimeZoneOffset": 43200,
    "issuesJqlFilter": "project=SGNL OR project=MVP",
    "objectsQlQuery": "objectType = Customer",
    "assetBaseUrl": "https://api.atlassian.com/jsm/assets"
}

Adapter Config Fields

  • requestTimeoutSeconds - how long to wait for a request to AAD to complete before failing and retrying, default 10
  • localTimeZoneOffset - LocalTimeZoneOffset is the default local timezone offset that should be used for parsing date-time attributes lacking any time zone info. If this is set to 0 or not set, this will default to UTC. Allowed offset is -12 hours to 14 hours, in seconds.
  • issuesJqlFilter - The JQL Filter to filter issues that are ingested into SGNL
  • objectsQlQuery - the AQL query to use when querying for custom objects
  • assetBaseUrl - AssetBaseURL is the base URL to use when querying for Objects, only used when querying custom objects