@itentialopensource/adapter-servicenow 2.6.0 → 2.6.2

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.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,20 @@
1
1
 
2
+ ## 2.6.2 [09-11-2023]
3
+
4
+ * more meta changes
5
+
6
+ See merge request itentialopensource/adapters/itsm-testing/adapter-servicenow!25
7
+
8
+ ---
9
+
10
+ ## 2.6.1 [09-05-2023]
11
+
12
+ * metadata changes
13
+
14
+ See merge request itentialopensource/adapters/itsm-testing/adapter-servicenow!24
15
+
16
+ ---
17
+
2
18
  ## 2.6.0 [08-16-2023]
3
19
 
4
20
  * Minor/2023 migration
package/README.md CHANGED
@@ -14,6 +14,7 @@ Some of the page links in this document and links to other GitLab files do not w
14
14
  - [Testing](#testing)
15
15
  - [Configuration](./PROPERTIES.md)
16
16
  - [Using this Adapter](./CALLS.md)
17
+ - [Authentication](./AUTH.md)
17
18
  - [Additional Information](#additional-information)
18
19
  - [Enhancements](./ENHANCE.md)
19
20
  - [Contributing](./CONTRIBUTING.md)
@@ -47,17 +48,20 @@ These instructions will help you get a copy of the project on your local machine
47
48
 
48
49
  ### Helpful Background Information
49
50
 
50
- There is adapter documentation available on the Itential Developer Site <a href="https://docs.itential.com/opensource/docs/adapters" target="_blank">HERE</a>. This documentation includes information and examples that are helpful for:
51
+ There is <a href="https://docs.itential.com/opensource/docs/adapters" target="_blank">Adapter documentation available on the Itential Documentation Site</a>. This documentation includes information and examples that are helpful for:
51
52
 
52
53
  ```text
53
54
  Authentication
54
- Properties
55
+ IAP Service Instance Configuration
55
56
  Code Files
56
- Action Files
57
- Schema Files
58
- Mock Data Files
57
+ Endpoint Configuration (Action & Schema)
58
+ Mock Data
59
+ Adapter Generic Methods
60
+ Headers
61
+ Security
59
62
  Linting and Testing
60
- Troubleshooting
63
+ Build an Adapter
64
+ Troubleshooting an Adapter
61
65
  ```
62
66
 
63
67
  Others will be added over time.
package/adapterBase.js CHANGED
@@ -1027,6 +1027,24 @@ class AdapterBase extends EventEmitterCl {
1027
1027
  return this.requestHandlerInst.hasEntities(entityType, entityList, callback);
1028
1028
  }
1029
1029
 
1030
+ /**
1031
+ * @summary Determines if this adapter supports any in a list of entities
1032
+ *
1033
+ * @function hasEntitiesAuth
1034
+ * @param {String} entityType - the entity type to check for
1035
+ * @param {Array} entityList - the list of entities we are looking for
1036
+ * @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
1037
+ *
1038
+ * @param {Callback} callback - A map where the entity is the key and the
1039
+ * value is true or false
1040
+ */
1041
+ hasEntitiesAuth(entityType, entityList, callOptions, callback) {
1042
+ const origin = `${this.id}-adapterBase-hasEntitiesAuth`;
1043
+ log.trace(origin);
1044
+
1045
+ return this.requestHandlerInst.hasEntitiesAuth(entityType, entityList, callOptions, callback);
1046
+ }
1047
+
1030
1048
  /**
1031
1049
  * @summary Get Appliance that match the deviceName
1032
1050
  *
@@ -1043,6 +1061,23 @@ class AdapterBase extends EventEmitterCl {
1043
1061
  return this.requestHandlerInst.getDevice(deviceName, callback);
1044
1062
  }
1045
1063
 
1064
+ /**
1065
+ * @summary Get Appliance that match the deviceName
1066
+ *
1067
+ * @function getDeviceAuth
1068
+ * @param {String} deviceName - the deviceName to find (required)
1069
+ * @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
1070
+ *
1071
+ * @param {getCallback} callback - a callback function to return the result
1072
+ * (appliance) or the error
1073
+ */
1074
+ getDeviceAuth(deviceName, callOptions, callback) {
1075
+ const origin = `${this.id}-adapterBase-getDeviceAuth`;
1076
+ log.trace(origin);
1077
+
1078
+ return this.requestHandlerInst.getDeviceAuth(deviceName, callOptions, callback);
1079
+ }
1080
+
1046
1081
  /**
1047
1082
  * @summary Get Appliances that match the filter
1048
1083
  *
@@ -1059,6 +1094,23 @@ class AdapterBase extends EventEmitterCl {
1059
1094
  return this.requestHandlerInst.getDevicesFiltered(options, callback);
1060
1095
  }
1061
1096
 
1097
+ /**
1098
+ * @summary Get Appliances that match the filter
1099
+ *
1100
+ * @function getDevicesFilteredAuth
1101
+ * @param {Object} options - the data to use to filter the appliances (optional)
1102
+ * @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
1103
+ *
1104
+ * @param {getCallback} callback - a callback function to return the result
1105
+ * (appliances) or the error
1106
+ */
1107
+ getDevicesFilteredAuth(options, callOptions, callback) {
1108
+ const origin = `${this.id}-adapterBase-getDevicesFilteredAuth`;
1109
+ log.trace(origin);
1110
+
1111
+ return this.requestHandlerInst.getDevicesFilteredAuth(options, callOptions, callback);
1112
+ }
1113
+
1062
1114
  /**
1063
1115
  * @summary Gets the status for the provided appliance
1064
1116
  *
@@ -1075,6 +1127,23 @@ class AdapterBase extends EventEmitterCl {
1075
1127
  return this.requestHandlerInst.isAlive(deviceName, callback);
1076
1128
  }
1077
1129
 
1130
+ /**
1131
+ * @summary Gets the status for the provided appliance
1132
+ *
1133
+ * @function isAliveAuth
1134
+ * @param {String} deviceName - the deviceName of the appliance. (required)
1135
+ * @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
1136
+ *
1137
+ * @param {configCallback} callback - callback function to return the result
1138
+ * (appliance isAliveAuth) or the error
1139
+ */
1140
+ isAliveAuth(deviceName, callOptions, callback) {
1141
+ const origin = `${this.id}-adapterBase-isAliveAuth`;
1142
+ log.trace(origin);
1143
+
1144
+ return this.requestHandlerInst.isAliveAuth(deviceName, callOptions, callback);
1145
+ }
1146
+
1078
1147
  /**
1079
1148
  * @summary Gets a config for the provided Appliance
1080
1149
  *
@@ -1092,6 +1161,24 @@ class AdapterBase extends EventEmitterCl {
1092
1161
  return this.requestHandlerInst.getConfig(deviceName, format, callback);
1093
1162
  }
1094
1163
 
1164
+ /**
1165
+ * @summary Gets a config for the provided Appliance
1166
+ *
1167
+ * @function getConfigAuth
1168
+ * @param {String} deviceName - the deviceName of the appliance. (required)
1169
+ * @param {String} format - the desired format of the config. (optional)
1170
+ * @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
1171
+ *
1172
+ * @param {configCallback} callback - callback function to return the result
1173
+ * (appliance config) or the error
1174
+ */
1175
+ getConfigAuth(deviceName, format, callOptions, callback) {
1176
+ const origin = `${this.id}-adapterBase-getConfigAuth`;
1177
+ log.trace(origin);
1178
+
1179
+ return this.requestHandlerInst.getConfigAuth(deviceName, format, callOptions, callback);
1180
+ }
1181
+
1095
1182
  /**
1096
1183
  * @summary Gets the device count from the system
1097
1184
  *
@@ -1107,6 +1194,22 @@ class AdapterBase extends EventEmitterCl {
1107
1194
  return this.requestHandlerInst.iapGetDeviceCount(callback);
1108
1195
  }
1109
1196
 
1197
+ /**
1198
+ * @summary Gets the device count from the system
1199
+ *
1200
+ * @function iapGetDeviceCountAuth
1201
+ * @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
1202
+ *
1203
+ * @param {getCallback} callback - callback function to return the result
1204
+ * (count) or the error
1205
+ */
1206
+ iapGetDeviceCountAuth(callOptions, callback) {
1207
+ const origin = `${this.id}-adapterBase-iapGetDeviceCountAuth`;
1208
+ log.trace(origin);
1209
+
1210
+ return this.requestHandlerInst.iapGetDeviceCountAuth(callOptions, callback);
1211
+ }
1212
+
1110
1213
  /* ********************************************** */
1111
1214
  /* */
1112
1215
  /* EXPOSES GENERIC HANDLER */
package/metadata.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "adapter-servicenow",
3
+ "webName": "Adapter for Integration to ServiceNow",
3
4
  "vendor": "ServiceNow",
4
5
  "product": "IT Service Management",
5
6
  "osVersions": [
@@ -27,36 +28,30 @@
27
28
  "2022.1.x",
28
29
  "2023.1.x"
29
30
  ],
30
- "method": "REST API",
31
+ "method": "REST",
31
32
  "type": "Adapter",
32
- "example": {
33
- "name": "getStandardChangeRequestById",
34
- "overview": "Get a particular Servicenow change request by its id",
35
- "exampleInput": "{\n \"name\": \"sysparmQuery\",\n \"type\": \"object\",\n \"info\": \"Encoded query used to filter the result set. e.g. { change: 'CHG123456' }\",\n \"required\": false,\n \"schema\": {\n \"title\": \"sysparmQuery\",\n \"type\": \"object\"\n }\n},\n{\n \"name\": \"changeId\",\n \"type\": \"string\",\n \"info\": \"Unique identifier of the standard change request to retrieve from the [change_request] table.\",\n \"required\": true,\n \"schema\": {\n \"title\": \"changeId\",\n \"type\": \"string\"\n }\n}\n",
36
- "exampleOutput": "{ \n \"result\": { \n \"sys_id\": {\n \"display_value\": \"c45e54b0db400010a704fe1b68961985\",\n \"value\": \"c45e54b0db400010a704fe1b68961985\"\n },\n \"reason\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"parent\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"watch_list\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"upon_reject\": {\n \"display_value\": \"Cancel all future Tasks\",\n \"value\": \"cancel\"\n },\n \"sys_updated_on\": {\n \"display_value\": \"2019-09-19 14:06:29\",\n \"value\": \"2019-09-19 21:06:29\",\n \"display_value_internal\": \"2019-09-19 14:06:29\"\n },\n \"type\": {\n \"display_value\": \"Standard\",\n \"value\": \"standard\"\n },\n \"approval_history\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"test_plan\": {\n \"display_value\": \"Explain what testing you have done or will do prior to implementation that gives you confidence this change will be successful.\\r\\n\\r\\nDescribe the tests that will be carried out after implementation to confirm.\\r\\n\\t\\t\\tthat the change has been successful.\",\n \"value\": \"Explain what testing you have done or will do prior to implementation that gives you confidence this change will be successful.\\r\\n\\r\\nDescribe the tests that will be carried out after implementation to confirm.\\r\\n\\t\\t\\tthat the change has been successful.\"\n },\n \"number\": {\n \"display_value\": \"CHG0030004\",\n \"value\": \"CHG0030004\"\n },\n \"cab_delegate\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"requested_by_date\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"state\": {\n \"display_value\": \"New\",\n \"value\": -5\n },\n \"sys_created_by\": {\n \"display_value\": \"admin\",\n \"value\": \"admin\"\n },\n \"knowledge\": {\n \"display_value\": \"false\",\n \"value\": false\n },\n \"order\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"phase\": {\n \"display_value\": \"Requested\",\n \"value\": \"requested\"\n },\n \"cmdb_ci\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"delivery_plan\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"impact\": {\n \"display_value\": \"3 - Low\",\n \"value\": 3\n },\n \"active\": {\n \"display_value\": \"true\",\n \"value\": true\n },\n \"work_notes_list\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"priority\": {\n \"display_value\": \"4 - Low\",\n \"value\": 4\n },\n \"sys_domain_path\": {\n \"display_value\": \"/\",\n \"value\": \"/\"\n },\n \"production_system\": {\n \"display_value\": \"false\",\n \"value\": false\n },\n \"cab_recommendation\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"rejection_goto\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"review_date\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"requested_by\": {\n \"display_value\": \"System Administrator\",\n \"value\": \"6816f79cc0a8016401c5a33be04be441\"\n },\n \"business_duration\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"group_list\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"change_plan\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"approval_set\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"wf_activity\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"implementation_plan\": {\n \"display_value\": \"List the steps in order of completion that will be worked through when implementing this change.\\r\\n\\r\\nNote who will perform each step and whether there are dependencies\\r\\n\\t\\t\\tbetween steps.\",\n \"value\": \"List the steps in order of completion that will be worked through when implementing this change.\\r\\n\\r\\nNote who will perform each step and whether there are dependencies\\r\\n\\t\\t\\tbetween steps.\"\n },\n \"end_date\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"short_description\": {\n \"display_value\": \"Include a title for your change no greater than 100 characters\",\n \"value\": \"Include a title for your change no greater than 100 characters\"\n },\n \"correlation_display\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"delivery_task\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"work_start\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"outside_maintenance_schedule\": {\n \"display_value\": \"false\",\n \"value\": false\n },\n \"additional_assignee_list\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"std_change_producer_version\": {\n \"display_value\": \"Replace printer toner - 1\",\n \"value\": \"5b7399bc53231300e321ddeeff7b1206\"\n },\n \"sys_class_name\": {\n \"display_value\": \"Change Request\",\n \"value\": \"change_request\"\n },\n \"closed_by\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"follow_up\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"review_status\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"reassignment_count\": {\n \"display_value\": \"0\",\n \"value\": 0\n },\n \"start_date\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"assigned_to\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"variables\": {\n \"display_value\": \"variable_pool\",\n \"value\": \"variable_pool\"\n },\n \"sla_due\": {\n \"display_value\": \"UNKNOWN\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"comments_and_work_notes\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"escalation\": {\n \"display_value\": \"Normal\",\n \"value\": 0\n },\n \"upon_approval\": {\n \"display_value\": \"Proceed to Next Task\",\n \"value\": \"proceed\"\n },\n \"correlation_id\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"made_sla\": {\n \"display_value\": \"true\",\n \"value\": true\n },\n \"backout_plan\": {\n \"display_value\": \"Describe the steps you will take to revert the change to its pre-implementation state.\\r\\n\\r\\nAt what point during the implementation will you take the decision to\\r\\n\\t\\t\\tbackout your change?\\r\\n\\r\\n\\t\\t\\tDoes your change window include time to backout if you need\\r\\n\\t\\t\\tto?\",\n \"value\": \"Describe the steps you will take to revert the change to its pre-implementation state.\\r\\n\\r\\nAt what point during the implementation will you take the decision to\\r\\n\\t\\t\\tbackout your change?\\r\\n\\r\\n\\t\\t\\tDoes your change window include time to backout if you need\\r\\n\\t\\t\\tto?\"\n },\n \"conflict_status\": {\n \"display_value\": \"Not Run\",\n \"value\": \"Not Run\"\n },\n \"sys_updated_by\": {\n \"display_value\": \"admin\",\n \"value\": \"admin\"\n },\n \"opened_by\": {\n \"display_value\": \"System Administrator\",\n \"value\": \"6816f79cc0a8016401c5a33be04be441\"\n },\n \"user_input\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"sys_created_on\": {\n \"display_value\": \"2019-09-19 14:06:29\",\n \"value\": \"2019-09-19 21:06:29\",\n \"display_value_internal\": \"2019-09-19 14:06:29\"\n },\n \"on_hold_task\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"sys_domain\": {\n \"display_value\": \"global\",\n \"value\": \"global\"\n },\n \"closed_at\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"review_comments\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"business_service\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"time_worked\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"expected_start\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"opened_at\": {\n \"display_value\": \"2019-09-19 14:06:20\",\n \"value\": \"2019-09-19 21:06:20\",\n \"display_value_internal\": \"2019-09-19 14:06:20\"\n },\n \"work_end\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"phase_state\": {\n \"display_value\": \"Open\",\n \"value\": \"open\"\n },\n \"cab_date\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"work_notes\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"close_code\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"assignment_group\": {\n \"display_value\": \"Help Desk\",\n \"value\": \"679434f053231300e321ddeeff7b12d8\"\n },\n \"description\": {\n \"display_value\": \"Describe what you plan to do\",\n \"value\": \"Describe what you plan to do\"\n },\n \"on_hold_reason\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"calendar_duration\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"close_notes\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"contact_type\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"cab_required\": {\n \"display_value\": \"false\",\n \"value\": false\n },\n \"urgency\": {\n \"display_value\": \"3 - Low\",\n \"value\": 3\n },\n \"scope\": {\n \"display_value\": \"Medium\",\n \"value\": 3\n },\n \"company\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"justification\": {\n \"display_value\": \"To improve color standards.\",\n \"value\": \"To improve color standards.\"\n },\n \"activity_due\": {\n \"display_value\": \"UNKNOWN\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"comments\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"approval\": {\n \"display_value\": \"Approved\",\n \"value\": \"approved\"\n },\n \"due_date\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"on_hold\": {\n \"display_value\": \"false\",\n \"value\": false\n },\n \"sys_tags\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"conflict_last_run\": {\n \"display_value\": \"\",\n \"value\": \"\",\n \"display_value_internal\": \"\"\n },\n \"risk\": {\n \"display_value\": \"Moderate\",\n \"value\": 3\n },\n \"location\": {\n \"display_value\": \"\",\n \"value\": \"\"\n },\n \"category\": {\n \"display_value\": \"Other\",\n \"value\": \"Other\"\n },\n \"risk_impact_analysis\": {\n \"display_value\": \"Low\",\n \"value\": \"Low\"\n }\n }\n}"
37
- },
38
33
  "domains": [
39
34
  "Inventory",
40
- "Discovery",
35
+ "Discovery & Topology",
41
36
  "ITSM"
42
37
  ],
43
38
  "tags": [
44
39
  "Change Management",
45
- "ITSM",
46
40
  "Incidents",
47
- "Request"
41
+ "Service Request"
42
+ ],
43
+ "useCases": [
44
+ "Create Change Management Request",
45
+ "Update Change Management Request",
46
+ "Complete Change Management Request",
47
+ "Create Incident",
48
+ "Update Incident",
49
+ "Close Incident",
50
+ "Add asset to CMDB",
51
+ "Remove asset from CMDB"
48
52
  ],
49
53
  "deprecated": {
50
- "isDeprecated": false,
51
- "deprecatedOn": "<date>",
52
- "endOfLife": "<date>",
53
- "replacedBy": {
54
- "name": "adapter-servicenow JUST EXAMPLE!!!!",
55
- "overview": "1 sentence about this thing",
56
- "repoLink": "https://gitlab.com/itentialopensource/adapters/itsm-testing/adapter-servicenow",
57
- "docLink": "https://docs.itential.com/opensource/docs/servicenow",
58
- "webLink": "<TBD>"
59
- }
54
+ "isDeprecated": false
60
55
  },
61
56
  "brokerSince": "",
62
57
  "documentation": {
@@ -64,6 +59,11 @@
64
59
  "npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-servicenow",
65
60
  "repoLink": "https://gitlab.com/itentialopensource/adapters/itsm-testing/adapter-servicenow",
66
61
  "docLink": "https://docs.itential.com/opensource/docs/servicenow",
62
+ "demoLinks": [
63
+ "https://www.itential.com/blog/company/network-cloud-automation/getting-real-time-with-automating-network-change-management-with-servicenow/",
64
+ "https://www.itential.com/resource/demo/integrating-servicenow-cmdb-as-a-source-of-truth-to-drive-network-automation-with-itential-2/",
65
+ "https://www.itential.com/solutions/integrations/servicenow-network-automation/"
66
+ ],
67
67
  "faqLink": "https://docs.itential.com/opensource/docs/troubleshooting-an-adapter",
68
68
  "contributeLink": "https://gitlab.com/itentialopensource/adapters/contributing-guide",
69
69
  "issueLink": "https://itential.atlassian.net/servicedesk/customer/portals",
@@ -74,107 +74,39 @@
74
74
  "https://developer.servicenow.com/dev.do#!/learn/learning-plans/tokyo/new_to_servicenow/app_store_learnv2_scripting_tokyo_servicenow_apis"
75
75
  ]
76
76
  },
77
+ "assets": [],
77
78
  "relatedItems": {
78
79
  "adapters": [],
79
80
  "integrations": [],
80
81
  "ecosystemApplications": [
81
82
  {
82
83
  "name": "Itential ServiceNow App",
84
+ "webName": "Itential ServiceNow App",
83
85
  "overview": "Start automations in the Itential Platform from ServiceNow",
86
+ "isDependency": false,
84
87
  "versions": [
85
88
  "^0.9.0"
86
89
  ],
87
90
  "storeLink": "https://store.servicenow.com/sn_appstore_store.do#!/store/application/f2ba728813da041032813092e144b01f",
88
91
  "docLink": "https://docs.itential.com/opensource/docs/servicenow-application",
89
- "webLink": "<TBD>"
92
+ "webLink": ""
90
93
  }
91
94
  ],
92
- "automations": [
93
- {
94
- "name": "ServiceNow Create Change Request",
95
- "overview": "This pre-built integrates with the ServiceNow Open Source Adapter to create a Change Request in the change_request table in ServiceNow.",
96
- "versions": [
97
- "^0.2.5"
98
- ],
99
- "repoLink": "https://gitlab.com/itentialopensource/pre-built-automations/servicenow-create-change-request",
100
- "docLink": "<TBD>",
101
- "webLink": "https://www.itential.com/automations/servicenow-create-change-request/"
102
- },
103
- {
104
- "name": "ServiceNow Schedule Automation Using Change Request",
105
- "overview": "This pre-built integrates with the ServiceNow Open Source Adapter to schedule an automation via Automation Catalog at the start of the Planned start date.",
106
- "versions": [
107
- "^0.2.5"
108
- ],
109
- "repoLink": "https://gitlab.com/itentialopensource/pre-built-automations/servicenow-schedule-automation-using-change-request",
110
- "docLink": "<TBD>",
111
- "webLink": "https://www.itential.com/automations/servicenow-schedule-automation-using-change-request/"
112
- },
113
- {
114
- "name": "ServiceNow Incident Creation",
115
- "overview": "This Pre-Built integrates with the ServiceNow Open Source Adapter to create an incident in the incident table in ServiceNow.",
116
- "versions": [
117
- "^0.0.21"
118
- ],
119
- "repoLink": "https://gitlab.com/itentialopensource/pre-built-automations/servicenow-incident-creation",
120
- "docLink": "<TBD>",
121
- "webLink": "https://www.itential.com/automations/servicenow-incident-creation/"
122
- },
95
+ "workflowProjects": [
123
96
  {
124
- "name": "ServiceNow Create RITM",
125
- "overview": "This Pre-built integrates with the ServiceNow Open Source Adapter to create a Request and a Request Item (RITM) using the Service Catalog API.",
97
+ "name": "ServiceNow - Now Platform - REST",
98
+ "webName": "Project with workflows for the Now Platform from ServiceNow",
99
+ "overview": "Project with workflows for the Now Platform from ServiceNow",
100
+ "isDependency": false,
126
101
  "versions": [
127
- "^0.2.6"
102
+ "^0.0.5"
128
103
  ],
129
- "repoLink": "https://gitlab.com/itentialopensource/pre-built-automations/servicenow-create-ritm",
130
- "docLink": "<TBD>",
131
- "webLink": "https://www.itential.com/automations/servicenow-create-ritm/"
104
+ "repoLink": "https://gitlab.com/itentialopensource/pre-built-automations/staging/servicenow-now-platform-rest",
105
+ "docLink": "",
106
+ "webLink": ""
132
107
  }
133
108
  ],
134
- "transformations": [],
135
- "useCases": [
136
- {
137
- "name": "Create, update and complete change management requests",
138
- "overview": "1 sentence about this thing",
139
- "webLink": "<TBD>",
140
- "exampleInput": "",
141
- "exampleOutput": ""
142
- },
143
- {
144
- "name": "Create, update and complete change management requests",
145
- "overview": "1 sentence about this thing",
146
- "webLink": "<TBD>",
147
- "exampleInput": "",
148
- "exampleOutput": ""
149
- },
150
- {
151
- "name": "Create tickets/issues when problems arise during automations",
152
- "overview": "1 sentence about this thing",
153
- "webLink": "<TBD>",
154
- "exampleInput": "",
155
- "exampleOutput": ""
156
- },
157
- {
158
- "name": "Close tickets/issues when problems are fixed by automations",
159
- "overview": "1 sentence about this thing",
160
- "webLink": "<TBD>",
161
- "exampleInput": "",
162
- "exampleOutput": ""
163
- },
164
- {
165
- "name": "Add items into CMDB systems and set them up to be discovered",
166
- "overview": "1 sentence about this thing",
167
- "webLink": "<TBD>",
168
- "exampleInput": "",
169
- "exampleOutput": ""
170
- },
171
- {
172
- "name": "Remove items from CMDB",
173
- "overview": "1 sentence about this thing",
174
- "webLink": "<TBD>",
175
- "exampleInput": "",
176
- "exampleOutput": ""
177
- }
178
- ]
109
+ "transformationProjects": [],
110
+ "exampleProjects": []
179
111
  }
180
112
  }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-servicenow",
3
- "version": "2.6.0",
3
+ "version": "2.6.2",
4
4
  "description": "This adapter integrates with system described as: servicenowMadrid.",
5
5
  "main": "adapter.js",
6
6
  "systemName": "ServiceNow",
7
7
  "wizardVersion": "2.44.7",
8
- "engineVersion": "1.67.5",
8
+ "engineVersion": "1.67.7",
9
9
  "adapterType": "http",
10
10
  "scripts": {
11
11
  "artifactize": "npm i && node utils/packModificationScript.js",
@@ -55,12 +55,12 @@
55
55
  "author": "Itential",
56
56
  "homepage": "https://gitlab.com/itentialopensource/adapters/itsm-testing/adapter-servicenow#readme",
57
57
  "dependencies": {
58
- "@itentialopensource/adapter-utils": "^5.1.0",
58
+ "@itentialopensource/adapter-utils": "^5.1.7",
59
+ "acorn": "^8.10.0",
59
60
  "ajv": "^8.12.0",
60
61
  "axios": "^1.4.0",
61
62
  "commander": "^11.0.0",
62
63
  "dns-lookup-promise": "^1.0.4",
63
- "esprima": "^4.0.1",
64
64
  "fs-extra": "^11.1.1",
65
65
  "json-query": "^2.2.2",
66
66
  "mocha": "^10.2.0",
@@ -1063,6 +1063,38 @@
1063
1063
  "description": "The method of the call to getDevicesFiltered",
1064
1064
  "default": "GET"
1065
1065
  },
1066
+ "pagination": {
1067
+ "type": "object",
1068
+ "description": "todo",
1069
+ "properties": {
1070
+ "offsetVar": {
1071
+ "type": "string",
1072
+ "description": "Name of variable that defines how to go to next set of results"
1073
+ },
1074
+ "limitVar": {
1075
+ "type": "string",
1076
+ "description": "Name of variable that defines the max results returned in a request"
1077
+ },
1078
+ "incrementBy": {
1079
+ "type": "string",
1080
+ "enum": [
1081
+ "limit",
1082
+ "page"
1083
+ ],
1084
+ "description": "How to incremenet offset. Default limit",
1085
+ "default": "limit"
1086
+ },
1087
+ "requestLocation": {
1088
+ "type": "string",
1089
+ "enum": [
1090
+ "query",
1091
+ "body"
1092
+ ],
1093
+ "description": "Where in request the pagination data goes",
1094
+ "default": "query"
1095
+ }
1096
+ }
1097
+ },
1066
1098
  "query": {
1067
1099
  "type": "object",
1068
1100
  "description": "The json object with query parameters of the call to getDevicesFiltered",
@@ -1487,6 +1519,38 @@
1487
1519
  "description": "The method of the call to getDevice",
1488
1520
  "default": "GET"
1489
1521
  },
1522
+ "pagination": {
1523
+ "type": "object",
1524
+ "description": "todo",
1525
+ "properties": {
1526
+ "offsetVar": {
1527
+ "type": "string",
1528
+ "description": "Name of variable that defines how to go to next set of results"
1529
+ },
1530
+ "limitVar": {
1531
+ "type": "string",
1532
+ "description": "Name of variable that defines the max results returned in a request"
1533
+ },
1534
+ "incrementBy": {
1535
+ "type": "string",
1536
+ "enum": [
1537
+ "limit",
1538
+ "page"
1539
+ ],
1540
+ "description": "How to incremenet offset. Default limit",
1541
+ "default": "limit"
1542
+ },
1543
+ "requestLocation": {
1544
+ "type": "string",
1545
+ "enum": [
1546
+ "query",
1547
+ "body"
1548
+ ],
1549
+ "description": "Where in request the pagination data goes",
1550
+ "default": "query"
1551
+ }
1552
+ }
1553
+ },
1490
1554
  "query": {
1491
1555
  "type": "object",
1492
1556
  "description": "The json object with query parameters of the call to getDevice",
Binary file
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "2.4.5",
3
- "configLines": 8328,
2
+ "version": "2.6.1",
3
+ "configLines": 8392,
4
4
  "scriptLines": 1783,
5
- "codeLines": 12818,
6
- "testLines": 11853,
5
+ "codeLines": 12921,
6
+ "testLines": 11859,
7
7
  "testCases": 613,
8
- "totalCodeLines": 26454,
8
+ "totalCodeLines": 26563,
9
9
  "wfTasks": 165
10
10
  }