@itentialopensource/adapter-bitbucket 0.3.7 → 0.5.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 (56) hide show
  1. package/AUTH.md +35 -0
  2. package/BROKER.md +199 -0
  3. package/CALLS.md +1741 -0
  4. package/CHANGELOG.md +72 -10
  5. package/CODE_OF_CONDUCT.md +12 -17
  6. package/CONTRIBUTING.md +3 -148
  7. package/ENHANCE.md +69 -0
  8. package/PROPERTIES.md +641 -0
  9. package/README.md +235 -576
  10. package/SUMMARY.md +9 -0
  11. package/SYSTEMINFO.md +20 -0
  12. package/TROUBLESHOOT.md +47 -0
  13. package/adapter.js +471 -819
  14. package/adapterBase.js +843 -419
  15. package/changelogs/CHANGELOG.md +134 -0
  16. package/entities/.generic/action.json +105 -0
  17. package/entities/.generic/schema.json +6 -1
  18. package/error.json +6 -0
  19. package/metadata.json +75 -0
  20. package/package.json +27 -26
  21. package/pronghorn.json +527 -116
  22. package/propertiesDecorators.json +14 -0
  23. package/propertiesSchema.json +827 -6
  24. package/refs?service=git-upload-pack +0 -0
  25. package/report/adapter-openapi.json +15713 -0
  26. package/report/adapter-openapi.yaml +13295 -0
  27. package/report/adapterInfo.json +10 -0
  28. package/report/updateReport1652978796126.json +120 -0
  29. package/report/updateReport1691507757454.json +120 -0
  30. package/report/updateReport1692202749809.json +120 -0
  31. package/report/updateReport1694455448924.json +120 -0
  32. package/report/updateReport1694457678311.json +120 -0
  33. package/report/updateReport1694463179777.json +120 -0
  34. package/report/updateReport1698421384524.json +120 -0
  35. package/sampleProperties.json +153 -3
  36. package/test/integration/adapterTestBasicGet.js +3 -5
  37. package/test/integration/adapterTestConnectivity.js +91 -42
  38. package/test/integration/adapterTestIntegration.js +155 -109
  39. package/test/unit/adapterBaseTestUnit.js +388 -308
  40. package/test/unit/adapterTestUnit.js +399 -260
  41. package/utils/adapterInfo.js +206 -0
  42. package/utils/addAuth.js +1 -1
  43. package/utils/artifactize.js +1 -1
  44. package/utils/checkMigrate.js +1 -1
  45. package/utils/entitiesToDB.js +12 -57
  46. package/utils/findPath.js +1 -1
  47. package/utils/methodDocumentor.js +273 -0
  48. package/utils/modify.js +13 -15
  49. package/utils/packModificationScript.js +1 -1
  50. package/utils/pre-commit.sh +5 -0
  51. package/utils/taskMover.js +309 -0
  52. package/utils/tbScript.js +123 -53
  53. package/utils/tbUtils.js +87 -49
  54. package/utils/testRunner.js +17 -17
  55. package/utils/troubleshootingAdapter.js +9 -6
  56. package/workflows/README.md +0 -3
@@ -0,0 +1,134 @@
1
+
2
+ ## 0.4.0 [05-20-2022]
3
+
4
+ * Migration to the latest Adapter Foundation
5
+
6
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!10
7
+
8
+ ---
9
+
10
+ ## 0.3.7 [04-18-2022]
11
+
12
+ - Fix 2 calls
13
+ - Migration to the latest foundation and broker ready
14
+ - Add some items to .gitignore (e.g. DS_Store) to keep them out of the repos.
15
+ - Changes to the README (some typo fixes - Add how to extend the adapter). Split the README into various markdown files (AUTH, BROKER, CALLS, ENHANCE, PROPERTIES, SUMMARY, SYSTEMINFO, TROUBLESHOOT)
16
+ - Fix the issues with Confluence in the markdowns (Tables, Lists, Links)
17
+ - Add scripts for easier authentication, removing hooks, etc
18
+ - Script changes (install script as well as database changes in other scripts)
19
+ - Double # of path vars on generic call
20
+ - Update versions of foundation (e.g. adapter-utils)
21
+ - Update npm publish so it supports https
22
+ - Update dependencies
23
+ - Add preinstall for minimist
24
+ - Fix new lint issues that came from eslint dependency change
25
+ - Add more thorough Unit tests for standard files (Package, Pronghorn, Properties (Schema and Sample)
26
+ - Add the adapter type in the package.json
27
+ - Add AdapterInfo.js script
28
+ - Add json-query dependency
29
+ - Add the propertiesDecorators.json for product encryption
30
+ - Change the name of internal IAP/Adapter methods to avoid collisions and make more obvious in Workflow - iapRunAdapterBasicGet, iapRunAdapterConnectivity, iapRunAdapterHealthcheck, iapTroubleshootAdapter, iapGetAdapterQueue, iapUnsuspendAdapter, iapSuspendAdapter, iapFindAdapterPath, iapUpdateAdapterConfiguration, iapGetAdapterWorkflowFunctions
31
+ - Add the adapter config in the database support - iapMoveAdapterEntitiesToDB
32
+ - Add standard broker calls - hasEntities, getDevice, getDevicesFiltered, isAlive, getConfig and iapGetDeviceCount
33
+ - Add genericAdapterRequest that does not use the base_path and version so that the path can be unique - genericAdapterRequestNoBasePath
34
+ - Add AdapterInfo.json
35
+ - Add systemName for documentation
36
+
37
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!9
38
+
39
+ ---
40
+
41
+ ## 0.3.6 [03-12-2022]
42
+
43
+ - Updated sample properties
44
+
45
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!7
46
+
47
+ ---
48
+
49
+ ## 0.3.5 [03-12-2022]
50
+
51
+ - Added commit task
52
+
53
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!8
54
+
55
+ ---
56
+
57
+ ## 0.3.4 [03-02-2021]
58
+
59
+ - Migration to bring up to the latest foundation
60
+ - Change to .eslintignore (adapter_modification directory)
61
+ - Change to README.md (new properties, new scripts, new processes)
62
+ - Changes to adapterBase.js (new methods)
63
+ - Changes to package.json (new scripts, dependencies)
64
+ - Changes to propertiesSchema.json (new properties and changes to existing)
65
+ - Changes to the Unit test
66
+ - Adding several test files, utils files and .generic entity
67
+ - Fix order of scripts and dependencies in package.json
68
+ - Fix order of properties in propertiesSchema.json
69
+ - Update sampleProperties, unit and integration tests to have all new properties.
70
+ - Add all new calls to adapter.js and pronghorn.json
71
+ - Add suspend piece to older methods
72
+
73
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!6
74
+
75
+ ---
76
+
77
+ ## 0.3.3 [07-07-2020]
78
+
79
+ - Update the adapter to the latest foundation
80
+
81
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!5
82
+
83
+ ---
84
+
85
+ ## 0.3.2 [01-02-2020]
86
+
87
+ - Bring the adapter up to the latest adapter foundation
88
+
89
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!4
90
+
91
+ ---
92
+
93
+ ## 0.3.1 [11-19-2019]
94
+
95
+ - Update the healthcheck url to one that is working in the lab
96
+
97
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!3
98
+
99
+ ---
100
+
101
+ ## 0.3.0 [11-07-2019]
102
+
103
+ - Update the adapter to the latest adapter foundation.
104
+ - Updating to adapter-utils 4.24.3 (automatic)
105
+ - Add sample token schemas (manual)
106
+ - Adding placement property to getToken response schema (manual - before encrypt)
107
+ - Adding sso default into action.json for getToken (manual - before response object)
108
+ - Add new adapter properties for metrics & mock (save_metric, mongo and return_raw) (automatic - check place manual before stub)
109
+ - Update sample properties to include new properties (manual)
110
+ - Update integration test for raw mockdata (automatic)
111
+ - Update test properties (manual)
112
+ - Changes to artifactize (automatic)
113
+ - Update type in sampleProperties so it is correct for the adapter (manual)
114
+ - Update the readme (automatic)
115
+
116
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!2
117
+
118
+ ---
119
+
120
+ ## 0.2.0 [09-12-2019]
121
+
122
+ - Update the adapter foundation to the latest
123
+
124
+ See merge request itentialopensource/adapters/devops-netops/adapter-bitbucket!1
125
+
126
+ ---
127
+
128
+ ## 0.1.1 [08-26-2019]
129
+
130
+ - Initial Commit
131
+
132
+ See commit 778c7af
133
+
134
+ ---
@@ -104,6 +104,111 @@
104
104
  "mockFile": ""
105
105
  }
106
106
  ]
107
+ },
108
+ {
109
+ "name": "getGenericsNoBase",
110
+ "protocol": "REST",
111
+ "method": "GET",
112
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
113
+ "requestSchema": "schema.json",
114
+ "responseSchema": "schema.json",
115
+ "timeout": 0,
116
+ "sendEmpty": false,
117
+ "sendGetBody": false,
118
+ "requestDatatype": "JSON",
119
+ "responseDatatype": "JSON",
120
+ "headers": {},
121
+ "responseObjects": [
122
+ {
123
+ "type": "default",
124
+ "key": "",
125
+ "mockFile": ""
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "name": "createGenericNoBase",
131
+ "protocol": "REST",
132
+ "method": "POST",
133
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
134
+ "requestSchema": "schema.json",
135
+ "responseSchema": "schema.json",
136
+ "timeout": 0,
137
+ "sendEmpty": false,
138
+ "sendGetBody": false,
139
+ "requestDatatype": "JSON",
140
+ "responseDatatype": "JSON",
141
+ "headers": {},
142
+ "responseObjects": [
143
+ {
144
+ "type": "default",
145
+ "key": "",
146
+ "mockFile": ""
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ "name": "updateGenericNoBase",
152
+ "protocol": "REST",
153
+ "method": "PUT",
154
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
155
+ "requestSchema": "schema.json",
156
+ "responseSchema": "schema.json",
157
+ "timeout": 0,
158
+ "sendEmpty": false,
159
+ "sendGetBody": false,
160
+ "requestDatatype": "JSON",
161
+ "responseDatatype": "JSON",
162
+ "headers": {},
163
+ "responseObjects": [
164
+ {
165
+ "type": "default",
166
+ "key": "",
167
+ "mockFile": ""
168
+ }
169
+ ]
170
+ },
171
+ {
172
+ "name": "patchGenericNoBase",
173
+ "protocol": "REST",
174
+ "method": "PATCH",
175
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
176
+ "requestSchema": "schema.json",
177
+ "responseSchema": "schema.json",
178
+ "timeout": 0,
179
+ "sendEmpty": false,
180
+ "sendGetBody": false,
181
+ "requestDatatype": "JSON",
182
+ "responseDatatype": "JSON",
183
+ "headers": {},
184
+ "responseObjects": [
185
+ {
186
+ "type": "default",
187
+ "key": "",
188
+ "mockFile": ""
189
+ }
190
+ ]
191
+ },
192
+ {
193
+ "name": "deleteGenericNoBase",
194
+ "protocol": "REST",
195
+ "method": "DELETE",
196
+ "entitypath": "/{pathv1}/{pathv2}/{pathv3}/{pathv4}/{pathv5}/{pathv6}/{pathv7}/{pathv8}/{pathv9}/{pathv10}/{pathv11}/{pathv12}/{pathv13}/{pathv14}/{pathv15}/{pathv16}/{pathv17}/{pathv18}/{pathv19}/{pathv20}?{query}",
197
+ "requestSchema": "schema.json",
198
+ "responseSchema": "schema.json",
199
+ "timeout": 0,
200
+ "sendEmpty": false,
201
+ "sendGetBody": false,
202
+ "requestDatatype": "JSON",
203
+ "responseDatatype": "JSON",
204
+ "headers": {},
205
+ "responseObjects": [
206
+ {
207
+ "type": "default",
208
+ "key": "",
209
+ "mockFile": ""
210
+ }
211
+ ]
107
212
  }
108
213
  ]
109
214
  }
@@ -14,7 +14,12 @@
14
14
  "createGeneric",
15
15
  "updateGeneric",
16
16
  "patchGeneric",
17
- "deleteGeneric"
17
+ "deleteGeneric",
18
+ "getGenericsNoBase",
19
+ "createGenericNoBase",
20
+ "updateGenericNoBase",
21
+ "patchGenericNoBase",
22
+ "deleteGenericNoBase"
18
23
  ],
19
24
  "external_name": "ph_request_type"
20
25
  }
package/error.json CHANGED
@@ -96,6 +96,12 @@
96
96
  "displayString": "Invalid properties: $VARIABLE$",
97
97
  "recommendation": "Verify the properties for the adapter"
98
98
  },
99
+ {
100
+ "key": "Missing Properties",
101
+ "icode": "AD.306",
102
+ "displayString": "Property $VARIABLE$ is required",
103
+ "recommendation": "Please provide the required property"
104
+ },
99
105
  {
100
106
  "key": "Query Not Translated",
101
107
  "icode": "AD.310",
package/metadata.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "adapter-bitbucket",
3
+ "webName": "Adapter for Integration to Bitbucket Cloud",
4
+ "vendor": "Bitbucket",
5
+ "product": "Bitbucket Cloud",
6
+ "osVersion": [],
7
+ "apiVersions": [
8
+ "2.0"
9
+ ],
10
+ "iapVersions": [
11
+ "2021.1.x",
12
+ "2021.2.x",
13
+ "2022.1.x",
14
+ "2023.1.x"
15
+ ],
16
+ "method": "REST",
17
+ "type": "Adapter",
18
+ "domains": [
19
+ "CI/CD"
20
+ ],
21
+ "tags": [
22
+ "Pipeline",
23
+ "Version Control",
24
+ "Build and Deploy"
25
+ ],
26
+ "useCases": [
27
+ "Automate Start of CI/CD Process",
28
+ "Create, update, manage and remove Projects",
29
+ "Automated Deployment of a new System, Application or Project",
30
+ "Versioning of Infrastructure Configuration",
31
+ "Automation of Network Configuration Changes from Repository"
32
+ ],
33
+ "deprecated": {
34
+ "isDeprecated": false
35
+ },
36
+ "brokerSince": "",
37
+ "documentation": {
38
+ "storeLink": "",
39
+ "npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-bitbucket",
40
+ "repoLink": "https://gitlab.com/itentialopensource/adapters/devops-netops/adapter-bitbucket",
41
+ "docLink": "https://docs.itential.com/opensource/docs/bitbucket",
42
+ "demoLinks": [],
43
+ "faqLink": "https://docs.itential.com/opensource/docs/troubleshooting-an-adapter",
44
+ "contributeLink": "https://gitlab.com/itentialopensource/adapters/contributing-guide",
45
+ "issueLink": "https://itential.atlassian.net/servicedesk/customer/portals",
46
+ "webLink": "https://www.itential.com/adapters/bitbucket/",
47
+ "vendorLink": "https://bitbucket.org/",
48
+ "productLink": "https://bitbucket.org/",
49
+ "apiLinks": [
50
+ "https://developer.atlassian.com/cloud/bitbucket/rest/intro"
51
+ ]
52
+ },
53
+ "assets": [],
54
+ "relatedItems": {
55
+ "adapters": [],
56
+ "integrations": [],
57
+ "ecosystemApplications": [],
58
+ "workflowProjects": [
59
+ {
60
+ "name": "Prebuilt Promotion",
61
+ "webName": "Pre-Built Promotion",
62
+ "overview": "Prebuilt Promotion takes a pre-built installed on IAP in Admin Essentials and creates a new project or updates an existing project by way of a merge request or pull request in the specified version control platform (i.e. GitLab, Github, Bitbucket) using the pre-built's IAP components and other files for CI/CD of maintaining those resources.",
63
+ "isDependency": false,
64
+ "versions": [
65
+ "^1.0.4"
66
+ ],
67
+ "repoLink": "https://gitlab.com/itentialopensource/pre-built-automations/prebuilt-promotion",
68
+ "docLink": "",
69
+ "webLink": "https://www.itential.com/automations/prebuilt-promotion/"
70
+ }
71
+ ],
72
+ "transformationProjects": [],
73
+ "exampleProjects": []
74
+ }
75
+ }
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-bitbucket",
3
- "version": "0.3.7",
3
+ "version": "0.5.0",
4
4
  "description": "This adapter integrates with system described as: bitbucket.",
5
5
  "main": "adapter.js",
6
6
  "wizardVersion": "2.44.7",
7
- "engineVersion": "1.59.55",
7
+ "engineVersion": "1.67.10",
8
+ "adapterType": "http",
8
9
  "scripts": {
9
10
  "artifactize": "npm i && node utils/packModificationScript.js",
10
- "preinstall": "node utils/setup.js && npm install --package-lock-only --ignore-scripts && npx npm-force-resolutions",
11
+ "preinstall": "node utils/setup.js",
12
+ "deinstall": "node utils/removeHooks.js",
11
13
  "lint": "node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js",
12
14
  "lint:errors": "node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet",
13
15
  "test:baseunit": "mocha test/unit/adapterBaseTestUnit.js --LOG=error",
@@ -21,7 +23,7 @@
21
23
  "adapter:migrate": "node utils/modify.js -m",
22
24
  "adapter:update": "node utils/modify.js -u",
23
25
  "adapter:revert": "node utils/modify.js -r",
24
- "troubleshoot": "node utils/tbScript.js",
26
+ "troubleshoot": "node utils/tbScript.js troubleshoot",
25
27
  "healthcheck": "node utils/tbScript.js healthcheck",
26
28
  "basicget": "node utils/tbScript.js basicget",
27
29
  "connectivity": "node utils/tbScript.js connectivity",
@@ -52,32 +54,31 @@
52
54
  "author": "Itential",
53
55
  "homepage": "https://gitlab.com/itentialopensource/adapters/devops-netops/adapter-bitbucket#readme",
54
56
  "dependencies": {
55
- "@itentialopensource/adapter-utils": "^4.44.11",
56
- "ajv": "^6.12.0",
57
- "axios": "^0.21.0",
58
- "commander": "^2.20.0",
59
- "fs-extra": "^8.1.0",
60
- "mocha": "^9.0.1",
57
+ "@itentialopensource/adapter-utils": "^5.3.0",
58
+ "acorn": "^8.10.0",
59
+ "ajv": "^8.12.0",
60
+ "axios": "^1.4.0",
61
+ "commander": "^11.0.0",
62
+ "dns-lookup-promise": "^1.0.4",
63
+ "fs-extra": "^11.1.1",
64
+ "json-query": "^2.2.2",
65
+ "mocha": "^10.2.0",
61
66
  "mocha-param": "^2.0.1",
62
- "mongodb": "^4.1.0",
63
- "network-diagnostics": "^0.5.3",
67
+ "mongodb": "^4.16.0",
64
68
  "nyc": "^15.1.0",
69
+ "ping": "^0.4.4",
70
+ "prompts": "^2.4.2",
65
71
  "readline-sync": "^1.4.10",
66
- "semver": "^7.3.2",
67
- "winston": "^3.3.3"
72
+ "semver": "^7.5.3",
73
+ "winston": "^3.9.0"
68
74
  },
69
75
  "devDependencies": {
70
- "chai": "^4.3.4",
71
- "eslint": "^7.29.0",
72
- "eslint-config-airbnb-base": "^14.2.1",
73
- "eslint-plugin-import": "^2.23.4",
74
- "eslint-plugin-json": "^3.0.0",
75
- "package-json-validator": "^0.6.3",
76
- "testdouble": "^3.16.1"
76
+ "chai": "^4.3.7",
77
+ "eslint": "^8.44.0",
78
+ "eslint-config-airbnb-base": "^15.0.0",
79
+ "eslint-plugin-import": "^2.27.5",
80
+ "eslint-plugin-json": "^3.1.0",
81
+ "testdouble": "^3.18.0"
77
82
  },
78
- "resolutions": {
79
- "minimist": "^1.2.5"
80
- },
81
- "private": false,
82
- "adapterType": "http"
83
+ "private": false
83
84
  }