How to import JumpCloud Users into JSM Assets: A Step-by-Step Guide

Managing user governance requests and employee change requests are a significant workload for IT teams. Inorder to have an efficient IT Service Management (ITSM) in Jira Service Management (JSM), having the user identity data, roles, groups, licenses and entitlement in asset objects makes it easy for automations.

In this guide, we will walk through how to easily import users and other objects from JumpCloud into Assets.

 

Why import JumpCloud users into JSM Assets?

Here is why you should import JumpCloud data into Assets:

  1. Enriched Ticket Context: When a user raises a ticket, the agent can immediately see the user’s department, location, and job title without switching tabs.

  2. Automated Approvals: By mapping the manager field from JumpCloud to an Asset object, you can automate approval workflows in JSM based on the reporter’s actual reporting line.

  3. Asset Assignment: You can link hardware assets (laptops, phones) directly to the synchronized User objects, creating a clear chain of custody.

  4. Single Source of Truth: Eliminate manual data entry. When a user is updated in JumpCloud (e.g., a promotion or name change), that change automatically reflects in JSM Assets.

Configuration Guide

Using OnLink you can import JumpCloud data into Assets.

Step 1: Establish the Connection

  1. Navigate to OnLink via “Manage your apps” in Jira.

  2. Go to the Connections tab.

  3. Click Add System.

  4. Select JumpCloud from the list of available integrations.

  5. Follow the prompts to enter your API credentials.

 

Step 2: Configure the Import and Mapping

To fetch users, you will use the systemusers API endpoint. Below is a standard configuration pattern you can use to get started.

Copy/Paste Configuration:

Plaintext
key:_id=id
map:firstname=First Name
map:lastname=Last Name
map:email=Email
map:username=User Name
map:manager=Manager Name
map:jobTitle=Job Title
config:api=systemusers

 

Understanding the Mapping Syntax

The configuration uses specific keywords to control the data flow. Here is a breakdown:

Key / MapDescription
key:_id=idThe keyword key defines the unique identifier. We map JumpCloud’s _id to the Assets id attribute. This ensures that OnLink updates existing records rather than creating duplicates during future syncs.
map:firstname=First NameThe keyword map connects the source to the destination. Syntax: map:[JumpCloud_Field]=[Assets_Attribute_Name].
config:api=systemusersThis tells OnLink which specific JumpCloud API endpoint to query.
config:filter

(Optional) Used to filter the query results. The syntax follows: <field>:<operator>:<value>.


Example: department:$eq:Finance

Available Fields for Mapping

JumpCloud provides a rich set of user data. You can map any field returned by the API. Documentation Link. Here is a snippet of the JSON structure available to you:

JSON
{
  "results": [
    {
      "_id": "string",
      "username": "string",
      "email": "string",
      "firstname": "string",
      "lastname": "string",
      "jobTitle": "string",
      "department": "string",
      "manager": "string",
      "location": "string",
      "phoneNumbers": [ ... ],
      "addresses": [ ... ],
      "attributes": [ ... ]
    }
  ]
}

Tip: Use the “Fetch Sample” button in OnLink to view the exact structure of your API response and identify other fields relevant to your organization.

Frequently Asked Questions (FAQ)

What is the best unique identifier to use for JumpCloud imports?

Answer: The _id field from JumpCloud is the best unique identifier. You should map this using the key:_id=id syntax to ensure records are updated correctly over time.

Can I filter which JumpCloud users can be imported into Assets?

Answer: Yes. You can use the config:filter parameter in your mapping configuration. For example, to only import active users or users from a specific department, you would use the syntax field:$eq:value (e.g., department:$eq:Engineering).

How do I see which fields are available to map?

Answer: Inside the OnLink configuration screen, use the “Fetch Sample” feature. This will return a raw JSON response from JumpCloud, showing you all available fields (such as costCenteremployeeType, or location) that you can map to your Assets attributes.

Does OnLink support automatic synchronization?

Answer: Yes. While you can trigger manual imports for testing, OnLink allows you to define a schedule for production runs, ensuring your JSM Assets data stays synchronized with JumpCloud automatically.

Ready to synchronize your JumpCloud data to Assets?

Stop manually managing user lists and start leveraging the power of your JumpCloud directory inside JSM.

👉 Try OnLink on the Atlassian Marketplace today