Iru (Kandji) to JSM Assets

Iru (Kandji) to JSM Assets

Import devices, applications, users and other attributes from Iru (Kandji) to JSM Assets.

Configure the connection to Kandji by going to OnLink (Manage your apps) - Connections. Then click on Add System and select “IdM/Device Assets Sources”. Here you can set the API URL and API Key from Kandji. See this document for reference: Kandji API Overview

To import Kandji devices into assets, the Kandji API token must be configured with at least "Device list" permissions. The Kandji API token must allow the appropriate access for the given task. For example, to gather information about all devices, the Kandji API token must have permissions for the following:

Permission

Description

Devices: Device Information: Device list

Get a list of all devices in the Kandji tenant

Devices: Device Information: Device details

Get the full details for a specific device

 

Once connection is established, please review instructions here to get started with setting up an Assets import configuration. You can then access OnLink app from the “Manage your apps” menu to further configure and set the field level mapping. Here’s an example mapping configuration:

key:device_id=id
map:user.email=userId
map:device_name=deviceName
map:model=deviceModel
map:platform=operatingSystem

Here’s a breakdown of some of the mapping configuration items:

Key or Map

Description

Key or Map

Description

key:device_id=id

The keyword “key” refers to using device_id as a unique identifier. This allows OnLink to update the record. “id” is a text attribute.

map:user.email=userId

Maps user.email to userId text attribute

map:user.email=Atlassian User ID

In this mapping email is also mapped to Atlassian User ID, which is an attribute of type “User”. Here OnLink looks up the Atlassian User object based on email.

config:filterKey=platform

config:filterValue=Mac

Set filter key/value pair. This example filters devices that match a specific platform. Possible filter values: Mac, iPad, iPhone, AppleTV

config:section=all_apps

Use this configuration to pull all apps from Kandji. Load these into an “apps” specific object. OnLink uses “bundle_id” as the key as it is unique it each app. Here’s an example mapping.

key:bundle_id=AppID
map:app_name=App Name
map:source=App Source
config:section=all_apps

config:section=per_device_apps

Use this configuration to pull apps installed on each device. This works with the previous configuration to map one or more apps to a device.

key:device_id=Device ID
map:device_name=Device Name
map:model=Model
map:appBundleIds=Apps|AppID=${appBundleIds}
config:section=per_device_apps

config:data_source=ade/devices

Use this config to pull ADE devices:

config:data_source=ade/devices

Example mappings are below - other fields from this API can be included:

key:id=<assets attribute>
map:device_family=<assets attribute>
map:user_id=<assets attribute>
map:model=<assets attribute>
map:os=<assets attribute>
map:serial_number=<assets attribute>
map:mdm_device.enrollment_status=<assets attribute>

Any other field returned by the API can be used in the mapping. See this link for a full list of available API fields: Kandji List Devices API

OnLink processes data in two steps - Get Data and Import Data. To manually test, you can click on Get Data first and then wait until you see “No more pending records. Data will be imported on next Import run.” message in Job Logs. Then, click on Import. Production runs are fully automated based on the schedule you choose.

image-20240318-045922.png