@itentialopensource/adapter-jira 2.3.6 → 2.4.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.
package/metadata.json CHANGED
@@ -32,13 +32,24 @@
32
32
  "isDeprecated": false
33
33
  },
34
34
  "brokerSince": "",
35
+ "authMethods": [
36
+ {
37
+ "type": "Basic Auth",
38
+ "primary": true
39
+ }
40
+ ],
35
41
  "documentation": {
36
42
  "storeLink": "",
37
43
  "npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-jira",
38
- "repoLink": "https://gitlab.com/itentialopensource/adapters/itsm-testing/adapter-jira",
44
+ "repoLink": "https://gitlab.com/itentialopensource/adapters/adapter-jira",
39
45
  "docLink": "https://docs.itential.com/opensource/docs/jira",
40
46
  "demoLinks": [],
41
- "trainingLinks": [],
47
+ "trainingLinks": [
48
+ {
49
+ "title": "Itential Academy",
50
+ "link": "https://www.itential.com/itential-academy/"
51
+ }
52
+ ],
42
53
  "faqLink": "https://docs.itential.com/opensource/docs/troubleshooting-an-adapter",
43
54
  "contributeLink": "https://gitlab.com/itentialopensource/adapters/contributing-guide",
44
55
  "issueLink": "https://itential.atlassian.net/servicedesk/customer/portals",
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-jira",
3
- "version": "2.3.6",
3
+ "version": "2.4.0",
4
4
  "description": "This adapter integrates with system Jira",
5
5
  "main": "adapter.js",
6
6
  "systemName": "Jira",
7
7
  "wizardVersion": "2.44.7",
8
- "engineVersion": "1.67.10",
8
+ "engineVersion": "1.67.19",
9
9
  "adapterType": "http",
10
10
  "scripts": {
11
11
  "artifactize": "npm i && node utils/packModificationScript.js",
@@ -17,7 +17,6 @@
17
17
  "test:unit": "mocha test/unit/adapterTestUnit.js --LOG=error",
18
18
  "test:integration": "mocha test/integration/adapterTestIntegration.js --LOG=error",
19
19
  "test:system": "nyc --reporter html --reporter text mocha test/integration/adapterTestIntegration.js --LOG=error -g \"System Integration Tests\"",
20
- "test:cover": "nyc --reporter html --reporter text mocha --reporter dot test/*",
21
20
  "test": "npm run test:baseunit && npm run test:unit && npm run test:integration",
22
21
  "adapter:install": "npm i && node utils/tbScript.js install",
23
22
  "adapter:checkMigrate": "node utils/checkMigrate.js",
@@ -46,15 +45,15 @@
46
45
  ],
47
46
  "license": "Apache-2.0",
48
47
  "engines": {
49
- "node": ">= 8.0.0",
48
+ "node": ">= 14.0.0",
50
49
  "npm": ">= 6.0.0"
51
50
  },
52
51
  "repository": {
53
52
  "type": "git",
54
- "url": "git@gitlab.com:itentialopensource/adapters/itsm-testing/adapter-jira.git"
53
+ "url": "git@gitlab.com:itentialopensource/adapters/adapter-jira.git"
55
54
  },
56
55
  "author": "Itential",
57
- "homepage": "https://gitlab.com/itentialopensource/adapters/itsm-testing/adapter-jira#readme",
56
+ "homepage": "https://gitlab.com/itentialopensource/adapters/adapter-jira#readme",
58
57
  "dependencies": {
59
58
  "@itentialopensource/adapter-utils": "^5.3.10",
60
59
  "acorn": "^8.10.0",
@@ -67,7 +66,6 @@
67
66
  "mocha": "^10.3.0",
68
67
  "mocha-param": "^2.0.1",
69
68
  "mongodb": "^4.16.0",
70
- "nyc": "^15.1.0",
71
69
  "ping": "^0.4.4",
72
70
  "prompts": "^2.4.2",
73
71
  "readline-sync": "^1.4.10",
@@ -945,6 +945,11 @@
945
945
  "devicebroker": {
946
946
  "type": "object",
947
947
  "properties": {
948
+ "enabled": {
949
+ "type": "boolean",
950
+ "description": "Whether or not the device broker calls have been mapped",
951
+ "default": false
952
+ },
948
953
  "getDevice": {
949
954
  "type": "array",
950
955
  "description": "Broker call(s) to getDevice",
Binary file
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "2.3.0",
3
- "configLines": 48668,
2
+ "version": "2.3.6",
3
+ "configLines": 48673,
4
4
  "scriptLines": 1783,
5
5
  "codeLines": 39944,
6
- "testLines": 37281,
6
+ "testLines": 37280,
7
7
  "testCases": 1748,
8
- "totalCodeLines": 79008,
8
+ "totalCodeLines": 79007,
9
9
  "wfTasks": 528
10
10
  }
@@ -0,0 +1,120 @@
1
+ {
2
+ "errors": [],
3
+ "statistics": [
4
+ {
5
+ "owner": "errorJson",
6
+ "description": "New adapter errors available for use",
7
+ "value": 0
8
+ },
9
+ {
10
+ "owner": "errorJson",
11
+ "description": "Adapter errors no longer available for use",
12
+ "value": 0
13
+ },
14
+ {
15
+ "owner": "errorJson",
16
+ "description": "Adapter errors that have been updated (e.g. recommendation changes)",
17
+ "value": 31
18
+ },
19
+ {
20
+ "owner": "packageJson",
21
+ "description": "Number of production dependencies",
22
+ "value": 16
23
+ },
24
+ {
25
+ "owner": "packageJson",
26
+ "description": "Number of development dependencies",
27
+ "value": 6
28
+ },
29
+ {
30
+ "owner": "packageJson",
31
+ "description": "Number of npm scripts",
32
+ "value": 21
33
+ },
34
+ {
35
+ "owner": "packageJson",
36
+ "description": "Runtime Library dependency",
37
+ "value": "^5.3.10"
38
+ },
39
+ {
40
+ "owner": "propertiesSchemaJson",
41
+ "description": "Adapter properties defined in the propertiesSchema file",
42
+ "value": 78
43
+ },
44
+ {
45
+ "owner": "markdown",
46
+ "description": "Number of lines in the README.md",
47
+ "value": 344
48
+ },
49
+ {
50
+ "owner": "markdown",
51
+ "description": "Number of lines in the SUMMARY.md",
52
+ "value": 9
53
+ },
54
+ {
55
+ "owner": "markdown",
56
+ "description": "Number of lines in the PROPERTIES.md",
57
+ "value": 647
58
+ },
59
+ {
60
+ "owner": "markdown",
61
+ "description": "Number of lines in the TROUBLESHOOT.md",
62
+ "value": 48
63
+ },
64
+ {
65
+ "owner": "markdown",
66
+ "description": "Number of lines in the ENHANCE.md",
67
+ "value": 70
68
+ },
69
+ {
70
+ "owner": "markdown",
71
+ "description": "Number of lines in the BROKER.md",
72
+ "value": 70
73
+ },
74
+ {
75
+ "owner": "unitTestJS",
76
+ "description": "Number of lines of code in unit tests",
77
+ "value": 18314
78
+ },
79
+ {
80
+ "owner": "unitTestJS",
81
+ "description": "Number of unit tests",
82
+ "value": 1162
83
+ },
84
+ {
85
+ "owner": "integrationTestJS",
86
+ "description": "Number of lines of code in integration tests",
87
+ "value": 17714
88
+ },
89
+ {
90
+ "owner": "integrationTestJS",
91
+ "description": "Number of integration tests",
92
+ "value": 514
93
+ },
94
+ {
95
+ "owner": "staticFile",
96
+ "description": "Number of lines of code in adapterBase.js",
97
+ "value": 1453
98
+ },
99
+ {
100
+ "owner": "staticFile",
101
+ "description": "Number of static files added",
102
+ "value": 36
103
+ },
104
+ {
105
+ "owner": "Overall",
106
+ "description": "Total lines of Code",
107
+ "value": 37481
108
+ },
109
+ {
110
+ "owner": "Overall",
111
+ "description": "Total Tests",
112
+ "value": 1676
113
+ },
114
+ {
115
+ "owner": "Overall",
116
+ "description": "Total Files",
117
+ "value": 6
118
+ }
119
+ ]
120
+ }
@@ -16,7 +16,7 @@
16
16
  "authentication": {
17
17
  "auth_method": "basic user_password",
18
18
  "username": "exampleUsername",
19
- "password": "examplePassword",
19
+ "password": "apiKey",
20
20
  "token": "",
21
21
  "token_timeout": 1800000,
22
22
  "token_cache": "local",
@@ -114,30 +114,32 @@
114
114
  }
115
115
  },
116
116
  "devicebroker": {
117
+ "enabled": false,
117
118
  "getDevice": [
118
119
  {
119
- "path": "/get/devices/{id}",
120
+ "path": "/not/mapped",
120
121
  "method": "GET",
121
122
  "query": {},
122
123
  "body": {},
123
124
  "headers": {},
124
125
  "handleFailure": "ignore",
125
126
  "requestFields": {
126
- "id": "name"
127
+ "insample": "{port}"
127
128
  },
128
129
  "responseDatakey": "",
129
130
  "responseFields": {
130
- "name": "host",
131
- "ostype": "os",
132
- "ostypePrefix": "system-",
133
- "ipaddress": "attributes.ipaddr",
134
- "port": "443"
131
+ "name": "{this}{||}{that}",
132
+ "ostype": "{osfield}",
133
+ "ostypePrefix": "meraki-",
134
+ "port": "{port}",
135
+ "ipaddress": "{ip_addr}",
136
+ "serial" : "{serial}"
135
137
  }
136
138
  }
137
139
  ],
138
140
  "getDevicesFiltered": [
139
141
  {
140
- "path": "/get/devices",
142
+ "path": "/not/mapped",
141
143
  "method": "GET",
142
144
  "pagination": {
143
145
  "offsetVar": "",
@@ -152,42 +154,44 @@
152
154
  "requestFields": {},
153
155
  "responseDatakey": "",
154
156
  "responseFields": {
155
- "name": "host",
156
- "ostype": "os",
157
- "ostypePrefix": "system-",
158
- "ipaddress": "attributes.ipaddr",
159
- "port": "443"
157
+ "name": "{this}{||}{that}",
158
+ "ostype": "{osfield}",
159
+ "ostypePrefix": "meraki-",
160
+ "port": "{port}",
161
+ "ipaddress": "{ip_addr}",
162
+ "serial" : "{serial}",
163
+ "id": "{myid}"
160
164
  }
161
165
  }
162
166
  ],
163
167
  "isAlive": [
164
168
  {
165
- "path": "/get/devices/{id}/status",
169
+ "path": "/not/mapped/{devID}",
166
170
  "method": "GET",
167
171
  "query": {},
168
172
  "body": {},
169
173
  "headers": {},
170
174
  "handleFailure": "ignore",
171
175
  "requestFields": {
172
- "id": "name"
176
+ "devID": "{id}"
173
177
  },
174
178
  "responseDatakey": "",
175
179
  "responseFields": {
176
- "status": "status",
177
- "statusValue": "online"
180
+ "status": "return2xx",
181
+ "statusValue": "AD.200"
178
182
  }
179
183
  }
180
184
  ],
181
185
  "getConfig": [
182
186
  {
183
- "path": "/get/devices/{id}/configPart1",
187
+ "path": "/not/mapped/{devID}",
184
188
  "method": "GET",
185
189
  "query": {},
186
190
  "body": {},
187
191
  "headers": {},
188
192
  "handleFailure": "ignore",
189
193
  "requestFields": {
190
- "id": "name"
194
+ "devID": "{id}"
191
195
  },
192
196
  "responseDatakey": "",
193
197
  "responseFields": {}
@@ -195,7 +199,7 @@
195
199
  ],
196
200
  "getCount": [
197
201
  {
198
- "path": "/get/devices",
202
+ "path": "/not/mapped",
199
203
  "method": "GET",
200
204
  "query": {},
201
205
  "body": {},
@@ -211,15 +215,15 @@
211
215
  "enabled": false,
212
216
  "entities": [
213
217
  {
214
- "entityType": "",
215
- "frequency": 1440,
218
+ "entityType": "device",
219
+ "frequency": 3600,
216
220
  "flushOnFail": false,
217
- "limit": 1000,
221
+ "limit": 10000,
218
222
  "retryAttempts": 5,
219
223
  "sort": true,
220
224
  "populate": [
221
225
  {
222
- "path": "",
226
+ "path": "/not/mapped",
223
227
  "method": "GET",
224
228
  "pagination": {
225
229
  "offsetVar": "",
@@ -233,7 +237,15 @@
233
237
  "handleFailure": "ignore",
234
238
  "requestFields": {},
235
239
  "responseDatakey": "",
236
- "responseFields": {}
240
+ "responseFields": {
241
+ "name": "{this}{||}{that}",
242
+ "ostype": "{osfield}",
243
+ "ostypePrefix": "meraki-",
244
+ "port": "{port}",
245
+ "ipaddress": "{ip_addr}",
246
+ "serial" : "{serial}",
247
+ "id": "{myid}"
248
+ }
237
249
  }
238
250
  ],
239
251
  "cachedTasks": [
@@ -1,7 +1,7 @@
1
1
  /* @copyright Itential, LLC 2019 (pre-modifications) */
2
2
 
3
3
  // Set globals
4
- /* global describe it before after log pronghornProps */
4
+ /* global describe it log pronghornProps */
5
5
  /* eslint no-unused-vars: warn */
6
6
  /* eslint no-underscore-dangle: warn */
7
7
  /* eslint import/no-dynamic-require:warn */
@@ -46,6 +46,7 @@ samProps.ssl.accept_invalid_cert = false;
46
46
  if (samProps.request.attempt_timeout < 30000) {
47
47
  samProps.request.attempt_timeout = 30000;
48
48
  }
49
+ samProps.devicebroker.enabled = true;
49
50
  const attemptTimeout = samProps.request.attempt_timeout;
50
51
  const { stub } = samProps;
51
52
 
@@ -507,7 +508,7 @@ describe('[integration] Jira Adapter Test', () => {
507
508
  describe('System Integration Tests', () => {
508
509
  let testProjectId;
509
510
  let myUserId;
510
- before(() => {
511
+ mocha.before(() => {
511
512
  let setupPromise;
512
513
  if (!stub) {
513
514
  setupPromise = new Promise((resolveAll) => {
@@ -544,7 +545,7 @@ describe('[integration] Jira Adapter Test', () => {
544
545
  return setupPromise;
545
546
  });
546
547
 
547
- after(() => {
548
+ mocha.after(() => {
548
549
  let teardownPromise;
549
550
  if (!stub) {
550
551
  teardownPromise = new Promise((resolve) => {
@@ -1474,7 +1475,7 @@ describe('[integration] Jira Adapter Test', () => {
1474
1475
  describe('Issue Comment Entity', () => {
1475
1476
  let newIssueId;
1476
1477
  let newCommentId;
1477
- before(() => {
1478
+ mocha.before(() => {
1478
1479
  if (!stub) {
1479
1480
  const body = {
1480
1481
  fields: {
@@ -1500,7 +1501,7 @@ describe('[integration] Jira Adapter Test', () => {
1500
1501
  return true;
1501
1502
  });
1502
1503
 
1503
- after(() => {
1504
+ mocha.after(() => {
1504
1505
  if (!stub) {
1505
1506
  const issueIdOrKey = newIssueId;
1506
1507
  const deleteSubtasks = true;
@@ -1852,7 +1853,7 @@ describe('[integration] Jira Adapter Test', () => {
1852
1853
 
1853
1854
  describe('Issue Property Entity', () => {
1854
1855
  let newIssueId;
1855
- before(() => {
1856
+ mocha.before(() => {
1856
1857
  if (!stub) {
1857
1858
  const body = {
1858
1859
  fields: {
@@ -1875,7 +1876,7 @@ describe('[integration] Jira Adapter Test', () => {
1875
1876
  return true;
1876
1877
  });
1877
1878
 
1878
- after(() => {
1879
+ mocha.after(() => {
1879
1880
  if (!stub) {
1880
1881
  const issueIdOrKey = newIssueId;
1881
1882
  const deleteSubtasks = true;
@@ -2912,7 +2913,7 @@ describe('[integration] Jira Adapter Test', () => {
2912
2913
 
2913
2914
  describe('User Entity', () => {
2914
2915
  let newIssueKey;
2915
- before(() => {
2916
+ mocha.before(() => {
2916
2917
  if (!stub) {
2917
2918
  const body = {
2918
2919
  fields: {
@@ -2936,7 +2937,7 @@ describe('[integration] Jira Adapter Test', () => {
2936
2937
  return true;
2937
2938
  });
2938
2939
 
2939
- after(() => {
2940
+ mocha.after(() => {
2940
2941
  if (!stub) {
2941
2942
  const issueIdOrKey = newIssueKey;
2942
2943
  const deleteSubtasks = true;
@@ -3540,7 +3541,7 @@ describe('[integration] Jira Adapter Test', () => {
3540
3541
 
3541
3542
  describe('Permission Entity', () => {
3542
3543
  let newProjectId;
3543
- before(() => {
3544
+ mocha.before(() => {
3544
3545
  if (!stub) {
3545
3546
  return new Promise((resolve) => {
3546
3547
  const body = {
@@ -3561,7 +3562,7 @@ describe('[integration] Jira Adapter Test', () => {
3561
3562
  return true;
3562
3563
  });
3563
3564
 
3564
- after(() => {
3565
+ mocha.after(() => {
3565
3566
  if (!stub) {
3566
3567
  return new Promise((resolve) => {
3567
3568
  a.deleteRestapi2projectprojectIdOrKey(newProjectId, (data, error) => {
@@ -284,7 +284,6 @@ describe('[unit] Jira Adapter Test', () => {
284
284
  assert.equal('mocha test/unit/adapterBaseTestUnit.js --LOG=error', packageDotJson.scripts['test:baseunit']);
285
285
  assert.equal('mocha test/unit/adapterTestUnit.js --LOG=error', packageDotJson.scripts['test:unit']);
286
286
  assert.equal('mocha test/integration/adapterTestIntegration.js --LOG=error', packageDotJson.scripts['test:integration']);
287
- assert.equal('nyc --reporter html --reporter text mocha --reporter dot test/*', packageDotJson.scripts['test:cover']);
288
287
  assert.equal('npm run test:baseunit && npm run test:unit && npm run test:integration', packageDotJson.scripts.test);
289
288
  assert.equal('npm publish --registry=https://registry.npmjs.org --access=public', packageDotJson.scripts.deploy);
290
289
  assert.equal('npm run deploy', packageDotJson.scripts.build);
@@ -321,7 +320,6 @@ describe('[unit] Jira Adapter Test', () => {
321
320
  assert.equal('^11.1.1', packageDotJson.dependencies['fs-extra']);
322
321
  assert.equal('^10.3.0', packageDotJson.dependencies.mocha);
323
322
  assert.equal('^2.0.1', packageDotJson.dependencies['mocha-param']);
324
- assert.equal('^15.1.0', packageDotJson.dependencies.nyc);
325
323
  assert.equal('^0.4.4', packageDotJson.dependencies.ping);
326
324
  assert.equal('^1.4.10', packageDotJson.dependencies['readline-sync']);
327
325
  assert.equal('^7.5.3', packageDotJson.dependencies.semver);