Skip to main content

Jira

Visualize Jira projects, users, and issues, map Jira users to employees, and monitor changes through queries and alerts.

Installation

To use this integration, JupiterOne requires the hostname for your Jira organization, credentials for API access, and optionally an Assets mapping configuration for CMDB ingestion.

note

The integration supports Jira Cloud with Jira API v3 and Jira Data Center with Jira API v2. Other setups may work.

Configure a Jira User

Create or designate a Jira user for the JupiterOne integration:

Option 1: Create a New Service Account (Recommended)

  1. Log in to Jira as an administrator
  2. Navigate to User Management
  3. Create a new user (e.g., jupiterone-integration@yourcompany.com)
  4. Grant the necessary permissions (see User Permissions below)

Option 2: Use an Existing User

Verify the user has the required permissions and that you can log in to generate an API token.

User Permissions

The Jira user needs the following permissions:

  1. Browse Users - Grant the "Browse Users" global permission to read groups and users
  2. Project Access - Authorize browse access to projects using Jira permission features
  3. Create Issues (optional) - Required only if using JupiterOne Alert Rules to create Jira issues
  4. Assets Access (optional) - Required for CMDB ingestion. The user must have access to Jira Service Management Assets.
tip

For read-only access, see How to Create a Read Only User.

Create an API Token

  1. Log in to Jira as the JupiterOne integration user
  2. Go to Atlassian Account Settings > API Tokens
  3. Click Create API token
  4. Give it a descriptive label (e.g., "JupiterOne Integration")
  5. Copy and save the token value
warning

The token is only shown once. Store it securely.

Assets (CMDB) Requirements

To ingest Jira Assets (CMDB), the integration user must have:

  • Access to Jira Service Management
  • Permission to view Assets in your Jira organization
  • The API token must be from a user with these permissions

No special OAuth configuration is required - the standard API token works if the user has Assets access.

Configuration in JupiterOne

Navigate to Integrations > Jira > New Instance and provide:

FieldDescription
Account NameIdentifier for this Jira account in JupiterOne
DescriptionOptional description
Polling IntervalHow often to sync data
HostnameYour Jira hostname (e.g., yourcompany.atlassian.net)
User EmailEmail of the Jira integration user
API TokenThe API token created above
Project KeysComma-separated list of project keys to ingest
Assets MappingJSON file for CMDB ingestion (see below)

Assets (CMDB) Configuration

To ingest assets from Jira Service Management Assets, upload a JSON mapping configuration that defines which object types to ingest and how to map their attributes to JupiterOne entities.

Mapping Structure

{
"version": "1.0",
"description": "My organization's asset mappings",
"objectTypes": [
{
"objectTypeId": "15",
"objectTypeName": "Laptop",
"_class": "Device",
"enabled": true,
"propertyToAttributeMap": {
"hostname": { "attributeId": "135", "attributeName": "Hostname" },
"serial": { "attributeId": "136", "attributeName": "Serial Number" },
"category": { "attributeId": null, "default": "laptop" }
}
}
]
}

Object Type Configuration

PropertyTypeRequiredDescription
objectTypeNamestringYesJira Object Type name (generates entity _type automatically)
objectTypeIdstringNoJira Object Type ID (more stable for queries)
_classstring or string[]YesJupiterOne entity class
enabledbooleanYesWhether to ingest this object type
filterstringNoAdditional AQL filter (e.g., Status = Active)
propertyToAttributeMapobjectYesMaps J1 properties to Jira attributes

Attribute Mapping

PropertyTypeRequiredDescription
attributeIdstring or nullYesJira attribute ID. Use null for default-only values
attributeNamestringNoHuman-readable name (documentation only)
typestringNoType conversion: string, number, boolean, date, array, json
defaultanyNoDefault value when attribute is missing
transformstringNoTransform: lowercase, uppercase, trim, slug
patternstringNoRegex pattern to extract value

Complete Example: Devices and Servers

This example maps laptops and servers from Jira Assets:

{
"version": "1.0",
"description": "IT Asset inventory mapping",
"objectTypes": [
{
"objectTypeId": "15",
"objectTypeName": "Laptop",
"_class": "Device",
"enabled": true,
"propertyToAttributeMap": {
"hostname": { "attributeId": "135", "attributeName": "Hostname" },
"serial": { "attributeId": "136", "attributeName": "Serial Number" },
"make": { "attributeId": "137", "attributeName": "Manufacturer" },
"model": { "attributeId": "138", "attributeName": "Model" },
"macAddress": { "attributeId": "139", "attributeName": "MAC Address" },
"osName": { "attributeId": "141", "attributeName": "Operating System" },
"osVersion": { "attributeId": "142", "attributeName": "OS Version" },
"deviceId": { "attributeId": "144", "attributeName": "Asset Tag" },
"category": { "attributeId": null, "default": "laptop" }
}
},
{
"objectTypeId": "17",
"objectTypeName": "Server",
"_class": "Host",
"enabled": true,
"filter": "Status != Decommissioned",
"propertyToAttributeMap": {
"hostname": { "attributeId": "201", "attributeName": "Hostname" },
"fqdn": { "attributeId": "202", "attributeName": "FQDN" },
"serial": { "attributeId": "203", "attributeName": "Serial Number" },
"make": { "attributeId": "204", "attributeName": "Manufacturer" },
"model": { "attributeId": "205", "attributeName": "Model" },
"ipAddress": { "attributeId": "207", "attributeName": "IP Address" },
"osName": { "attributeId": "210", "attributeName": "Operating System" },
"osVersion": { "attributeId": "211", "attributeName": "OS Version" },
"category": { "attributeId": null, "default": "server" }
}
}
]
}

Supported JupiterOne Classes

ClassUse ForKey Properties
DeviceLaptops, desktops, phones, printershostname, serial, make, model, macAddress, category
HostServers, VMshostname, fqdn, ipAddress, osName, osVersion, category
ApplicationSoftwarename, version
PersonEmployees, contractorsfirstName, lastName, email
UserUser accountsusername, email, firstName, lastName

Finding Object Type and Attribute IDs

To find the IDs needed for your mapping configuration:

Finding Object Type ID:

  1. Go to Jira Service Management > Assets
  2. Click on an Object Schema
  3. Click on an Object Type (e.g., "Laptop")
  4. The Object Type ID is in the URL: .../object-type/{objectTypeId}

Finding Attribute IDs:

  1. From the Object Type page, click Attributes
  2. Click on an attribute to see its details
  3. The Attribute ID is in the URL or settings panel
tip

Use your browser's network inspector when viewing an asset to see the API responses with all IDs.

Auto-Generated Properties

These properties are automatically set by the integration and don't need mapping:

  • _key, _type, _class - Entity identifiers
  • name, displayName - From Jira object label
  • id - Jira object ID
  • webLink - Link to asset in Jira
  • createdOn, updatedOn - Timestamps
  • objectKey, objectTypeName, objectTypeId - Jira metadata

Entities Created

Assets ingestion creates:

Entity_type_class
Assets Workspacejira_assets_workspaceRepository
Asset Objectsjira_assets_{objectTypeName}As configured

For example, objectTypeName: "Laptop" creates entities with _type: jira_assets_laptop.

Relationships Created

SourceRelationshipTarget
jira_accountHASjira_assets_workspace
jira_assets_workspaceHASjira_assets_*

Next Steps

Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.