Provide object schema and mapping configuration for the external import
import:import-configuration:cmdb
string
Requiredboolean
any
This status code has no content.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
curl --request PUT \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{uuid}/mapping' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"schema": {
"objectSchema": {
"name": "Disk Analysis Tool",
"description": "Data imported from The Disk Analysis Tool",
"objectTypes": [
{
"externalId": "object-type/hard-drive",
"name": "Hard Drive",
"description": "A hard drive found during scanning",
"attributes": [
{
"externalId": "object-type-attribute/duid",
"name": "DUID",
"description": "Device Unique Identifier",
"type": "text",
"label": true,
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
},
{
"externalId": "object-type-attribute/disk-label",
"name": "Disk Label",
"description": "Hard drive label",
"type": "text",
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
},
{
"externalId": "object-type-attribute/status",
"name": "HardDriveStatus",
"description": "The hard drive status",
"type": "status",
"typeValues": [
"Schema Scope Status",
"Global Scope Status",
"New Status"
]
}
],
"children": [
{
"externalId": "object-type/file",
"name": "File",
"description": "A file present in a hard drive",
"attributes": [
{
"externalId": "object-type-attribute/path",
"name": "Path",
"description": "Path of the file",
"type": "text",
"label": true,
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
},
{
"externalId": "object-type-attribute/size",
"name": "Size",
"description": "Size of the file",
"type": "integer",
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
}
]
}
]
}
]
},
"statusSchema": {
"statuses": [
{
"name": "New Status",
"description": "",
"category": "active"
}
]
}
},
"mapping": {
"objectTypeMappings": [
{
"objectTypeExternalId": "object-type/hard-drive",
"objectTypeName": "Hard Drive",
"selector": "hardDrives",
"description": "Mapping for Hard Drives",
"attributesMapping": [
{
"attributeExternalId": "object-type-attribute/duid",
"attributeName": "DUID",
"attributeLocators": [
"id"
],
"externalIdPart": true
},
{
"attributeExternalId": "object-type-attribute/disk-label",
"attributeName": "Disk Label",
"attributeLocators": [
"label"
]
},
{
"attributeExternalId": "object-type-attribute/status",
"attributeName": "HardDriveStatus",
"attributeLocators": [
"status"
]
}
]
},
{
"objectTypeExternalId": "object-type/file",
"objectTypeName": "File",
"selector": "hardDrives.files",
"description": "Maps files found in hard drives",
"attributesMapping": [
{
"attributeExternalId": "object-type-attribute/path",
"attributeName": "Path",
"attributeLocators": [
"path"
],
"externalIdPart": true
},
{
"attributeExternalId": "object-type-attribute/size",
"attributeName": "Size",
"attributeLocators": [
"size"
]
}
]
}
]
}
}'
Update object schema and mapping configuration for the external import
import:import-configuration:cmdb
string
Requiredboolean
any
This status code has no content.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
curl --request PATCH \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{uuid}/mapping' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"$schema": "https://api.stg.atlassian.com/jsm/assets/imports/external/schema/versions/2021_09_15",
"schema": {
"objectSchema": {
"name": "Disk Analysis Tool",
"description": "Data imported from The Disk Analysis Tool",
"objectTypes": [
{
"externalId": "object-type/hard-drive",
"name": "Hard Drive",
"description": "A hard drive found during scanning",
"attributes": [
{
"externalId": "object-type-attribute/manufacturer",
"name": "Manufacturer",
"description": "Manufacturer name",
"type": "text"
}
],
"children": [
{
"externalId": "object-type/folder",
"name": "Folder",
"description": "A folder present in a hard drive",
"attributes": [
{
"externalId": "object-type-attribute/folder-name",
"name": "Name",
"description": "Folder name",
"type": "text",
"label": true
}
]
},
{
"externalId": "object-type/file",
"name": "File",
"description": "A file present in a hard drive",
"attributes": [
{
"externalId": "object-type-attribute/path",
"name": "Path",
"description": "Updated description for the path attribute",
"type": "text",
"label": true
}
]
}
]
}
]
}
},
"mapping": {
"objectTypeMappings": [
{
"objectTypeExternalId": "object-type/hard-drive",
"objectTypeName": "Hard Drive",
"selector": "hardDrives",
"description": "Mapping for Hard Drives",
"attributesMapping": [
{
"attributeExternalId": "object-type-attribute/duid",
"attributeName": "DUID",
"attributeLocators": [
"id"
],
"externalIdPart": true
},
{
"attributeExternalId": "object-type-attribute/disk-label",
"attributeName": "Disk Label",
"attributeLocators": [
"label"
]
},
{
"attributeExternalId": "object-type-attribute/manufacturer",
"attributeName": "Manufacturer",
"attributeLocators": [
"manufacturer"
]
}
]
},
{
"objectTypeExternalId": "object-type/folder",
"objectTypeName": "Folder",
"selector": "hardDrives.folders",
"description": "Mapping for Folder",
"attributesMapping": [
{
"attributeExternalId": "object-type-attribute/folder-name",
"attributeName": "Name",
"attributeLocators": [
"name"
],
"externalIdPart": true
}
]
}
]
}
}'
Get the progress of an asynchronous schema and mapping operation
import:import-configuration:cmdb
string
Requiredstring
RequiredThe progress of an asynchronous schema and mapping operation
any
1
2
3
4
curl --request GET \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceId}/mapping/progress/{resourceId}' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
{
"progressStatus": "FINISHED",
"result": "OK",
"resultMessage": "Schema and mapping successfully created"
}
Get the current status of the import configuration
import:import-configuration:cmdb
string
RequiredReturns the status of the import configuration, can be one of: IDLE, DISABLED, MISSING_MAPPING, RUNNING
any
1
2
3
4
curl --request GET \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceId}/configstatus' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
{
"status": "IDLE"
}
Get the current schema and mapping of the import configuration
import:import-configuration:cmdb
string
Requiredany
1
2
3
4
curl --request GET \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceId}/schema-and-mapping' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
{
"schema": {
"objectSchema": {
"name": "docs",
"description": "",
"objectTypes": [
{
"externalId": "object-type/hard-drive",
"name": "Hard Drive",
"description": "A hard drive found during scanning",
"attributes": [
{
"name": "Key",
"description": "",
"type": "text",
"label": false,
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
},
{
"externalId": "object-type-attribute/duid",
"name": "DUID",
"description": "Device Unique Identifier",
"type": "text",
"label": true,
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
},
{
"externalId": "object-type-attribute/disk-label",
"name": "Disk Label",
"description": "Hard drive label",
"type": "text",
"label": false,
"minimumCardinality": 0,
"maximumCardinality": 1,
"unique": false
}
],
"children": [
{
"externalId": "object-type/file",
"name": "File",
"description": "A file present in a hard drive",
"attributes": [
{
"name": "Key",
"description": "",
"type": "text",
"label": false,
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
},
{
"externalId": "object-type-attribute/size",
"name": "Size",
"description": "Size of the file",
"type": "integer",
"label": false,
"minimumCardinality": 0,
"maximumCardinality": 1,
"unique": false
},
{
"externalId": "object-type-attribute/path",
"name": "Path",
"description": "Path of the file",
"type": "text",
"label": true,
"minimumCardinality": 1,
"maximumCardinality": 1,
"unique": false
}
]
}
]
}
]
}
},
"mapping": {
"objectTypeMappings": [
{
"objectTypeExternalId": "object-type/hard-drive",
"objectTypeName": "Hard Drive",
"selector": "hardDrives",
"description": "Mapping for Hard Drives",
"attributesMapping": [
{
"attributeExternalId": "object-type-attribute/duid",
"attributeName": "DUID",
"attributeLocators": [
"id"
],
"externalIdPart": true
},
{
"attributeExternalId": "object-type-attribute/disk-label",
"attributeName": "Disk Label",
"attributeLocators": [
"label"
],
"externalIdPart": false
}
]
},
{
"objectTypeExternalId": "object-type/file",
"objectTypeName": "File",
"selector": "hardDrives.files",
"description": "Maps files found in hard drives",
"attributesMapping": [
{
"attributeExternalId": "object-type-attribute/path",
"attributeName": "Path",
"attributeLocators": [
"path"
],
"externalIdPart": true
},
{
"attributeExternalId": "object-type-attribute/size",
"attributeName": "Size",
"attributeLocators": [
"size"
],
"externalIdPart": false
}
]
}
]
}
}
Move to the data ingestion steps of external imports
import:import-configuration:cmdb
string
Requiredany
1
2
3
4
curl --request POST \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceUuid}/executions' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
{
"links": {
"submitProgress": "https://api.atlassian.com/jsm/insight/workspace/fd8d86e0-3401-40bd-adb4-bb50b8e39288/v1/importsource/4d4095c3-cb7c-4d59-9b75-a381ea4b1975/executions/07a58b26-e93a-49c6-9381-1fe235943018/progress",
"submitResults": "https://api.atlassian.com/jsm/insight/workspace/fd8d86e0-3401-40bd-adb4-bb50b8e39288/v1/importsource/4d4095c3-cb7c-4d59-9b75-a381ea4b1975/executions/07a58b26-e93a-49c6-9381-1fe235943018/data",
"getExecutionStatus": "https://api.atlassian.com/jsm/insight/workspace/fd8d86e0-3401-40bd-adb4-bb50b8e39288/v1/importsource/4d4095c3-cb7c-4d59-9b75-a381ea4b1975/executions/07a58b26-e93a-49c6-9381-1fe235943018/status",
"cancel": "https://api.atlassian.com/jsm/insight/workspace/fd8d86e0-3401-40bd-adb4-bb50b8e39288/v1/importsource/4d4095c3-cb7c-4d59-9b75-a381ea4b1975/executions/07a58b26-e93a-49c6-9381-1fe235943018"
},
"result": "success"
}
Cancel current on-going import
import:import-configuration:cmdb
string
Requiredstring
RequiredThis status code has no content.
1
2
3
curl --request DELETE \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceUuid}/executions/{importExecutionUuid}' \
--header 'Authorization: Bearer <access_token>'
Submit progress of ingesting data
import:import-configuration:cmdb
string
Requiredstring
Requiredany
This status code has no content.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
curl --request PUT \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceUuid}/executions/{importExecutionUuid}/progress' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"steps": {
"total": 3,
"current": 2,
"description": "Gathering data"
},
"objects": {
"total": 500,
"processed": 125
}
}'
Providing data to be ingested
import:import-configuration:cmdb
string
Requiredstring
Requiredany
This status code has no content.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
curl --request POST \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceUuid}/executions/{importExecutionUuid}/data' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"data": {
"hardDrives": [
{
"id": "Hard drive ID",
"label": "Hard drive label",
"files": [
{
"path": "/file/path",
"size": 123456
}
]
}
]
},
"clientGeneratedId": "a-unique-id",
"completed": true
}'
Get the status of the import
import:import-configuration:cmdb
string
Requiredstring
Requiredany
1
2
3
4
curl --request GET \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceUuid}/executions/{importExecutionUuid}/status' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
"status": "DONE",
"progressResult": {
"type": "IMPORT",
"id": 438,
"started": "2023-06-15T12:13:03.952+00:00",
"ended": "2023-06-15T12:13:05.124+00:00",
"objectSchemaId": 266,
"result": "OK",
"status": "FINISHED",
"infoMessage": "No data to import",
"jobId": "241d9437-eb25-4008-a346-8daafbb91026",
"importSourceId": "3e9f17a6-61db-4bdd-a313-6dd38c81bfca",
"populatedObjectTypes": [
"Operating System",
"Hard Drive"
],
"onlyExecutedForObjectTypes": [],
"objectTypeResultMap": {
"2547": {
"id": null,
"objectTypeName": "Hard Drive",
"objectTypeId": 2547,
"objectsUpdated": 0,
"objectsCreated": 1,
"objectsIdentical": 0,
"objectsMissingUpdated": 0,
"objectsMissingDeleted": 0,
"entriesInSource": 1,
"duplicateEnries": 0,
"emptyLabelEntries": 0,
"emptyExternalIdEntries": 0,
"objectsFilteredWithQlQuery": 0,
"errorMessages": null,
"readExternalDataTimeInMs": 221,
"mapExternalDataTimeInMs": 0,
"qlQueryFilteringTimeInMs": 0,
"decidingActionsTimeInMs": 0,
"writeInsightDataTimeInMs": 154,
"postFunctionTimeInMs": 0,
"executionTimeInMs": 375,
"objectsWithUpdatedReferences": 1
},
"2548": {
"id": null,
"objectTypeName": "Operating System",
"objectTypeId": 2548,
"objectsUpdated": 0,
"objectsCreated": 2,
"objectsIdentical": 0,
"objectsMissingUpdated": 0,
"objectsMissingDeleted": 0,
"entriesInSource": 2,
"duplicateEnries": 0,
"emptyLabelEntries": 0,
"emptyExternalIdEntries": 0,
"objectsFilteredWithQlQuery": 0,
"errorMessages": null,
"readExternalDataTimeInMs": 220,
"mapExternalDataTimeInMs": 0,
"qlQueryFilteringTimeInMs": 0,
"decidingActionsTimeInMs": 0,
"writeInsightDataTimeInMs": 266,
"postFunctionTimeInMs": 0,
"executionTimeInMs": 486,
"objectsWithUpdatedReferences": 0
}
},
"errorMessages": null,
"totalNumberEntriesInImport": 3
}
}
Get the status of the most recently created import execution
import:import-configuration:cmdb
string
Requiredany
1
2
3
4
curl --request GET \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceUuid}/executions/status' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
"status": "DONE",
"progressResult": {
"type": "IMPORT",
"id": 438,
"started": "2023-06-15T12:13:03.952+00:00",
"ended": "2023-06-15T12:13:05.124+00:00",
"objectSchemaId": 266,
"result": "OK",
"status": "FINISHED",
"infoMessage": "No data to import",
"jobId": "241d9437-eb25-4008-a346-8daafbb91026",
"importSourceId": "3e9f17a6-61db-4bdd-a313-6dd38c81bfca",
"populatedObjectTypes": [
"Operating System",
"Hard Drive"
],
"onlyExecutedForObjectTypes": [],
"objectTypeResultMap": {
"2547": {
"id": null,
"objectTypeName": "Hard Drive",
"objectTypeId": 2547,
"objectsUpdated": 0,
"objectsCreated": 1,
"objectsIdentical": 0,
"objectsMissingUpdated": 0,
"objectsMissingDeleted": 0,
"entriesInSource": 1,
"duplicateEnries": 0,
"emptyLabelEntries": 0,
"emptyExternalIdEntries": 0,
"objectsFilteredWithQlQuery": 0,
"errorMessages": null,
"readExternalDataTimeInMs": 221,
"mapExternalDataTimeInMs": 0,
"qlQueryFilteringTimeInMs": 0,
"decidingActionsTimeInMs": 0,
"writeInsightDataTimeInMs": 154,
"postFunctionTimeInMs": 0,
"executionTimeInMs": 375,
"objectsWithUpdatedReferences": 1
},
"2548": {
"id": null,
"objectTypeName": "Operating System",
"objectTypeId": 2548,
"objectsUpdated": 0,
"objectsCreated": 2,
"objectsIdentical": 0,
"objectsMissingUpdated": 0,
"objectsMissingDeleted": 0,
"entriesInSource": 2,
"duplicateEnries": 0,
"emptyLabelEntries": 0,
"emptyExternalIdEntries": 0,
"objectsFilteredWithQlQuery": 0,
"errorMessages": null,
"readExternalDataTimeInMs": 220,
"mapExternalDataTimeInMs": 0,
"qlQueryFilteringTimeInMs": 0,
"decidingActionsTimeInMs": 0,
"writeInsightDataTimeInMs": 266,
"postFunctionTimeInMs": 0,
"executionTimeInMs": 486,
"objectsWithUpdatedReferences": 0
}
},
"errorMessages": null,
"totalNumberEntriesInImport": 3
}
}
Generate a Bearer token which can be used to authenticate against Assets /importsource/
APIs, to take actions against the specified import source.
import:import-configuration:cmdb
This request has no parameters.
Returns a Bearer token which can be used to authenticate against Assets /importsource/
APIs, to take actions against the specified import source.
any
1
2
3
4
curl --request POST \
--url 'https://api.atlassian.com/jsm/assets/workspace/{workspaceId}/v1/importsource/{importSourceId}/token' \
--header 'Authorization: Bearer <access_token>' \
--header 'Accept: application/json'
1
2
3
{
"token": "ATCTT3xFfGN...XYZ"
}
Rate this page: