@resolution/jira-api-client 0.4.5 → 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 (93) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +87 -4
  3. package/lib/index.d.ts +13 -0
  4. package/lib/index.js +17 -1
  5. package/lib/index.js.map +1 -1
  6. package/lib/openapi/platform/BaseJiraPlatformApiClient.d.ts +92 -93
  7. package/lib/openapi/platform/BaseJiraPlatformApiClient.js +1072 -891
  8. package/lib/openapi/platform/BaseJiraPlatformApiClient.js.map +1 -1
  9. package/lib/openapi/platform/core/CommonHttpService.d.ts +2 -0
  10. package/lib/openapi/platform/core/CommonHttpService.js +9 -0
  11. package/lib/openapi/platform/core/CommonHttpService.js.map +1 -1
  12. package/lib/openapi/platform/services/DashboardsService.d.ts +7 -1
  13. package/lib/openapi/platform/services/DashboardsService.js +4 -1
  14. package/lib/openapi/platform/services/DashboardsService.js.map +1 -1
  15. package/lib/openapi/platform/services/IssueSearchService.d.ts +8 -1
  16. package/lib/openapi/platform/services/IssueSearchService.js +2 -1
  17. package/lib/openapi/platform/services/IssueSearchService.js.map +1 -1
  18. package/lib/openapi/platform/services/IssuesService.d.ts +8 -1
  19. package/lib/openapi/platform/services/IssuesService.js +2 -1
  20. package/lib/openapi/platform/services/IssuesService.js.map +1 -1
  21. package/lib/openapi/platform/services/PermissionsService.d.ts +7 -0
  22. package/lib/openapi/platform/services/PermissionsService.js +7 -0
  23. package/lib/openapi/platform/services/PermissionsService.js.map +1 -1
  24. package/lib/openapi/serviceManagement/BaseJiraServiceManagementApiClient.d.ts +46 -0
  25. package/lib/openapi/serviceManagement/BaseJiraServiceManagementApiClient.js +78 -0
  26. package/lib/openapi/serviceManagement/BaseJiraServiceManagementApiClient.js.map +1 -0
  27. package/lib/openapi/serviceManagement/core/CommonHttpClient.d.ts +196 -0
  28. package/lib/openapi/serviceManagement/core/CommonHttpClient.js +390 -0
  29. package/lib/openapi/serviceManagement/core/CommonHttpClient.js.map +1 -0
  30. package/lib/openapi/serviceManagement/core/CommonHttpService.d.ts +9 -0
  31. package/lib/openapi/serviceManagement/core/CommonHttpService.js +29 -0
  32. package/lib/openapi/serviceManagement/core/CommonHttpService.js.map +1 -0
  33. package/lib/openapi/serviceManagement/core/CommonValidationSchemaStorage.d.ts +35 -0
  34. package/lib/openapi/serviceManagement/core/CommonValidationSchemaStorage.js +65 -0
  35. package/lib/openapi/serviceManagement/core/CommonValidationSchemaStorage.js.map +1 -0
  36. package/lib/openapi/serviceManagement/models/assets.d.ts +54 -0
  37. package/lib/openapi/serviceManagement/models/assets.js +60 -0
  38. package/lib/openapi/serviceManagement/models/assets.js.map +1 -0
  39. package/lib/openapi/serviceManagement/models/common.d.ts +228 -0
  40. package/lib/openapi/serviceManagement/models/common.js +172 -0
  41. package/lib/openapi/serviceManagement/models/common.js.map +1 -0
  42. package/lib/openapi/serviceManagement/models/customer.d.ts +30 -0
  43. package/lib/openapi/serviceManagement/models/customer.js +27 -0
  44. package/lib/openapi/serviceManagement/models/customer.js.map +1 -0
  45. package/lib/openapi/serviceManagement/models/info.d.ts +18 -0
  46. package/lib/openapi/serviceManagement/models/info.js +24 -0
  47. package/lib/openapi/serviceManagement/models/info.js.map +1 -0
  48. package/lib/openapi/serviceManagement/models/knowledgebase.d.ts +24 -0
  49. package/lib/openapi/serviceManagement/models/knowledgebase.js +32 -0
  50. package/lib/openapi/serviceManagement/models/knowledgebase.js.map +1 -0
  51. package/lib/openapi/serviceManagement/models/organization.d.ts +76 -0
  52. package/lib/openapi/serviceManagement/models/organization.js +65 -0
  53. package/lib/openapi/serviceManagement/models/organization.js.map +1 -0
  54. package/lib/openapi/serviceManagement/models/request.d.ts +594 -0
  55. package/lib/openapi/serviceManagement/models/request.js +516 -0
  56. package/lib/openapi/serviceManagement/models/request.js.map +1 -0
  57. package/lib/openapi/serviceManagement/models/servicedesk.d.ts +525 -0
  58. package/lib/openapi/serviceManagement/models/servicedesk.js +442 -0
  59. package/lib/openapi/serviceManagement/models/servicedesk.js.map +1 -0
  60. package/lib/openapi/serviceManagement/services/AssetsService.d.ts +61 -0
  61. package/lib/openapi/serviceManagement/services/AssetsService.js +113 -0
  62. package/lib/openapi/serviceManagement/services/AssetsService.js.map +1 -0
  63. package/lib/openapi/serviceManagement/services/CustomerService.d.ts +63 -0
  64. package/lib/openapi/serviceManagement/services/CustomerService.js +93 -0
  65. package/lib/openapi/serviceManagement/services/CustomerService.js.map +1 -0
  66. package/lib/openapi/serviceManagement/services/InfoService.d.ts +34 -0
  67. package/lib/openapi/serviceManagement/services/InfoService.js +71 -0
  68. package/lib/openapi/serviceManagement/services/InfoService.js.map +1 -0
  69. package/lib/openapi/serviceManagement/services/KnowledgebaseService.d.ts +81 -0
  70. package/lib/openapi/serviceManagement/services/KnowledgebaseService.js +106 -0
  71. package/lib/openapi/serviceManagement/services/KnowledgebaseService.js.map +1 -0
  72. package/lib/openapi/serviceManagement/services/OrganizationService.d.ts +589 -0
  73. package/lib/openapi/serviceManagement/services/OrganizationService.js +762 -0
  74. package/lib/openapi/serviceManagement/services/OrganizationService.js.map +1 -0
  75. package/lib/openapi/serviceManagement/services/RequestService.d.ts +2736 -0
  76. package/lib/openapi/serviceManagement/services/RequestService.js +3056 -0
  77. package/lib/openapi/serviceManagement/services/RequestService.js.map +1 -0
  78. package/lib/openapi/serviceManagement/services/RequesttypeService.d.ts +166 -0
  79. package/lib/openapi/serviceManagement/services/RequesttypeService.js +190 -0
  80. package/lib/openapi/serviceManagement/services/RequesttypeService.js.map +1 -0
  81. package/lib/openapi/serviceManagement/services/ServicedeskService.d.ts +1268 -0
  82. package/lib/openapi/serviceManagement/services/ServicedeskService.js +1510 -0
  83. package/lib/openapi/serviceManagement/services/ServicedeskService.js.map +1 -0
  84. package/lib/openapi/serviceManagement/validationSchemaStorage.d.ts +3 -0
  85. package/lib/openapi/serviceManagement/validationSchemaStorage.js +144 -0
  86. package/lib/openapi/serviceManagement/validationSchemaStorage.js.map +1 -0
  87. package/lib/openapi/software/BaseJiraSoftwareApiClient.d.ts +13 -14
  88. package/lib/openapi/software/BaseJiraSoftwareApiClient.js +454 -429
  89. package/lib/openapi/software/BaseJiraSoftwareApiClient.js.map +1 -1
  90. package/lib/openapi/software/core/CommonHttpService.d.ts +2 -0
  91. package/lib/openapi/software/core/CommonHttpService.js +9 -0
  92. package/lib/openapi/software/core/CommonHttpService.js.map +1 -1
  93. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.5.0](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/compare/v0.4.6...v0.5.0) (2024-06-20)
7
+
8
+
9
+ ### Features
10
+
11
+ * first version of Jira Service Management API ([67634ea](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/commits/67634ea9bfe37adf30a7d2b124b59f52c4f1ccda))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.4.6](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/compare/v0.4.5...v0.4.6) (2024-06-14)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * use more optimized / lightweight api client version ([8c628d3](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/commits/8c628d3c80ca6c89572eb003ae6f7cb5c634b4d5))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [0.4.5](https://bitbucket.org/resolutiongmbh/atlassian-api-clients/compare/v0.4.4...v0.4.5) (2024-06-14)
7
29
 
8
30
 
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Atlassian Jira API client based on OpenAPI schema.
4
4
 
5
+ Provides Clients for Jira Platform, Jira Software, and Jira Service Management APIs.
6
+
5
7
  Compatible with the following request/fetch Atlassian libraries:
6
8
 
7
9
  * [atlassian-connect-express](https://bitbucket.org/atlassian/atlassian-connect-express)
@@ -11,16 +13,18 @@ Compatible with the following request/fetch Atlassian libraries:
11
13
 
12
14
  ## Installation
13
15
 
16
+ Note that this package requires `zod` as a peer dependency.
17
+
14
18
  Install using npm
15
19
 
16
20
  ```bash
17
- npm add @resolution/jira-api-client
21
+ npm add @resolution/jira-api-client zod
18
22
  ```
19
23
 
20
24
  Or using yarn
21
25
 
22
26
  ```bash
23
- yarn add @resolution/jira-api-client
27
+ yarn add @resolution/jira-api-client zod
24
28
  ```
25
29
 
26
30
  ## Usage
@@ -40,6 +44,10 @@ async function test() {
40
44
  const jiraSoftwareApi = new JiraSoftware({ AP: window.AP });
41
45
  const boards = await jiraSoftwareApi.boards.getAllBoards();
42
46
  console.log('Boards:', boards);
47
+
48
+ const jiraServiceManagementApi = new JiraServiceManagementApi({ AP: window.AP });
49
+ const systemInfo = await jiraServiceManagementApi.info.getInfo();
50
+ console.log('JSM Info:', systemInfo);
43
51
  }
44
52
 
45
53
  test().catch(console.error);
@@ -66,6 +74,11 @@ app.get('/boards', async () => {
66
74
  res.status(200).send(await jiraSoftwareApi.boards.getAllBoards());
67
75
  });
68
76
 
77
+ app.get('/system-info', async () => {
78
+ const jiraServiceManagementApi = new JiraServiceManagementApi({ ace, clientKey: req.context.clientKey });
79
+ res.status(200).send(await jiraServiceManagementApi.info.getInfo());
80
+ });
81
+
69
82
  app.listen(3000);
70
83
  ```
71
84
 
@@ -85,6 +98,10 @@ async function test() {
85
98
  const jiraSoftwareApi = new JiraSoftware({ requestJira });
86
99
  const boards = await jiraSoftwareApi.boards.getAllBoards();
87
100
  console.log('Boards:', boards);
101
+
102
+ const jiraServiceManagementApi = new JiraServiceManagementApi({ requestJira });
103
+ const systemInfo = await jiraServiceManagementApi.info.getInfo();
104
+ console.log('JSM Info:', systemInfo);
88
105
  }
89
106
 
90
107
  test().catch(console.error);
@@ -103,7 +120,10 @@ export const handler = async ({ payload }) => {
103
120
  const jiraSoftwareApi = new JiraSoftware({ forgeApi });
104
121
  const boards = await jiraSoftwareApi.boards.getAllBoards();
105
122
 
106
- return { issue, boards };
123
+ const jiraServiceManagementApi = new JiraServiceManagementApi({ forgeApi });
124
+ const systemInfo = await jiraServiceManagementApi.info.getInfo();
125
+
126
+ return { issue, boards, systemInfo };
107
127
  };
108
128
  ```
109
129
 
@@ -122,10 +142,73 @@ export const handler = async ({ payload }) => {
122
142
  const jiraSoftwareApi = new JiraSoftware({ fetch, baseUrl });
123
143
  const boards = await jiraSoftwareApi.boards.getAllBoards();
124
144
 
125
- return { issue, boards };
145
+ const jiraServiceManagementApi = new JiraServiceManagementApi({ fetch, baseUrl });
146
+ const systemInfo = await jiraServiceManagementApi.info.getInfo();
147
+
148
+ return { issue, boards, systemInfo };
149
+ };
150
+ ```
151
+
152
+ ### Impersonalization
153
+
154
+ When using API on the server side, you can impersonalize the API client.
155
+ This is useful when you need to access API resources on behalf of a different user or app.
156
+
157
+ ### `atlassian-connect-express`
158
+
159
+ By default, `atlassian-connect-express` makes requests on behalf of the app.
160
+ To impersonalize the API client, you need to provide the `userAccountId` to the API client:
161
+
162
+ ```typescript
163
+ // ...
164
+ app.get('/sprint-issues/:sprintId', async () => {
165
+ const jiraSoftwareApi = new JiraSoftwareApi({
166
+ ace,
167
+ clientKey: req.context.clientKey,
168
+ userAccountId: req.context.userAccountId
169
+ });
170
+ res.status(200).send(await jiraSoftwareApi.sprint.getIssuesForSprint({
171
+ sprintId: 1
172
+ }));
173
+ });
174
+ // ...
175
+ ```
176
+
177
+ This can also be achieved by calling `asUser` method on the API client:
178
+
179
+ ```typescript
180
+ const jiraSoftwareApi = new JiraSoftwareApi({
181
+ ace,
182
+ clientKey: req.context.clientKey
183
+ });
184
+ const issues = await jiraSoftwareApi.sprint.getIssuesForSprint({
185
+ sprintId: 1
186
+ });
187
+ ```
188
+
189
+ ### `@forge/api`
190
+
191
+ By default, `@forge/api` makes requests on behalf of the current user.
192
+ To perform requests on behalf of the app, you need to provide the `asApp` to the API client:
193
+
194
+ ```typescript
195
+ // ...
196
+ export const handler = async ({ payload }) => {
197
+ const jiraSoftwareApi = new JiraSoftwareApi({
198
+ forgeApi,
199
+ asApp: true
200
+ });
201
+ return await jiraSoftwareApi.sprint.getIssuesForSprint({ sprintId: 1 });
126
202
  };
127
203
  ```
128
204
 
205
+ This can also be achieved by calling `asApp` method on the API client:
206
+
207
+ ```typescript
208
+ const jiraSoftwareApi = new JiraSoftwareApi({ forgeApi });
209
+ const issues = await jiraSoftwareApi.sprint.getIssuesForSprint({ sprintId: 1 });
210
+ ```
211
+
129
212
  ## References
130
213
 
131
214
  * [Jira Platform API](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/)
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { type ApiClientAceOptions, type ApiClientApOptions, type ApiClientForgeApiExternalOptions, type ApiClientForgeApiOptions, ApiError, type JiraApiClientForgeBridgeOptions } from "@resolution/atlassian-api-common";
2
2
  import { BaseJiraPlatformApiClient } from "./openapi/platform/BaseJiraPlatformApiClient";
3
+ import { BaseJiraServiceManagementApiClient } from "./openapi/serviceManagement/BaseJiraServiceManagementApiClient";
3
4
  import { BaseJiraSoftwareApiClient } from "./openapi/software/BaseJiraSoftwareApiClient";
4
5
  export * from "./openapi/platform/BaseJiraPlatformApiClient";
5
6
  export * from "./openapi/software/BaseJiraSoftwareApiClient";
@@ -34,3 +35,15 @@ export declare class JiraSoftwareApi extends BaseJiraSoftwareApiClient {
34
35
  */
35
36
  asUser: (userAccountId: string) => JiraSoftwareApi;
36
37
  }
38
+ export declare class JiraServiceManagementApi extends BaseJiraServiceManagementApiClient {
39
+ protected options: ApiClientForgeApiOptions | ApiClientForgeApiExternalOptions | JiraApiClientForgeBridgeOptions | ApiClientAceOptions | ApiClientApOptions;
40
+ constructor(options: ApiClientForgeApiOptions | ApiClientForgeApiExternalOptions | JiraApiClientForgeBridgeOptions | ApiClientAceOptions | ApiClientApOptions);
41
+ /**
42
+ * Switches the API client to the app context.
43
+ */
44
+ asApp: () => JiraServiceManagementApi;
45
+ /**
46
+ * Switches the API client to the user context.
47
+ */
48
+ asUser: (userAccountId: string) => JiraServiceManagementApi;
49
+ }
package/lib/index.js CHANGED
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.JiraSoftwareApi = exports.JiraPlatformApi = exports.ApiError = void 0;
17
+ exports.JiraServiceManagementApi = exports.JiraSoftwareApi = exports.JiraPlatformApi = exports.ApiError = void 0;
18
18
  const atlassian_api_common_1 = require("@resolution/atlassian-api-common");
19
19
  Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return atlassian_api_common_1.ApiError; } });
20
20
  const BaseJiraPlatformApiClient_1 = require("./openapi/platform/BaseJiraPlatformApiClient");
21
+ const BaseJiraServiceManagementApiClient_1 = require("./openapi/serviceManagement/BaseJiraServiceManagementApiClient");
21
22
  const BaseJiraSoftwareApiClient_1 = require("./openapi/software/BaseJiraSoftwareApiClient");
22
23
  __exportStar(require("./openapi/platform/BaseJiraPlatformApiClient"), exports);
23
24
  __exportStar(require("./openapi/software/BaseJiraSoftwareApiClient"), exports);
@@ -61,4 +62,19 @@ class JiraSoftwareApi extends BaseJiraSoftwareApiClient_1.BaseJiraSoftwareApiCli
61
62
  }
62
63
  }
63
64
  exports.JiraSoftwareApi = JiraSoftwareApi;
65
+ class JiraServiceManagementApi extends BaseJiraServiceManagementApiClient_1.BaseJiraServiceManagementApiClient {
66
+ constructor(options) {
67
+ super((0, atlassian_api_common_1.getApiClientOptions)(options));
68
+ this.options = options;
69
+ /**
70
+ * Switches the API client to the app context.
71
+ */
72
+ this.asApp = (0, atlassian_api_common_1.createAsAppMethod)();
73
+ /**
74
+ * Switches the API client to the user context.
75
+ */
76
+ this.asUser = (0, atlassian_api_common_1.createAsUserMethod)();
77
+ }
78
+ }
79
+ exports.JiraServiceManagementApi = JiraServiceManagementApi;
64
80
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2EAU0C;AAQjC,yFAbP,+BAAQ,OAaO;AANjB,4FAAyF;AACzF,4FAAyF;AAEzF,+EAA6D;AAC7D,+EAA6D;AAI7D,wFAAwH;AACxH,wFAAwH;AAExH,iDAA+B,CAAC,aAAa,CAAC,+BAAQ,CAAC,CAAC;AACxD,iDAA+B,CAAC,aAAa,CAAC,+BAAQ,CAAC,CAAC;AAExD;;GAEG;AACH,MAAa,eAAgB,SAAQ,qDAAyB;IAC5D,YACY,OAKY;QAEtB,KAAK,CAAC,IAAA,0CAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QAP1B,YAAO,GAAP,OAAO,CAKK;QAKxB;;WAEG;QACH,UAAK,GAAG,IAAA,wCAAiB,GAA0B,CAAC;QACpD;;WAEG;QACH,WAAM,GAAG,IAAA,yCAAkB,GAA0B,CAAC;IATtD,CAAC;CAUF;AApBD,0CAoBC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,qDAAyB;IAC5D,YACY,OAKY;QAEtB,KAAK,CAAC,IAAA,0CAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QAP1B,YAAO,GAAP,OAAO,CAKK;QAIxB;;WAEG;QACH,UAAK,GAAG,IAAA,wCAAiB,GAA0B,CAAC;QACpD;;WAEG;QACH,WAAM,GAAG,IAAA,yCAAkB,GAA0B,CAAC;IARtD,CAAC;CASF;AAnBD,0CAmBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2EAU0C;AASjC,yFAdP,+BAAQ,OAcO;AAPjB,4FAAyF;AACzF,uHAAoH;AACpH,4FAAyF;AAEzF,+EAA6D;AAC7D,+EAA6D;AAI7D,wFAAwH;AACxH,wFAAwH;AAExH,iDAA+B,CAAC,aAAa,CAAC,+BAAQ,CAAC,CAAC;AACxD,iDAA+B,CAAC,aAAa,CAAC,+BAAQ,CAAC,CAAC;AAExD;;GAEG;AACH,MAAa,eAAgB,SAAQ,qDAAyB;IAC5D,YACY,OAKY;QAEtB,KAAK,CAAC,IAAA,0CAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QAP1B,YAAO,GAAP,OAAO,CAKK;QAKxB;;WAEG;QACH,UAAK,GAAG,IAAA,wCAAiB,GAA0B,CAAC;QACpD;;WAEG;QACH,WAAM,GAAG,IAAA,yCAAkB,GAA0B,CAAC;IATtD,CAAC;CAUF;AApBD,0CAoBC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,qDAAyB;IAC5D,YACY,OAKY;QAEtB,KAAK,CAAC,IAAA,0CAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QAP1B,YAAO,GAAP,OAAO,CAKK;QAIxB;;WAEG;QACH,UAAK,GAAG,IAAA,wCAAiB,GAA0B,CAAC;QACpD;;WAEG;QACH,WAAM,GAAG,IAAA,yCAAkB,GAA0B,CAAC;IARtD,CAAC;CASF;AAnBD,0CAmBC;AAED,MAAa,wBAAyB,SAAQ,uEAAkC;IAC9E,YACY,OAKY;QAEtB,KAAK,CAAC,IAAA,0CAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QAP1B,YAAO,GAAP,OAAO,CAKK;QAIxB;;WAEG;QACH,UAAK,GAAG,IAAA,wCAAiB,GAAmC,CAAC;QAC7D;;WAEG;QACH,WAAM,GAAG,IAAA,yCAAkB,GAAmC,CAAC;IAR/D,CAAC;CASF;AAnBD,4DAmBC"}