@manyos/smileconnect-api 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/.github/workflows/nodejs.yml +26 -0
  2. package/CHANGELOG.md +75 -0
  3. package/Dockerfile +21 -0
  4. package/README.md +1 -0
  5. package/app.js +316 -0
  6. package/conf/clients.json +2491 -0
  7. package/conf/mapping.json +1048 -0
  8. package/conf/scripts/p1.js +11 -0
  9. package/conf/scripts/p2.js +1 -0
  10. package/conf/scripts/p3.js +1 -0
  11. package/conf/scripts/p4.js +2 -0
  12. package/conf/scripts/script1.js +2 -0
  13. package/conf/scripts/script2.js +2 -0
  14. package/conf/scripts/script3.js +2 -0
  15. package/controller/cmdbobjectController.js +291 -0
  16. package/controller/eventLogController.js +78 -0
  17. package/controller/orgdataController.js +440 -0
  18. package/controller/relatedObjectsController.js +194 -0
  19. package/controller/scriptController.js +213 -0
  20. package/controller/taskController.js +368 -0
  21. package/controller/templateController.js +97 -0
  22. package/controller/ticketCIRelationController.js +522 -0
  23. package/controller/ticketController.js +329 -0
  24. package/controller/ticketWorkLogController.js +195 -0
  25. package/docs/.gitattributes +48 -0
  26. package/docs/404.html +13 -0
  27. package/docs/CNAME +1 -0
  28. package/docs/Gemfile +7 -0
  29. package/docs/Gemfile.lock +249 -0
  30. package/docs/_config.yml +257 -0
  31. package/docs/_data/SocialNetworks.yml +92 -0
  32. package/docs/_data/ui-text.yml +494 -0
  33. package/docs/_includes/disqus.html +17 -0
  34. package/docs/_includes/ext-css.html +7 -0
  35. package/docs/_includes/ext-js.html +7 -0
  36. package/docs/_includes/fb-comment.html +14 -0
  37. package/docs/_includes/footer-minimal.html +16 -0
  38. package/docs/_includes/footer-scripts.html +32 -0
  39. package/docs/_includes/footer.html +51 -0
  40. package/docs/_includes/google_analytics.html +14 -0
  41. package/docs/_includes/gtag.html +11 -0
  42. package/docs/_includes/gtm_body.html +6 -0
  43. package/docs/_includes/gtm_head.html +9 -0
  44. package/docs/_includes/head.html +131 -0
  45. package/docs/_includes/header.html +76 -0
  46. package/docs/_includes/just_comments.html +4 -0
  47. package/docs/_includes/matomo.html +17 -0
  48. package/docs/_includes/nav.html +57 -0
  49. package/docs/_includes/social-share.html +42 -0
  50. package/docs/_includes/staticman-comment.html +22 -0
  51. package/docs/_includes/staticman-comments.html +81 -0
  52. package/docs/_layouts/base.html +35 -0
  53. package/docs/_layouts/default.html +9 -0
  54. package/docs/_layouts/minimal.html +26 -0
  55. package/docs/_layouts/page.html +26 -0
  56. package/docs/_layouts/post.html +82 -0
  57. package/docs/_posts/2015-02-28-test-markdown.md +77 -0
  58. package/docs/aboutme.md +18 -0
  59. package/docs/css/bootstrap-social.css +147 -0
  60. package/docs/css/bootstrap-theme.css +476 -0
  61. package/docs/css/bootstrap-theme.css.map +1 -0
  62. package/docs/css/bootstrap-theme.min.css +5 -0
  63. package/docs/css/bootstrap.css +6566 -0
  64. package/docs/css/bootstrap.css.map +1 -0
  65. package/docs/css/bootstrap.min.css +5 -0
  66. package/docs/css/main-minimal.css +13 -0
  67. package/docs/css/main.css +788 -0
  68. package/docs/css/normalize.css +427 -0
  69. package/docs/css/pygment_highlights.css +61 -0
  70. package/docs/css/staticman.css +180 -0
  71. package/docs/eventlog/events.md +65 -0
  72. package/docs/feed.xml +24 -0
  73. package/docs/general/architecture.md +10 -0
  74. package/docs/general/config.md +192 -0
  75. package/docs/general/field-management.md +119 -0
  76. package/docs/general/release-notes.md +9 -0
  77. package/docs/getting-started.md +19 -0
  78. package/docs/howto/cmdbobjects.md +339 -0
  79. package/docs/howto/incident-worklogs.md +186 -0
  80. package/docs/howto/incidents.md +244 -0
  81. package/docs/howto/sample-config.md +518 -0
  82. package/docs/howto/token.md +71 -0
  83. package/docs/howto/worklog-attachment.md +113 -0
  84. package/docs/img/404-southpark.jpg +0 -0
  85. package/docs/img/architecture.jpeg +0 -0
  86. package/docs/img/attachment-upload.png +0 -0
  87. package/docs/img/avatar-icon.png +0 -0
  88. package/docs/img/bgimage.png +0 -0
  89. package/docs/img/gb-isapi.jpg +0 -0
  90. package/docs/img/install-steps.gif +0 -0
  91. package/docs/img/workflow.png +0 -0
  92. package/docs/index.md +41 -0
  93. package/docs/installation.md +123 -0
  94. package/docs/js/bootstrap.js +2306 -0
  95. package/docs/js/bootstrap.min.js +7 -0
  96. package/docs/js/jquery-1.11.2.min.js +4 -0
  97. package/docs/js/main.js +140 -0
  98. package/docs/js/staticman.js +54 -0
  99. package/docs/openapi.json +15097 -0
  100. package/docs/postinstall.md +169 -0
  101. package/docs/preinstall.md +19 -0
  102. package/docs/spec/index.html +24 -0
  103. package/docs/staticman.yml +110 -0
  104. package/docs/tags.html +34 -0
  105. package/docs/workflow.md +127 -0
  106. package/nodemon.json +3 -0
  107. package/package.json +46 -0
  108. package/routes/appConfigRoutes.js +352 -0
  109. package/routes/ciRelationRoutes.js +38 -0
  110. package/routes/cmdbObjectRoutes.js +154 -0
  111. package/routes/organisationRoutes.js +121 -0
  112. package/routes/peopleRelationRoutes.js +38 -0
  113. package/routes/personRoutes.js +131 -0
  114. package/routes/supportgroupRoutes.js +122 -0
  115. package/routes/taskRoutes.js +306 -0
  116. package/routes/templateRoutes.js +67 -0
  117. package/routes/ticketRoutes.js +181 -0
  118. package/routes/ticketWorkLogRoutes.js +185 -0
  119. package/screwdriver.yaml +52 -0
  120. package/test/appTest.js +3 -0
  121. package/test/changeTest.js +541 -0
  122. package/test/cmdbobjectTest.js +167 -0
  123. package/test/files/logo.png +0 -0
  124. package/test/incidentTest.js +539 -0
  125. package/test/orgdataTest.js +156 -0
  126. package/test/problemTest.js +512 -0
  127. package/test/templateTest.js +80 -0
  128. package/test/testUtils.js +21 -0
  129. package/test/workorderTest.js +544 -0
  130. package/util/arquery.js +416 -0
  131. package/util/auth.js +37 -0
  132. package/util/cache.service.js +52 -0
  133. package/util/config.js +361 -0
  134. package/util/constants.js +73 -0
  135. package/util/mappingUtil.js +96 -0
  136. package/util/paramHelper.js +43 -0
  137. package/util/relationUtil.js +63 -0
  138. package/util/responsehandler.js +92 -0
  139. package/util/schemas/clientConfigSchema.js +180 -0
  140. package/util/schemas/fieldMappingSchema.js +211 -0
  141. package/util/searchUtil.js +148 -0
@@ -0,0 +1,518 @@
1
+ ---
2
+ layout: page
3
+ title: Sample Config
4
+ subtitle: The following config will allow you to use all our samples from the how-to guides.
5
+ use-site-title: true
6
+ ---
7
+
8
+ You need to a *client.json* and a *mapping.json* file in your /conf folder.
9
+
10
+ The *client.json* file is for authorisation purposes. It lets you define to which records (row-level) and to which fields (attribute-level) a client has access.
11
+
12
+ e.g. Client A should only have access to the incident that it has submitted and you only want to expose the fields id, summary and status.
13
+
14
+ Client B should have access to all incidents of support group ABC and you want to expose the fields id, summary, status, detailedDescription, assignee, resolution
15
+
16
+ The *mapping.json* files defines a global mapping of field names.
17
+
18
+ e.g. if you map the incident field *Detailed Decription* to *detailedDescription* than this mapping will be used inbound and outbound for all clients.
19
+
20
+ # Username, ClientId & Company
21
+
22
+ For all our expamples we assume that your clientId is *isapi* and that there is also a User in ITSM with the Remedy Login ID *isapi* that should be used to create new tickets. We also assume that you use BMCs Test-Company *Calbro Services*
23
+
24
+ # clients.json
25
+ {% highlight json linenos %}
26
+ [
27
+ {
28
+ "name": "isapi",
29
+ "config": {
30
+ "options" : {
31
+ "dateFormat" : "dd.MM.yyyy HH:mm.ss"
32
+ },
33
+ "cmdbobject": {
34
+ "basequery": "'Data Set Id' = \"BMC.ASSET\" AND ('Mark As Deleted' = \"No\" OR 'Mark As Deleted' = $NULL$) AND 'Class Id' = \"BMC_COMPUTERSYSTEM\"",
35
+ "fields": [
36
+ "Instance Id",
37
+ "Tag Number",
38
+ "Name",
39
+ "AssetLifecycleStatus",
40
+ "Category",
41
+ "Item",
42
+ "Type",
43
+ "Availability",
44
+ "Confidentiality",
45
+ "Integrity",
46
+ "Authenticity",
47
+ "Model Number",
48
+ "Class Id",
49
+ "Reconciliation Identity",
50
+ "Short Description"
51
+ ]
52
+ },
53
+ "orgdata": {
54
+ "basequeryPeople": "'Profile Status' = \"Enabled\"",
55
+ "basequeryOrganisation": "'Status'=\"Enabled\"",
56
+ "basequerySupportGroup": "'Status'=\"Enabled\""
57
+ },
58
+ "change": {
59
+ "fields": [
60
+ "Infrastructure Change ID",
61
+ "Categorization Tier 1",
62
+ "Categorization Tier 2",
63
+ "Categorization Tier 3",
64
+ "Product Cat Tier 1",
65
+ "Product Cat Tier 2",
66
+ "Product Cat Tier 3",
67
+ "Product Name (2)",
68
+ "Description",
69
+ "Detailed Description",
70
+ "Status Reason",
71
+ "Change Request Status",
72
+ "Requested Start Date",
73
+ "Requested End Date",
74
+ "Scheduled Start Date",
75
+ "Scheduled End Date",
76
+ "Support Group ID",
77
+ "Support Group ID 2",
78
+ "Customer Person ID",
79
+ "Requested By Person ID"
80
+ ],
81
+ "constants" : [
82
+ {"name": "Location Company", "value" : "Calbro Services"},
83
+ {"name": "Company", "value" : "Calbro Services"},
84
+ {"name": "RequesterLoginID", "value" : "isapi"}
85
+ ]
86
+ },
87
+ "changeWorklog": {
88
+ "fields": [
89
+ "Description",
90
+ "Detailed Description"
91
+ ],
92
+ "constants" : [
93
+ {"name": "Status", "value" : "Enabled"},
94
+ {"name": "Work Log Type", "value" : "General Information"},
95
+ {"name": "Communication Source", "value" : "Other"},
96
+ {"name": "View Access", "value" : "Internal"}
97
+ ]
98
+ },
99
+ "workOrder": {
100
+ "fields": [
101
+ "Work Order ID",
102
+ "Status",
103
+ "InstanceId",
104
+ "WO Type Field 2",
105
+ "Categorization Tier 1",
106
+ "Categorization Tier 2",
107
+ "Categorization Tier 3",
108
+ "Product Cat Tier 1(2)",
109
+ "Product Cat Tier 2(2)",
110
+ "Product Cat Tier 3(2)",
111
+ "Product Name",
112
+ "Summary",
113
+ "Detailed Description",
114
+ "Status Reason",
115
+ "Scheduled Start Date",
116
+ "Scheduled End Date",
117
+ "Support Group ID",
118
+ "Support Group ID 2",
119
+ "Customer Person ID",
120
+ "Requested By Person ID"
121
+ ],
122
+ "constants" : [
123
+ {"name": "Location Company", "value" : "Calbro Services"},
124
+ {"name": "Company", "value" : "Calbro Services"},
125
+ {"name": "RequesterLoginID", "value" : "isapi"}
126
+ ]
127
+ },
128
+ "incident": {
129
+ "fields": [
130
+ "Incident Number",
131
+ "Status",
132
+ "WO Type Field 2",
133
+ "Categorization Tier 1",
134
+ "Categorization Tier 2",
135
+ "Categorization Tier 3",
136
+ "Product Categorization Tier 1",
137
+ "Product Categorization Tier 2",
138
+ "Product Categorization Tier 3",
139
+ "Product Name",
140
+ "Manufacturer",
141
+ "Detailed Decription",
142
+ "Description",
143
+ "Status Reason",
144
+ "Impact",
145
+ "Urgency",
146
+ "Priority",
147
+ "Assigned Group ID",
148
+ "Owner Group ID",
149
+ "Vendor Group ID",
150
+ "Person ID",
151
+ "Direct Contact Person ID"
152
+ ],
153
+ "constants" : [
154
+ {"name": "Impact", "value" : "4000"},
155
+ {"name": "Urgency", "value" : "4000"},
156
+ {"name": "Login_ID", "value" : "isapi"},
157
+ {"name": "Service_Type", "value" : "0"},
158
+ {"name": "Reported Source", "value" : "1000"},
159
+ {"name": "Status", "value" : "0"}
160
+ ]
161
+ },
162
+ "problem": {
163
+ "fields": [
164
+ "Problem Investigation ID",
165
+ "Status",
166
+ "WO Type Field 2",
167
+ "Categorization Tier 1",
168
+ "Categorization Tier 2",
169
+ "Categorization Tier 3",
170
+ "Product Categorization Tier 1",
171
+ "Product Categorization Tier 2",
172
+ "Product Categorization Tier 3",
173
+ "Product Name",
174
+ "Manufacturer",
175
+ "Detailed Decription",
176
+ "Description",
177
+ "Status Reason",
178
+ "Impact",
179
+ "Urgency",
180
+ "Priority",
181
+ "Assigned Group ID",
182
+ "Owner Group ID",
183
+ "Vendor Group ID",
184
+ "Person ID",
185
+ "Direct Contact Person ID"
186
+ ],
187
+ "constants" : [
188
+ {"name": "Impact", "value" : "4000"},
189
+ {"name": "Urgency", "value" : "4000"},
190
+ {"name": "Login_ID", "value" : "isapi"},
191
+ {"name": "Service_Type", "value" : "0"},
192
+ {"name": "Reported Source", "value" : "1000"},
193
+ {"name": "Status", "value" : "0"}
194
+ ]
195
+ },
196
+ "workOrderWorklog": {
197
+ "fields": [
198
+ "Description",
199
+ "Detailed Description"
200
+ ],
201
+ "constants" : [
202
+ {"name": "Status", "value" : "Enabled"},
203
+ {"name": "Work Log Type", "value" : "General Information"},
204
+ {"name": "Communication Source", "value" : "Other"}
205
+ ]
206
+ },
207
+ "incidentWorklog": {
208
+ "fields": [
209
+ "Description",
210
+ "Detailed Description"
211
+ ],
212
+ "constants" : [
213
+ {"name": "Status", "value" : "Enabled"},
214
+ {"name": "Work Log Type", "value" : "General Information"},
215
+ {"name": "Communication Source", "value" : "Other"}
216
+ ]
217
+ },
218
+ "problemWorklog": {
219
+ "fields": [
220
+ "Description",
221
+ "Detailed Description"
222
+ ],
223
+ "constants" : [
224
+ {"name": "Status", "value" : "Enabled"},
225
+ {"name": "Work Log Type", "value" : "General Information"},
226
+ {"name": "Communication Source", "value" : "Other"}
227
+ ]
228
+ },
229
+ "task": {
230
+ "basequery" : "1=1",
231
+ "fields": [
232
+ "Status",
233
+ "InstanceId",
234
+ "Sequence",
235
+ "Service Cat Tier 1",
236
+ "Service Cat Tier 2",
237
+ "Service Cat Tier 3",
238
+ "Product Cat Tier 1",
239
+ "Product Cat Tier 2",
240
+ "Product Cat Tier 3",
241
+ "Product Name",
242
+ "Summary",
243
+ "Notes",
244
+ "StatusReasonSelection",
245
+ "Scheduled Start Date",
246
+ "Scheduled End Date",
247
+ "Assignee Group ID",
248
+ "Customer Person ID",
249
+ "Requested By Person ID",
250
+ "Actual Start Date",
251
+ "Actual End Date",
252
+ "Character 06",
253
+ "Character 01",
254
+ "Support Company",
255
+ "Assignee Organization",
256
+ "Assignee Group"
257
+ ],
258
+ "constants" : [
259
+ {"name": "Location Company", "value" : "Calbro Services"},
260
+ {"name": "TaskType", "value" : "2000"},
261
+ {"name": "Status", "value" : "1000"}
262
+ ]
263
+ },
264
+ "taskWorklog": {
265
+ "constants" : [
266
+ {"name": "Status", "value" : "Enabled"},
267
+ {"name": "WorkInfoType", "value" : "General Information"},
268
+ {"name": "Communication Source", "value" : "Other"},
269
+ {"name": "View Access", "value" : "Internal"}
270
+ ]
271
+ },
272
+ "flowBuilder": {
273
+ "constants" : [
274
+ {"name": "Location Company", "value" : "Calbro Services"}
275
+ ]
276
+ }
277
+ }
278
+ }
279
+ ]
280
+ {% endhighlight %}
281
+
282
+ # mapping.json
283
+
284
+ {% highlight json linenos %}
285
+ {
286
+ "cmdbobject":[
287
+ {"oldName":"Instance Id", "newName" : "id"},
288
+ {"oldName":"Tag Number", "newName" : "tagNumber"},
289
+ {"oldName":"Name", "newName" : "name"},
290
+ {"oldName":"AssetLifecycleStatus", "newName" : "assetlifecycleStatus"},
291
+ {"oldName":"Category", "newName" : "category"},
292
+ {"oldName":"Item", "newName" : "item"},
293
+ {"oldName":"Type", "newName" : "type"},
294
+ {"oldName":"Availability", "newName" : "availability"},
295
+ {"oldName":"Confidentiality", "newName" : "confidentiality"},
296
+ {"oldName":"Integrity", "newName" : "integrity"},
297
+ {"oldName":"Authenticity", "newName" : "authenticity"},
298
+ {"oldName":"Model Number", "newName" : "productName"},
299
+ {"oldName":"Class Id", "newName" : "classId"},
300
+ {"oldName":"Reconciliation Identity", "newName" : "reconId"},
301
+ {"oldName":"Short Description", "newName" : "shortDescription"}
302
+ ],
303
+ "change":[
304
+ {"oldName":"Infrastructure Change ID", "newName" : "id"},
305
+ {"oldName":"Categorization Tier 1", "newName" : "opsCat1"},
306
+ {"oldName":"Categorization Tier 2", "newName" : "opsCat2"},
307
+ {"oldName":"Categorization Tier 3", "newName" : "opsCat3"},
308
+ {"oldName":"Product Cat Tier 1", "newName" : "prodCat1"},
309
+ {"oldName":"Product Cat Tier 2", "newName" : "prodCat2"},
310
+ {"oldName":"Product Cat Tier 3", "newName" : "prodCat3"},
311
+ {"oldName":"Product Name (2)", "newName" : "productName"},
312
+ {"oldName":"Description", "newName" : "summary"},
313
+ {"oldName":"Detailed Description", "newName" : "detailedDescription"},
314
+ {"oldName":"Status Reason", "newName" : "statusReason"},
315
+ {"oldName":"Change Request Status", "newName" : "status"},
316
+ {"oldName":"Requested Start Date", "newName" : "requestedStartDate"},
317
+ {"oldName":"Requested End Date", "newName" : "requestedEndDate"},
318
+ {"oldName":"Scheduled Start Date", "newName" : "scheduledStartDate"},
319
+ {"oldName":"Scheduled End Date", "newName" : "scheduledEndDate"},
320
+ {"oldName":"Support Group ID", "newName" : "managerGroup"},
321
+ {"oldName":"Support Group ID 2", "newName" : "coordinatorGroup"},
322
+ {"oldName":"Customer Person ID", "newName" : "customerId"},
323
+ {"oldName":"Requested By Person ID", "newName" : "requestorId"}
324
+ ],
325
+ "newChange":[
326
+ {"oldName":"Description", "newName" : "summary"},
327
+ {"oldName":"TemplateID", "newName" : "template"}
328
+ ],
329
+ "changeWorklog":[
330
+ {"oldName":"Description", "newName" : "summary"},
331
+ {"oldName":"Detailed Description", "newName" : "text"},
332
+ {"oldName":"Infrastructure Change ID", "newName" : "Infrastructure Change ID"},
333
+ {"oldName":"Infra. Change Entry ID", "newName" : "Infra. Change Entry ID"},
334
+ {"oldName":"Work Log ID", "newName" : "worklogId"}
335
+ ],
336
+ "workOrder":[
337
+ {"oldName":"Work Order ID", "newName" : "id"},
338
+ {"oldName":"Scheduled Start Date", "newName" : "scheduledStartDate"},
339
+ {"oldName":"Scheduled End Date", "newName" : "scheduledEndDate"},
340
+ {"oldName":"Categorization Tier 1", "newName" : "opsCat1"},
341
+ {"oldName":"Categorization Tier 2", "newName" : "opsCat2"},
342
+ {"oldName":"Categorization Tier 3", "newName" : "opsCat3"},
343
+ {"oldName":"Product Cat Tier 1(2)", "newName" : "prodCat1"},
344
+ {"oldName":"Product Cat Tier 2(2)", "newName" : "prodCat2"},
345
+ {"oldName":"Product Cat Tier 3(2)", "newName" : "prodCat3"},
346
+ {"oldName":"Product Name", "newName" : "productName"},
347
+ {"oldName":"Summary", "newName" : "summary"},
348
+ {"oldName":"Detailed Description", "newName" : "detailedDescription"},
349
+ {"oldName":"Status Reason", "newName" : "statusReason"},
350
+ {"oldName":"Status", "newName" : "status"},
351
+ {"oldName":"Support Group ID", "newName" : "managerGroup"},
352
+ {"oldName":"Support Group ID 2", "newName" : "coordinatorGroup"},
353
+ {"oldName":"Customer Person ID", "newName" : "customerId"},
354
+ {"oldName":"Requested By Person ID", "newName" : "requestorId"}
355
+ ],
356
+ "newWorkOrder":[
357
+ {"oldName":"Summary", "newName" : "summary"},
358
+ {"oldName":"TemplateID", "newName" : "template"},
359
+ {"oldName":"Customer Person ID", "newName" : "customerId"},
360
+ {"oldName":"Detailed Description", "newName" : "detailedDescription"},
361
+ {"oldName":"Vendor Ticket Number", "newName" : "vendorTicketId"}
362
+ ],
363
+ "workOrderWorklog":[
364
+ {"oldName":"Description", "newName" : "summary"},
365
+ {"oldName":"Detailed Description", "newName" : "text"},
366
+ {"oldName":"WorkOrder_EntryID", "newName" : "WorkOrder_EntryID"},
367
+ {"oldName":"Work Order ID", "newName" : "Work Order ID"},
368
+ {"oldName":"Work Log ID", "newName" : "worklogId"}
369
+ ],
370
+ "incidentWorklog":[
371
+ {"oldName":"Description", "newName" : "summary"},
372
+ {"oldName":"Detailed Description", "newName" : "text"},
373
+ {"oldName":"Incident Number", "newName" : "Incident Number"},
374
+ {"oldName":"Incident Entry ID", "newName" : "Incident Entry ID"},
375
+ {"oldName":"Work Log ID", "newName" : "id"}
376
+ ],
377
+ "problemWorklog":[
378
+ {"oldName":"Description", "newName" : "summary"},
379
+ {"oldName":"Detailed Description", "newName" : "text"},
380
+ {"oldName":"Problem Investigation ID", "newName" : "Problem Investigation ID"},
381
+ {"oldName":"Problem Investigation Entry ID", "newName" : "Problem Investigation Entry ID"},
382
+ {"oldName":"Work Log ID", "newName" : "worklogId"}
383
+ ],
384
+ "incident":[
385
+ {"oldName":"Incident Number", "newName" : "id"},
386
+ {"oldName":"Scheduled Start Date", "newName" : "scheduledStartDate"},
387
+ {"oldName":"Scheduled End Date", "newName" : "scheduledEndDate"},
388
+ {"oldName":"Categorization Tier 1", "newName" : "opsCat1"},
389
+ {"oldName":"Categorization Tier 2", "newName" : "opsCat2"},
390
+ {"oldName":"Categorization Tier 3", "newName" : "opsCat3"},
391
+ {"oldName":"Resolution Category", "newName" : "resolutionCat1"},
392
+ {"oldName":"Resolution Category Tier 2", "newName" : "resolutionCat2"},
393
+ {"oldName":"Resolution Category Tier 3", "newName" : "resolutionCat3"},
394
+ {"oldName":"Product Categorization Tier 1", "newName" : "prodCat1"},
395
+ {"oldName":"Product Categorization Tier 2", "newName" : "prodCat2"},
396
+ {"oldName":"Product Categorization Tier 3", "newName" : "prodCat3"},
397
+ {"oldName":"Product Name", "newName" : "productName"},
398
+ {"oldName":"Manufacturer", "newName" : "manufacturer"},
399
+ {"oldName":"Detailed Decription", "newName" : "detailedDescription"},
400
+ {"oldName":"Description", "newName" : "summary"},
401
+ {"oldName":"Status_Reason", "newName" : "statusReason"},
402
+ {"oldName":"Status", "newName" : "status"},
403
+ {"oldName":"Assigned Group ID", "newName" : "assignedGroup"},
404
+ {"oldName":"Owner Group ID", "newName" : "ownerGroup"},
405
+ {"oldName":"Vendor Group ID", "newName" : "vendorGroup"},
406
+ {"oldName":"Person ID", "newName" : "customerId"},
407
+ {"oldName":"Direct Contact Person ID", "newName" : "contactId"},
408
+ {"oldName":"Requested By Person ID", "newName" : "requestorId"},
409
+ {"oldName":"Impact", "newName" : "impact"},
410
+ {"oldName":"Urgency", "newName" : "urgency"},
411
+ {"oldName":"Priority", "newName" : "priority"},
412
+ {"oldName":"Vendor Ticket Number", "newName" : "vendorTicketId"},
413
+ {"oldName":"Resolution", "newName":"resolution"}
414
+ ],
415
+ "newIncident":[
416
+ {"oldName":"Description", "newName" : "summary"},
417
+ {"oldName":"TemplateID", "newName" : "template"},
418
+ {"oldName":"Customer Person ID", "newName" : "customerId"},
419
+ {"oldName":"Detailed_Decription", "newName" : "detailedDescription"},
420
+ {"oldName":"Vendor Ticket Number", "newName" : "vendorTicketId"}
421
+ ],
422
+ "problem":[
423
+ {"oldName":"Problem Investigation ID", "newName" : "id"},
424
+ {"oldName":"Scheduled Start Date", "newName" : "scheduledStartDate"},
425
+ {"oldName":"Scheduled End Date", "newName" : "scheduledEndDate"},
426
+ {"oldName":"Categorization Tier 1", "newName" : "opsCat1"},
427
+ {"oldName":"Categorization Tier 2", "newName" : "opsCat2"},
428
+ {"oldName":"Categorization Tier 3", "newName" : "opsCat3"},
429
+ {"oldName":"Product Categorization Tier 1", "newName" : "prodCat1"},
430
+ {"oldName":"Product Categorization Tier 2", "newName" : "prodCat2"},
431
+ {"oldName":"Product Categorization Tier 3", "newName" : "prodCat3"},
432
+ {"oldName":"Product Name", "newName" : "productName"},
433
+ {"oldName":"Manufacturer", "newName" : "manufacturer"},
434
+ {"oldName":"Detailed Decription", "newName" : "detailedDescription"},
435
+ {"oldName":"Description", "newName" : "summary"},
436
+ {"oldName":"Status Reason", "newName" : "statusReason"},
437
+ {"oldName":"Status", "newName" : "status"},
438
+ {"oldName":"Assigned Group ID", "newName" : "assignedGroup"},
439
+ {"oldName":"Owner Group ID", "newName" : "ownerGroup"},
440
+ {"oldName":"Vendor Group ID", "newName" : "vendorGroup"},
441
+ {"oldName":"Person ID", "newName" : "customerId"},
442
+ {"oldName":"Direct Contact Person ID", "newName" : "contactId"},
443
+ {"oldName":"Requested By Person ID", "newName" : "requestorId"},
444
+ {"oldName":"Impact", "newName" : "impact"},
445
+ {"oldName":"Urgency", "newName" : "urgency"},
446
+ {"oldName":"Priority", "newName" : "priority"}
447
+ ],
448
+ "newProblem":[
449
+ {"oldName":"Description", "newName" : "summary"},
450
+ {"oldName":"TemplateID", "newName" : "template"},
451
+ {"oldName":"Customer Person ID", "newName" : "customerId"},
452
+ {"oldName":"Detailed Decription", "newName" : "detailedDescription"}
453
+ ],
454
+ "task":[
455
+ {"oldName":"Summary", "newName" : "summary"},
456
+ {"oldName":"Notes", "newName" : "notes"},
457
+ {"oldName":"Task ID", "newName" : "id"},
458
+ {"oldName":"Status", "newName" : "status"},
459
+ {"oldName":"StatusReasonSelection", "newName" : "statusReason"},
460
+ {"oldName":"Actual Start Date", "newName" : "actualStartDate"},
461
+ {"oldName":"Actual End Date", "newName" : "actualEndDate"},
462
+ {"oldName":"Scheduled Start Date", "newName" : "scheduledStartDate"},
463
+ {"oldName":"Scheduled End Date", "newName" : "scheduledEndDate"},
464
+ {"oldName":"InstanceId", "newName" : "instanceId"},
465
+ {"oldName":"RootRequestFormName", "newName" : "rootRequestForm"},
466
+ {"oldName":"RootRequestID", "newName" : "rootRequest"},
467
+ {"oldName":"Sequence", "newName" : "sequence"},
468
+ {"oldName":"Service Cat Tier 1", "newName" : "opsCat1"},
469
+ {"oldName":"Service Cat Tier 2", "newName" : "opsCat2"},
470
+ {"oldName":"Service Cat Tier 3", "newName" : "opsCat3"},
471
+ {"oldName":"Product Cat Tier 1", "newName" : "prodCat1"},
472
+ {"oldName":"Product Cat Tier 2", "newName" : "prodCat2"},
473
+ {"oldName":"Product Cat Tier 3", "newName" : "prodCat3"},
474
+ {"oldName":"Product Name", "newName" : "productName"},
475
+ {"oldName":"Assignee Group ID", "newName" : "assignedGroup"},
476
+ {"oldName":"Customer Person ID", "newName" : "customerId"},
477
+ {"oldName":"Requested By Person ID", "newName" : "requestorId"},
478
+ {"oldName":"Character 01", "newName" : "character01"},
479
+ {"oldName":"Character 06", "newName" : "character06"},
480
+ {"oldName":"Support Company", "newName" : "supportCompany"},
481
+ {"oldName":"Assignee Organization", "newName" : "supportOrganization"},
482
+ {"oldName":"Assignee Group", "newName" : "supportGroup"}
483
+ ],
484
+ "newTask":[
485
+ {"oldName":"Summary", "newName" : "summary"},
486
+ {"oldName":"Notes", "newName" : "notes"},
487
+ {"oldName":"Support Company", "newName" : "supportCompany"},
488
+ {"oldName":"Assignee Organization", "newName" : "supportOrganization"},
489
+ {"oldName":"Assignee Group", "newName" : "supportGroup"},
490
+ {"oldName":"RootRequestFormName", "newName" : "RootRequestFormName"},
491
+ {"oldName":"RootRequestName", "newName" : "RootRequestName"},
492
+ {"oldName":"RootRequestMode", "newName" : "RootRequestMode"},
493
+ {"oldName":"RootRequestInstanceId", "newName" : "RootRequestInstanceId"},
494
+ {"oldName":"Sequence", "newName" : "Sequence"},
495
+ {"oldName":"TaskName", "newName" : "TaskName"},
496
+ {"oldName":"Character 01", "newName" : "character01"},
497
+ {"oldName":"Character 06", "newName" : "character06"}
498
+ ],
499
+ "taskWorkLog":[
500
+ {"oldName":"Summary", "newName" : "Summary"},
501
+ {"oldName":"Notes", "newName" : "Notes"},
502
+ {"oldName":"Secure Log", "newName" : "Secure Log"},
503
+ {"oldName":"Communication Source", "newName" : "Communication Source"},
504
+ {"oldName":"WorkInfoType", "newName" : "WorkInfoType"},
505
+ {"oldName":"TaskOrTaskGroupID", "newName" : "TaskOrTaskGroupID"},
506
+ {"oldName":"TaskOrTaskGroupInstanceId", "newName" : "TaskOrTaskGroupInstanceId"}
507
+ ],
508
+ "flowBuilder":[
509
+ {"oldName":"RootRequestFormName", "newName" : "RootRequestFormName"},
510
+ {"oldName":"RootRequestName", "newName" : "RootRequestName"},
511
+ {"oldName":"RootRequestInstanceId", "newName" : "RootRequestInstanceId"},
512
+ {"oldName":"zTmpInternalCommand", "newName" : "zTmpInternalCommand"},
513
+ {"oldName":"Parent Type", "newName" : "Parent Type"},
514
+ {"oldName":"ParentID", "newName" : "ParentID"},
515
+ {"oldName":"Parent Name", "newName" : "Parent Name"}
516
+ ]
517
+ }
518
+ {% endhighlight %}
@@ -0,0 +1,71 @@
1
+ ---
2
+ layout: page
3
+ title: Authentication
4
+ subtitle: How to get a token
5
+ ---
6
+
7
+ Our API integrates with any OpenID Connect Server for authentication. If you use [Keycloak](https://www.keycloak.org/) as we do, here is how to get a token.
8
+
9
+ ## Request Definition
10
+
11
+ To create a token you need to do a POST request to your SSO Server token url. Use Basic Authentication with your clientId and secret and sent grant_type=client_credentials as body.
12
+
13
+ ### URL
14
+
15
+ *URL*: https://*sso-fqdn*/auth/realms/*realm*/protocol/openid-connect/token
16
+
17
+ *sso-fqdn*: The hostname of your SSO Server / Identity Provider
18
+
19
+ *realm*: Your security realm. e.G. isapi
20
+
21
+ ### Headers
22
+
23
+ *Content-Type*: application/x-www-form-urlencoded
24
+
25
+ ### Authorization
26
+
27
+ *Type*: Basic Auth
28
+
29
+ *Username*: Your API ClientId
30
+
31
+ *Password*: Your API Secret
32
+
33
+ ### Body
34
+
35
+ *key*: grant_type
36
+
37
+ *value*: client_credentials
38
+
39
+ ## Sample Request
40
+
41
+ {% highlight http linenos %}
42
+ POST /auth/realms/itsmproxy/protocol/openid-connect/token HTTP/1.1
43
+ Host: sso.manyos.it
44
+ Content-Type: application/x-www-form-urlencoded
45
+ Authorization: Basic aXNtczpiMWQwNWUYkdi3mnslODZjNy02MWVdlkgwM2Q=
46
+ User-Agent: PostmanRuntime/7.15.2
47
+ Accept: */*
48
+ Cache-Control: no-cache
49
+ Host: sso.manyos.it
50
+
51
+ grant_type=client_credentials
52
+ {% endhighlight %}
53
+
54
+ ## Sample Response
55
+
56
+ {% highlight json linenos %}
57
+ {
58
+ "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJFUUYxX01tM0lxaXNscEFNdEpQb0FKQmFiVk5CajRrMXdLUEJYUFlfZDRBIn0.eyJqdGkiOiJmZWFkZjc0OS05OGFhLTQ1MmUtYThlYi04Y2JjNzFlNDNmNjYiLCJleHAiOjE1NjU2MzM1MzUsIm5iZiI6MCwiaWF0IjoxNTY1NjE1NTM1LCJpc3MiOiJodHRwczovL3Nzby5tYW55b3MuaXQvYXV0aC9yZWFsbXMvaXRzbXByb3h5IiwiYXVkIjpbImlzc20iLCJhY2NvdW50Il0sInN1YiI6IjI1NWU5MGRjLTczYWItNDJkOS1iOTUyLTYwY2VjNzE2YzRlOCIsInR5cCI6IkJlYXJlciIsImF6cCI6ImlzbXMiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiJjMmIxZGE3YS1kZGM0LTQ5M2MtYjIwYi0zN2Y0NTExYWQyZTciLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6Imlzc20gaXRzbXByb3h5QmFzaWMgY21kYm9iamVjdFJlYWQiLCJjbGllbnRIb3N0IjoiMjEyLjExNC4xMzAuOTMiLCJjbGllbnRJZCI6ImlzbXMiLCJjbGllbnRBZGRyZXNzIjoiMjEyLjExNC4xMzAuOTMifQ.TOdFNfiBUgu5CwWZ6IOCahJkr4FYbWM9hK5yblQR06uDaJkRx_c7NEwVRRXnYPFs9rtAgCycYwYap8hKKZqZpExQmBSmRgHzyMZVEw67V3kiFlNaok83czuE2Ka1vC8le4LbQuLmwOeIWa0UIiOZlxpskZgJ4vBomotewbKC4-w2WwB-5zieuO48aohP8voY6oyYFWNMJJyvlubDbC1eUhCmwMaTOWDw0wtkYQDxKNPX_toPxa8aRIy0rXpRYINRiAP4zsyI9IBSoyAxiHWwMbKutVpnvZsSl_Rny2lsw1xnLWQe2nXlKwAEVYZ7Bz6U6krvi_oRfpWUoP5OdfYKhg",
59
+ "expires_in": 18000,
60
+ "refresh_expires_in": 1800,
61
+ "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmZTBiYzQ4My1hZTcxLTQ1M2UtODQ5Zi02M2MyZTAwMWQwZTAifQ.eyJqdGkiOiJlZDUzNjRiZi03ZTU3LTRkMTEtOGY4Mi00ZmEwYmVhNWZkM2QiLCJleHAiOjE1NjU2MTczMzUsIm5iZiI6MCwiaWF0IjoxNTY1NjE1NTM1LCJpc3MiOiJodHRwczovL3Nzby5tYW55b3MuaXQvYXV0aC9yZWFsbXMvaXRzbXByb3h5IiwiYXVkIjoiaHR0cHM6Ly9zc28ubWFueW9zLml0L2F1dGgvcmVhbG1zL2l0c21wcm94eSIsInN1YiI6IjI1NWU5MGRjLTczYWItNDJkOS1iOTUyLTYwY2VjNzE2YzRlOCIsInR5cCI6IlJlZnJlc2giLCJhenAiOiJpc21zIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiYzJiMWRhN2EtZGRjNC00OTNjLWIyMGItMzdmNDUxMWFkMmU3IiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6Imlzc20gaXRzbXByb3h5QmFzaWMgY21kYm9iamVjdFJlYWQifQ.4QxcaZ7TILPKsOcPKHUfXhT_rRIku8ewP2iScVHVD64",
62
+ "token_type": "bearer",
63
+ "not-before-policy": 0,
64
+ "session_state": "c2b1da7a-ddc4-493c-b20b-37f4511ad2e7",
65
+ "scope": "itsmproxy cmdbobjectRead"
66
+ }
67
+ {% endhighlight %}
68
+
69
+ You can now use the access token to authorize your requests. Set a header with the key "Authorization" and the value "Bearer <access-token>".
70
+
71
+ Learn more about JSON Web Tokens on [jwt.io](https://jwt.io)