@resolution/jira-api-client 0.1.0 → 0.1.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.
Files changed (201) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +10 -3
  3. package/.eslintrc.js +0 -3
  4. package/config/api-typescript-generator.config.ts +0 -91
  5. package/config/compare-schemas.ts +0 -307
  6. package/src/index.ts +0 -47
  7. package/src/openapi/platform/base-jira-platform-api-client.ts +0 -2298
  8. package/src/openapi/platform/core/common-http-client.ts +0 -723
  9. package/src/openapi/platform/core/common-http-service.ts +0 -22
  10. package/src/openapi/platform/core/common-validation-schema-storage.ts +0 -105
  11. package/src/openapi/platform/models/announcement-banner.ts +0 -59
  12. package/src/openapi/platform/models/app-data-policies.ts +0 -79
  13. package/src/openapi/platform/models/app-migration.ts +0 -172
  14. package/src/openapi/platform/models/app-properties.ts +0 -32
  15. package/src/openapi/platform/models/audit-records.ts +0 -140
  16. package/src/openapi/platform/models/avatars.ts +0 -48
  17. package/src/openapi/platform/models/classification-levels.ts +0 -58
  18. package/src/openapi/platform/models/common.ts +0 -2669
  19. package/src/openapi/platform/models/dashboards.ts +0 -849
  20. package/src/openapi/platform/models/dynamic-modules.ts +0 -121
  21. package/src/openapi/platform/models/filter-sharing.ts +0 -103
  22. package/src/openapi/platform/models/filters.ts +0 -319
  23. package/src/openapi/platform/models/group-and-user-picker.ts +0 -85
  24. package/src/openapi/platform/models/groups.ts +0 -247
  25. package/src/openapi/platform/models/issue-attachments.ts +0 -290
  26. package/src/openapi/platform/models/issue-comment-properties.ts +0 -27
  27. package/src/openapi/platform/models/issue-comments.ts +0 -91
  28. package/src/openapi/platform/models/issue-custom-field-configuration-apps.ts +0 -96
  29. package/src/openapi/platform/models/issue-custom-field-contexts.ts +0 -1072
  30. package/src/openapi/platform/models/issue-custom-field-options-apps.ts +0 -273
  31. package/src/openapi/platform/models/issue-custom-field-options.ts +0 -283
  32. package/src/openapi/platform/models/issue-custom-field-values-apps.ts +0 -118
  33. package/src/openapi/platform/models/issue-field-configurations.ts +0 -435
  34. package/src/openapi/platform/models/issue-fields.ts +0 -392
  35. package/src/openapi/platform/models/issue-link-types.ts +0 -28
  36. package/src/openapi/platform/models/issue-links.ts +0 -185
  37. package/src/openapi/platform/models/issue-notification-schemes.ts +0 -370
  38. package/src/openapi/platform/models/issue-priorities.ts +0 -196
  39. package/src/openapi/platform/models/issue-properties.ts +0 -259
  40. package/src/openapi/platform/models/issue-remote-links.ts +0 -207
  41. package/src/openapi/platform/models/issue-resolutions.ts +0 -180
  42. package/src/openapi/platform/models/issue-search.ts +0 -367
  43. package/src/openapi/platform/models/issue-security-level.ts +0 -76
  44. package/src/openapi/platform/models/issue-security-schemes.ts +0 -496
  45. package/src/openapi/platform/models/issue-type-schemes.ts +0 -290
  46. package/src/openapi/platform/models/issue-type-screen-schemes.ts +0 -286
  47. package/src/openapi/platform/models/issue-types.ts +0 -66
  48. package/src/openapi/platform/models/issue-votes.ts +0 -38
  49. package/src/openapi/platform/models/issue-watchers.ts +0 -67
  50. package/src/openapi/platform/models/issue-worklogs.ts +0 -190
  51. package/src/openapi/platform/models/issues.ts +0 -1268
  52. package/src/openapi/platform/models/jira-expressions.ts +0 -578
  53. package/src/openapi/platform/models/jira-settings.ts +0 -118
  54. package/src/openapi/platform/models/jql-functions-apps.ts +0 -128
  55. package/src/openapi/platform/models/jql.ts +0 -783
  56. package/src/openapi/platform/models/labels.ts +0 -42
  57. package/src/openapi/platform/models/license-metrics.ts +0 -68
  58. package/src/openapi/platform/models/myself.ts +0 -29
  59. package/src/openapi/platform/models/permission-schemes.ts +0 -89
  60. package/src/openapi/platform/models/permissions.ts +0 -308
  61. package/src/openapi/platform/models/priority-schemes.ts +0 -527
  62. package/src/openapi/platform/models/project-avatars.ts +0 -29
  63. package/src/openapi/platform/models/project-classification-levels.ts +0 -24
  64. package/src/openapi/platform/models/project-components.ts +0 -231
  65. package/src/openapi/platform/models/project-email.ts +0 -27
  66. package/src/openapi/platform/models/project-features.ts +0 -78
  67. package/src/openapi/platform/models/project-permission-schemes.ts +0 -43
  68. package/src/openapi/platform/models/project-role-actors.ts +0 -107
  69. package/src/openapi/platform/models/project-roles.ts +0 -76
  70. package/src/openapi/platform/models/project-types.ts +0 -36
  71. package/src/openapi/platform/models/project-versions.ts +0 -216
  72. package/src/openapi/platform/models/projects.ts +0 -429
  73. package/src/openapi/platform/models/screen-schemes.ts +0 -192
  74. package/src/openapi/platform/models/screen-tab-fields.ts +0 -45
  75. package/src/openapi/platform/models/screens.ts +0 -171
  76. package/src/openapi/platform/models/server-info.ts +0 -100
  77. package/src/openapi/platform/models/service-registry.ts +0 -68
  78. package/src/openapi/platform/models/status.ts +0 -229
  79. package/src/openapi/platform/models/time-tracking.ts +0 -38
  80. package/src/openapi/platform/models/ui-modifications-apps.ts +0 -229
  81. package/src/openapi/platform/models/user-search.ts +0 -69
  82. package/src/openapi/platform/models/users.ts +0 -121
  83. package/src/openapi/platform/models/webhooks.ts +0 -307
  84. package/src/openapi/platform/models/workflow-scheme-drafts.ts +0 -58
  85. package/src/openapi/platform/models/workflow-scheme-project-associations.ts +0 -68
  86. package/src/openapi/platform/models/workflow-schemes.ts +0 -545
  87. package/src/openapi/platform/models/workflow-transition-properties.ts +0 -33
  88. package/src/openapi/platform/models/workflow-transition-rules.ts +0 -261
  89. package/src/openapi/platform/models/workflows.ts +0 -1943
  90. package/src/openapi/platform/services/announcement-banner-service.ts +0 -142
  91. package/src/openapi/platform/services/app-data-policies-service.ts +0 -136
  92. package/src/openapi/platform/services/app-migration-service.ts +0 -289
  93. package/src/openapi/platform/services/app-properties-service.ts +0 -441
  94. package/src/openapi/platform/services/application-roles-service.ts +0 -247
  95. package/src/openapi/platform/services/audit-records-service.ts +0 -164
  96. package/src/openapi/platform/services/avatars-service.ts +0 -769
  97. package/src/openapi/platform/services/classification-levels-service.ts +0 -131
  98. package/src/openapi/platform/services/dashboards-service.ts +0 -1721
  99. package/src/openapi/platform/services/dynamic-modules-service.ts +0 -127
  100. package/src/openapi/platform/services/filter-sharing-service.ts +0 -687
  101. package/src/openapi/platform/services/filters-service.ts +0 -1901
  102. package/src/openapi/platform/services/group-and-user-picker-service.ts +0 -224
  103. package/src/openapi/platform/services/groups-service.ts +0 -751
  104. package/src/openapi/platform/services/issue-attachments-service.ts +0 -900
  105. package/src/openapi/platform/services/issue-comment-properties-service.ts +0 -324
  106. package/src/openapi/platform/services/issue-comments-service.ts +0 -812
  107. package/src/openapi/platform/services/issue-custom-field-configuration-apps-service.ts +0 -277
  108. package/src/openapi/platform/services/issue-custom-field-contexts-service.ts +0 -1339
  109. package/src/openapi/platform/services/issue-custom-field-options-apps-service.ts +0 -994
  110. package/src/openapi/platform/services/issue-custom-field-options-service.ts +0 -651
  111. package/src/openapi/platform/services/issue-custom-field-values-apps-service.ts +0 -201
  112. package/src/openapi/platform/services/issue-field-configurations-service.ts +0 -1294
  113. package/src/openapi/platform/services/issue-fields-service.ts +0 -837
  114. package/src/openapi/platform/services/issue-link-types-service.ts +0 -360
  115. package/src/openapi/platform/services/issue-links-service.ts +0 -345
  116. package/src/openapi/platform/services/issue-navigator-settings-service.ts +0 -119
  117. package/src/openapi/platform/services/issue-notification-schemes-service.ts +0 -1209
  118. package/src/openapi/platform/services/issue-priorities-service.ts +0 -575
  119. package/src/openapi/platform/services/issue-properties-service.ts +0 -606
  120. package/src/openapi/platform/services/issue-remote-links-service.ts +0 -597
  121. package/src/openapi/platform/services/issue-resolutions-service.ts +0 -534
  122. package/src/openapi/platform/services/issue-search-service.ts +0 -1139
  123. package/src/openapi/platform/services/issue-security-level-service.ts +0 -250
  124. package/src/openapi/platform/services/issue-security-schemes-service.ts +0 -1240
  125. package/src/openapi/platform/services/issue-type-properties-service.ts +0 -325
  126. package/src/openapi/platform/services/issue-type-schemes-service.ts +0 -940
  127. package/src/openapi/platform/services/issue-type-screen-schemes-service.ts +0 -994
  128. package/src/openapi/platform/services/issue-types-service.ts +0 -679
  129. package/src/openapi/platform/services/issue-votes-service.ts +0 -221
  130. package/src/openapi/platform/services/issue-watchers-service.ts +0 -331
  131. package/src/openapi/platform/services/issue-worklog-properties-service.ts +0 -348
  132. package/src/openapi/platform/services/issue-worklogs-service.ts +0 -1089
  133. package/src/openapi/platform/services/issues-service.ts +0 -3346
  134. package/src/openapi/platform/services/jira-expressions-service.ts +0 -407
  135. package/src/openapi/platform/services/jira-settings-service.ts +0 -415
  136. package/src/openapi/platform/services/jql-functions-apps-service.ts +0 -219
  137. package/src/openapi/platform/services/jql-service.ts +0 -896
  138. package/src/openapi/platform/services/labels-service.ts +0 -89
  139. package/src/openapi/platform/services/license-metrics-service.ts +0 -216
  140. package/src/openapi/platform/services/myself-service.ts +0 -520
  141. package/src/openapi/platform/services/permission-schemes-service.ts +0 -926
  142. package/src/openapi/platform/services/permissions-service.ts +0 -407
  143. package/src/openapi/platform/services/priority-schemes-service.ts +0 -1001
  144. package/src/openapi/platform/services/project-avatars-service.ts +0 -341
  145. package/src/openapi/platform/services/project-categories-service.ts +0 -318
  146. package/src/openapi/platform/services/project-classification-levels-service.ts +0 -232
  147. package/src/openapi/platform/services/project-components-service.ts +0 -1332
  148. package/src/openapi/platform/services/project-email-service.ts +0 -161
  149. package/src/openapi/platform/services/project-features-service.ts +0 -207
  150. package/src/openapi/platform/services/project-key-and-name-validation-service.ts +0 -200
  151. package/src/openapi/platform/services/project-permission-schemes-service.ts +0 -384
  152. package/src/openapi/platform/services/project-properties-service.ts +0 -320
  153. package/src/openapi/platform/services/project-role-actors-service.ts +0 -627
  154. package/src/openapi/platform/services/project-roles-service.ts +0 -867
  155. package/src/openapi/platform/services/project-types-service.ts +0 -297
  156. package/src/openapi/platform/services/project-versions-service.ts +0 -1287
  157. package/src/openapi/platform/services/projects-service.ts +0 -2196
  158. package/src/openapi/platform/services/screen-schemes-service.ts +0 -334
  159. package/src/openapi/platform/services/screen-tab-fields-service.ts +0 -276
  160. package/src/openapi/platform/services/screen-tabs-service.ts +0 -421
  161. package/src/openapi/platform/services/screens-service.ts +0 -528
  162. package/src/openapi/platform/services/server-info-service.ts +0 -88
  163. package/src/openapi/platform/services/service-registry-service.ts +0 -89
  164. package/src/openapi/platform/services/status-service.ts +0 -498
  165. package/src/openapi/platform/services/tasks-service.ts +0 -159
  166. package/src/openapi/platform/services/time-tracking-service.ts +0 -386
  167. package/src/openapi/platform/services/ui-modifications-apps-service.ts +0 -403
  168. package/src/openapi/platform/services/user-properties-service.ts +0 -413
  169. package/src/openapi/platform/services/user-search-service.ts +0 -1214
  170. package/src/openapi/platform/services/users-service.ts +0 -1108
  171. package/src/openapi/platform/services/webhooks-service.ts +0 -458
  172. package/src/openapi/platform/services/workflow-scheme-drafts-service.ts +0 -1313
  173. package/src/openapi/platform/services/workflow-scheme-project-associations-service.ts +0 -189
  174. package/src/openapi/platform/services/workflow-schemes-service.ts +0 -1617
  175. package/src/openapi/platform/services/workflow-status-categories-service.ts +0 -151
  176. package/src/openapi/platform/services/workflow-statuses-service.ts +0 -176
  177. package/src/openapi/platform/services/workflow-transition-properties-service.ts +0 -388
  178. package/src/openapi/platform/services/workflow-transition-rules-service.ts +0 -485
  179. package/src/openapi/platform/services/workflows-service.ts +0 -3477
  180. package/src/openapi/platform/validation-schema-storage.ts +0 -186
  181. package/src/openapi/software/base-jira-software-api-client.ts +0 -447
  182. package/src/openapi/software/core/common-http-client.ts +0 -723
  183. package/src/openapi/software/core/common-http-service.ts +0 -22
  184. package/src/openapi/software/core/common-validation-schema-storage.ts +0 -105
  185. package/src/openapi/software/models/board.ts +0 -918
  186. package/src/openapi/software/services/backlog-service.ts +0 -160
  187. package/src/openapi/software/services/board-service.ts +0 -4189
  188. package/src/openapi/software/services/builds-service.ts +0 -571
  189. package/src/openapi/software/services/deployments-service.ts +0 -403
  190. package/src/openapi/software/services/dev-ops-components-service.ts +0 -371
  191. package/src/openapi/software/services/development-information-service.ts +0 -2357
  192. package/src/openapi/software/services/epic-service.ts +0 -854
  193. package/src/openapi/software/services/feature-flags-service.ts +0 -303
  194. package/src/openapi/software/services/issue-service.ts +0 -529
  195. package/src/openapi/software/services/operations-service.ts +0 -741
  196. package/src/openapi/software/services/remote-links-service.ts +0 -653
  197. package/src/openapi/software/services/security-information-service.ts +0 -495
  198. package/src/openapi/software/services/sprint-service.ts +0 -969
  199. package/src/openapi/software/validation-schema-storage.ts +0 -186
  200. package/tsconfig.build.json +0 -7
  201. package/tsconfig.json +0 -4
@@ -1,867 +0,0 @@
1
- // DO NOT EDIT!
2
- // This file is generated by "api-typescript-generator".
3
- // To update this file run "yarn build:openapi".
4
- import { z } from "zod";
5
-
6
- import * as commonHttpClient from "../core/common-http-client";
7
- import { CommonHttpService } from "../core/common-http-service";
8
- import {
9
- type ProjectRole,
10
- registerCommonValidationSchemas,
11
- } from "../models/common";
12
- import {
13
- type CreateUpdateRoleRequestBean,
14
- type ProjectRoleDetails,
15
- registerProjectRolesValidationSchemas,
16
- } from "../models/project-roles";
17
- import { validationSchemaStorage } from "../validation-schema-storage";
18
- /**
19
- * This resource represents the roles that users can play in projects. Use this
20
- * resource to get, create, update, and delete project roles.
21
- */
22
- export class ProjectRolesService extends CommonHttpService {
23
- /**
24
- * Creates a new project role with no [default
25
- * actors](#api-rest-api-3-resolution-get). You can use the [Add default actors to
26
- * project role](#api-rest-api-3-role-id-actors-post) operation to add default
27
- * actors to the project role after creating it.
28
- *
29
- * *Note that although a new project role is available to all projects upon
30
- * creation, any default actors that are associated with the project role are not
31
- * added to projects that existed prior to the role being created.*<
32
- *
33
- * **[Permissions](#permissions) required:** *Administer Jira* [global
34
- * permission](https://confluence.atlassian.com/x/x4dKLg).
35
- *
36
- * @returns Returned if the request is successful.
37
- *
38
- * example: {
39
- * "description": "A project role that represents developers in a project",
40
- * "id": 10360,
41
- * "name": "Developers",
42
- * "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360"
43
- * }
44
- * @path {POST} /rest/api/3/role
45
- * @scopes-current manage:jira-configuration
46
- * @scopes-beta read:user:jira, read:group:jira, read:project:jira, write:project-role:jira,
47
- * read:avatar:jira, read:project-category:jira, read:project-role:jira
48
- */
49
- createProjectRole({
50
- createUpdateRoleRequestBean,
51
- }: {
52
- /**
53
- * @example {
54
- * "description": "A project role that represents developers in a project",
55
- * "name": "Developers"
56
- * }
57
- */
58
- createUpdateRoleRequestBean: CreateUpdateRoleRequestBean;
59
- }): Promise<ProjectRole> {
60
- return this.getClientInstance()
61
- .request({
62
- path: "/rest/api/3/role",
63
- method: "POST",
64
- headers: {
65
- "Content-Type": "application/json",
66
- },
67
- body: createUpdateRoleRequestBean,
68
- })
69
- .then(
70
- this.getClientInstance().responseHandler({
71
- 200: {
72
- "application/json": "json",
73
- },
74
- }),
75
- )
76
- .then(
77
- commonHttpClient.castResponse<{
78
- status: 200;
79
- mediaType: "application/json";
80
- body: ProjectRole;
81
- }>(),
82
- )
83
- .then(
84
- validationSchemaStorage.validator(
85
- "ProjectRolesService.createProjectRole.response",
86
- ),
87
- )
88
- .then(commonHttpClient.getBody);
89
- }
90
- /**
91
- * Deletes a project role. You must specify a replacement project role if you wish
92
- * to delete a project role that is in use.
93
- *
94
- * **[Permissions](#permissions) required:** *Administer Jira* [global
95
- * permission](https://confluence.atlassian.com/x/x4dKLg).
96
- *
97
- * @path {DELETE} /rest/api/3/role/{id}
98
- * @scopes-current manage:jira-configuration
99
- * @scopes-beta delete:project-role:jira
100
- */
101
- deleteProjectRole({
102
- id,
103
- swap,
104
- }: {
105
- /**
106
- * The ID of the project role to delete. Use [Get all project
107
- * roles](#api-rest-api-3-role-get) to get a list of project role IDs.
108
- */
109
- id: number;
110
- /** The ID of the project role that will replace the one being deleted. */
111
- swap?: number;
112
- }): Promise<void> {
113
- return this.getClientInstance()
114
- .request({
115
- path: "/rest/api/3/role/{id}",
116
- method: "DELETE",
117
- pathParams: {
118
- id,
119
- },
120
- query: {
121
- swap,
122
- },
123
- })
124
- .then(commonHttpClient.discardResult);
125
- }
126
- /**
127
- * Updates the project role's name and description. You must include both a name
128
- * and a description in the request.
129
- *
130
- * **[Permissions](#permissions) required:** *Administer Jira* [global
131
- * permission](https://confluence.atlassian.com/x/x4dKLg).
132
- *
133
- * @returns Returned if the request is successful.
134
- *
135
- * example: {
136
- * "actors": [
137
- * {
138
- * "actorGroup": {
139
- * "displayName": "jira-developers",
140
- * "groupId": "952d12c3-5b5b-4d04-bb32-44d383afc4b2",
141
- * "name": "jira-developers"
142
- * },
143
- * "displayName": "jira-developers",
144
- * "id": 10240,
145
- * "name": "jira-developers",
146
- * "type": "atlassian-group-role-actor",
147
- * "user": "jira-developers"
148
- * },
149
- * {
150
- * "actorUser": {
151
- * "accountId": "5b10a2844c20165700ede21g"
152
- * },
153
- * "displayName": "Mia Krystof",
154
- * "id": 10241,
155
- * "type": "atlassian-user-role-actor"
156
- * }
157
- * ],
158
- * "description": "A project role that represents developers in a project",
159
- * "id": 10360,
160
- * "name": "Developers",
161
- * "scope": {
162
- * "project": {
163
- * "id": "10000",
164
- * "key": "KEY",
165
- * "name": "Next Gen Project"
166
- * },
167
- * "type": "PROJECT"
168
- * },
169
- * "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360"
170
- * }
171
- * @path {PUT} /rest/api/3/role/{id}
172
- * @scopes-current manage:jira-configuration
173
- * @scopes-beta read:user:jira, read:group:jira, read:project:jira, write:project-role:jira,
174
- * read:avatar:jira, read:project-category:jira, read:project-role:jira
175
- */
176
- fullyUpdateProjectRole({
177
- id,
178
- createUpdateRoleRequestBean,
179
- }: {
180
- /**
181
- * The ID of the project role. Use [Get all project
182
- * roles](#api-rest-api-3-role-get) to get a list of project role IDs.
183
- */
184
- id: number;
185
- /**
186
- * @example {
187
- * "description": "A project role that represents developers in a project",
188
- * "name": "Developers"
189
- * }
190
- */
191
- createUpdateRoleRequestBean: CreateUpdateRoleRequestBean;
192
- }): Promise<ProjectRole> {
193
- return this.getClientInstance()
194
- .request({
195
- path: "/rest/api/3/role/{id}",
196
- method: "PUT",
197
- pathParams: {
198
- id,
199
- },
200
- headers: {
201
- "Content-Type": "application/json",
202
- },
203
- body: createUpdateRoleRequestBean,
204
- })
205
- .then(
206
- this.getClientInstance().responseHandler({
207
- 200: {
208
- "application/json": "json",
209
- },
210
- }),
211
- )
212
- .then(
213
- commonHttpClient.castResponse<{
214
- status: 200;
215
- mediaType: "application/json";
216
- body: ProjectRole;
217
- }>(),
218
- )
219
- .then(
220
- validationSchemaStorage.validator(
221
- "ProjectRolesService.fullyUpdateProjectRole.response",
222
- ),
223
- )
224
- .then(commonHttpClient.getBody);
225
- }
226
- /**
227
- * Gets a list of all project roles, complete with project role details and
228
- * default actors.
229
- *
230
- * ### About project roles ###
231
- *
232
- * [Project
233
- * roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/)
234
- * are a flexible way to to associate users and groups with projects. In Jira
235
- * Cloud, the list of project roles is shared globally with all projects, but each
236
- * project can have a different set of actors associated with it (unlike groups,
237
- * which have the same membership throughout all Jira applications).
238
- *
239
- * Project roles are used in [permission
240
- * schemes](#api-rest-api-3-permissionscheme-get), [email notification
241
- * schemes](#api-rest-api-3-notificationscheme-get), [issue security
242
- * levels](#api-rest-api-3-issuesecurityschemes-get), [comment
243
- * visibility](#api-rest-api-3-comment-list-post), and workflow conditions.
244
- *
245
- * #### Members and actors ####
246
- *
247
- * In the Jira REST API, a member of a project role is called an *actor*. An
248
- * *actor* is a group or user associated with a project role.
249
- *
250
- * Actors may be set as [default
251
- * members](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/#Specifying-'default-members'-for-a-project-role)
252
- * of the project role or set at the project level:
253
- *
254
- * * Default actors: Users and groups that are assigned to the project role for
255
- * all newly created projects. The default actors can be removed at the project
256
- * level later if desired.
257
- * * Actors: Users and groups that are associated with a project role for a
258
- * project, which may differ from the default actors. This enables you to assign a
259
- * user to different roles in different projects.
260
- *
261
- * **[Permissions](#permissions) required:** *Administer Jira* [global
262
- * permission](https://confluence.atlassian.com/x/x4dKLg).
263
- *
264
- * @returns Returned if the request is successful.
265
- *
266
- * example: [
267
- * {
268
- * "actors": [
269
- * {
270
- * "actorGroup": {
271
- * "displayName": "jira-developers",
272
- * "groupId": "952d12c3-5b5b-4d04-bb32-44d383afc4b2",
273
- * "name": "jira-developers"
274
- * },
275
- * "displayName": "jira-developers",
276
- * "id": 10240,
277
- * "name": "jira-developers",
278
- * "type": "atlassian-group-role-actor",
279
- * "user": "jira-developers"
280
- * },
281
- * {
282
- * "actorUser": {
283
- * "accountId": "5b10a2844c20165700ede21g"
284
- * },
285
- * "displayName": "Mia Krystof",
286
- * "id": 10241,
287
- * "type": "atlassian-user-role-actor"
288
- * }
289
- * ],
290
- * "description": "A project role that represents developers in a project",
291
- * "id": 10360,
292
- * "name": "Developers",
293
- * "scope": {
294
- * "project": {
295
- * "id": "10000",
296
- * "key": "KEY",
297
- * "name": "Next Gen Project"
298
- * },
299
- * "type": "PROJECT"
300
- * },
301
- * "self":
302
- * "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360"
303
- * }
304
- * ]
305
- * @path {GET} /rest/api/3/role
306
- * @scopes-current manage:jira-configuration
307
- * @scopes-beta read:user:jira, read:group:jira, read:project-role:jira, read:project:jira,
308
- * read:avatar:jira, read:project-category:jira
309
- */
310
- getAllProjectRoles(): Promise<ProjectRole[]> {
311
- return this.getClientInstance()
312
- .request({
313
- path: "/rest/api/3/role",
314
- method: "GET",
315
- })
316
- .then(
317
- this.getClientInstance().responseHandler({
318
- 200: {
319
- "application/json": "json",
320
- },
321
- }),
322
- )
323
- .then(
324
- commonHttpClient.castResponse<{
325
- status: 200;
326
- mediaType: "application/json";
327
- body: ProjectRole[];
328
- }>(),
329
- )
330
- .then(
331
- validationSchemaStorage.validator(
332
- "ProjectRolesService.getAllProjectRoles.response",
333
- ),
334
- )
335
- .then(commonHttpClient.getBody);
336
- }
337
- /**
338
- * Returns a project role's details and actors associated with the project. The
339
- * list of actors is sorted by display name.
340
- *
341
- * To check whether a user belongs to a role based on their group memberships, use
342
- * [Get user](#api-rest-api-3-user-get) with the `groups` expand parameter
343
- * selected. Then check whether the user keys and groups match with the actors
344
- * returned for the project.
345
- *
346
- * This operation can be accessed anonymously.
347
- *
348
- * **[Permissions](#permissions) required:** *Administer Projects* [project
349
- * permission](https://confluence.atlassian.com/x/yodKLg) for the project or
350
- * *Administer Jira* [global
351
- * permission](https://confluence.atlassian.com/x/x4dKLg).
352
- *
353
- * @returns Returned if the request is successful.
354
- *
355
- * example: {
356
- * "actors": [
357
- * {
358
- * "actorGroup": {
359
- * "displayName": "jira-developers",
360
- * "groupId": "952d12c3-5b5b-4d04-bb32-44d383afc4b2",
361
- * "name": "jira-developers"
362
- * },
363
- * "displayName": "jira-developers",
364
- * "id": 10240,
365
- * "name": "jira-developers",
366
- * "type": "atlassian-group-role-actor",
367
- * "user": "jira-developers"
368
- * },
369
- * {
370
- * "actorUser": {
371
- * "accountId": "5b10a2844c20165700ede21g"
372
- * },
373
- * "displayName": "Mia Krystof",
374
- * "id": 10241,
375
- * "type": "atlassian-user-role-actor"
376
- * }
377
- * ],
378
- * "description": "A project role that represents developers in a project",
379
- * "id": 10360,
380
- * "name": "Developers",
381
- * "scope": {
382
- * "project": {
383
- * "id": "10000",
384
- * "key": "KEY",
385
- * "name": "Next Gen Project"
386
- * },
387
- * "type": "PROJECT"
388
- * },
389
- * "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360"
390
- * }
391
- * @path {GET} /rest/api/3/project/{projectIdOrKey}/role/{id}
392
- * @scopes-current read:jira-work
393
- * @scopes-beta read:user:jira, read:group:jira, read:project-role:jira, read:project:jira,
394
- * read:avatar:jira, read:project-category:jira
395
- */
396
- getProjectRole({
397
- projectIdOrKey,
398
- id,
399
- excludeInactiveUsers,
400
- }: {
401
- /** The project ID or project key (case sensitive). */
402
- projectIdOrKey: string;
403
- /**
404
- * The ID of the project role. Use [Get all project
405
- * roles](#api-rest-api-3-role-get) to get a list of project role IDs.
406
- */
407
- id: number;
408
- /** Exclude inactive users. */
409
- excludeInactiveUsers?: boolean;
410
- }): Promise<ProjectRole> {
411
- return this.getClientInstance()
412
- .request({
413
- path: "/rest/api/3/project/{projectIdOrKey}/role/{id}",
414
- method: "GET",
415
- pathParams: {
416
- projectIdOrKey,
417
- id,
418
- },
419
- query: {
420
- excludeInactiveUsers,
421
- },
422
- })
423
- .then(
424
- this.getClientInstance().responseHandler({
425
- 200: {
426
- "application/json": "json",
427
- },
428
- }),
429
- )
430
- .then(
431
- commonHttpClient.castResponse<{
432
- status: 200;
433
- mediaType: "application/json";
434
- body: ProjectRole;
435
- }>(),
436
- )
437
- .then(
438
- validationSchemaStorage.validator(
439
- "ProjectRolesService.getProjectRole.response",
440
- ),
441
- )
442
- .then(commonHttpClient.getBody);
443
- }
444
- /**
445
- * Gets the project role details and the default actors associated with the role.
446
- * The list of default actors is sorted by display name.
447
- *
448
- * **[Permissions](#permissions) required:** *Administer Jira* [global
449
- * permission](https://confluence.atlassian.com/x/x4dKLg).
450
- *
451
- * @returns Returned if the request is successful.
452
- *
453
- * example: {
454
- * "actors": [
455
- * {
456
- * "actorGroup": {
457
- * "displayName": "jira-developers",
458
- * "groupId": "952d12c3-5b5b-4d04-bb32-44d383afc4b2",
459
- * "name": "jira-developers"
460
- * },
461
- * "displayName": "jira-developers",
462
- * "id": 10240,
463
- * "name": "jira-developers",
464
- * "type": "atlassian-group-role-actor",
465
- * "user": "jira-developers"
466
- * },
467
- * {
468
- * "actorUser": {
469
- * "accountId": "5b10a2844c20165700ede21g"
470
- * },
471
- * "displayName": "Mia Krystof",
472
- * "id": 10241,
473
- * "type": "atlassian-user-role-actor"
474
- * }
475
- * ],
476
- * "description": "A project role that represents developers in a project",
477
- * "id": 10360,
478
- * "name": "Developers",
479
- * "scope": {
480
- * "project": {
481
- * "id": "10000",
482
- * "key": "KEY",
483
- * "name": "Next Gen Project"
484
- * },
485
- * "type": "PROJECT"
486
- * },
487
- * "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360"
488
- * }
489
- * @path {GET} /rest/api/3/role/{id}
490
- * @scopes-current manage:jira-configuration
491
- * @scopes-beta read:user:jira, read:group:jira, read:project-role:jira, read:project:jira,
492
- * read:avatar:jira, read:project-category:jira
493
- */
494
- getProjectRoleById({
495
- id,
496
- }: {
497
- /**
498
- * The ID of the project role. Use [Get all project
499
- * roles](#api-rest-api-3-role-get) to get a list of project role IDs.
500
- */
501
- id: number;
502
- }): Promise<ProjectRole> {
503
- return this.getClientInstance()
504
- .request({
505
- path: "/rest/api/3/role/{id}",
506
- method: "GET",
507
- pathParams: {
508
- id,
509
- },
510
- })
511
- .then(
512
- this.getClientInstance().responseHandler({
513
- 200: {
514
- "application/json": "json",
515
- },
516
- }),
517
- )
518
- .then(
519
- commonHttpClient.castResponse<{
520
- status: 200;
521
- mediaType: "application/json";
522
- body: ProjectRole;
523
- }>(),
524
- )
525
- .then(
526
- validationSchemaStorage.validator(
527
- "ProjectRolesService.getProjectRoleById.response",
528
- ),
529
- )
530
- .then(commonHttpClient.getBody);
531
- }
532
- /**
533
- * Returns all [project
534
- * roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/)
535
- * and the details for each role. Note that the list of project roles is common to
536
- * all projects.
537
- *
538
- * This operation can be accessed anonymously.
539
- *
540
- * **[Permissions](#permissions) required:** *Administer Jira* [global
541
- * permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects*
542
- * [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
543
- *
544
- * @returns Returned if the request is successful.
545
- *
546
- * example: [
547
- * {
548
- * "self":
549
- * "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360",
550
- * "name": "Developers",
551
- * "id": 10360,
552
- * "description": "A project role that represents developers in a project",
553
- * "admin": false,
554
- * "default": true,
555
- * "roleConfigurable": true,
556
- * "translatedName": "Developers"
557
- * }
558
- * ]
559
- * @path {GET} /rest/api/3/project/{projectIdOrKey}/roledetails
560
- * @scopes-current read:jira-work
561
- * @scopes-beta read:project-category:jira, read:project-role:jira, read:project:jira,
562
- * read:avatar:jira
563
- */
564
- getProjectRoleDetails({
565
- projectIdOrKey,
566
- currentMember,
567
- excludeConnectAddons,
568
- }: {
569
- /** The project ID or project key (case sensitive). */
570
- projectIdOrKey: string;
571
- /**
572
- * Whether the roles should be filtered to include only those the user is assigned
573
- * to.
574
- */
575
- currentMember?: boolean;
576
- excludeConnectAddons?: boolean;
577
- }): Promise<ProjectRoleDetails[]> {
578
- return this.getClientInstance()
579
- .request({
580
- path: "/rest/api/3/project/{projectIdOrKey}/roledetails",
581
- method: "GET",
582
- pathParams: {
583
- projectIdOrKey,
584
- },
585
- query: {
586
- currentMember,
587
- excludeConnectAddons,
588
- },
589
- })
590
- .then(
591
- this.getClientInstance().responseHandler({
592
- 200: {
593
- "application/json": "json",
594
- },
595
- }),
596
- )
597
- .then(
598
- commonHttpClient.castResponse<{
599
- status: 200;
600
- mediaType: "application/json";
601
- body: ProjectRoleDetails[];
602
- }>(),
603
- )
604
- .then(
605
- validationSchemaStorage.validator(
606
- "ProjectRolesService.getProjectRoleDetails.response",
607
- ),
608
- )
609
- .then(commonHttpClient.getBody);
610
- }
611
- /**
612
- * Returns a list of [project
613
- * roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/)
614
- * for the project returning the name and self URL for each role.
615
- *
616
- * Note that all project roles are shared with all projects in Jira Cloud. See
617
- * [Get all project roles](#api-rest-api-3-role-get) for more information.
618
- *
619
- * This operation can be accessed anonymously.
620
- *
621
- * **[Permissions](#permissions) required:** *Administer Projects* [project
622
- * permission](https://confluence.atlassian.com/x/yodKLg) for any project on the
623
- * site or *Administer Jira* [global
624
- * permission](https://confluence.atlassian.com/x/x4dKLg).
625
- *
626
- * @returns Returned if the request is successful.
627
- *
628
- * example: {
629
- * "Administrators":
630
- * "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10002",
631
- * "Developers":
632
- * "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10000",
633
- * "Users": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10001"
634
- * }
635
- * @path {GET} /rest/api/3/project/{projectIdOrKey}/role
636
- * @scopes-current read:jira-work
637
- * @scopes-beta read:project-role:jira
638
- */
639
- getProjectRoles({
640
- projectIdOrKey,
641
- }: {
642
- /** The project ID or project key (case sensitive). */
643
- projectIdOrKey: string;
644
- }): Promise<{
645
- [key: string]: string;
646
- }> {
647
- return this.getClientInstance()
648
- .request({
649
- path: "/rest/api/3/project/{projectIdOrKey}/role",
650
- method: "GET",
651
- pathParams: {
652
- projectIdOrKey,
653
- },
654
- })
655
- .then(
656
- this.getClientInstance().responseHandler({
657
- 200: {
658
- "application/json": "json",
659
- },
660
- }),
661
- )
662
- .then(
663
- commonHttpClient.castResponse<{
664
- status: 200;
665
- mediaType: "application/json";
666
- body: {
667
- [key: string]: string;
668
- };
669
- }>(),
670
- )
671
- .then(
672
- validationSchemaStorage.validator(
673
- "ProjectRolesService.getProjectRoles.response",
674
- ),
675
- )
676
- .then(commonHttpClient.getBody);
677
- }
678
- /**
679
- * Updates either the project role's name or its description.
680
- *
681
- * You cannot update both the name and description at the same time using this
682
- * operation. If you send a request with a name and a description only the name is
683
- * updated.
684
- *
685
- * **[Permissions](#permissions) required:** *Administer Jira* [global
686
- * permission](https://confluence.atlassian.com/x/x4dKLg).
687
- *
688
- * @returns Returned if the request is successful.
689
- *
690
- * example: {
691
- * "actors": [
692
- * {
693
- * "actorGroup": {
694
- * "displayName": "jira-developers",
695
- * "groupId": "952d12c3-5b5b-4d04-bb32-44d383afc4b2",
696
- * "name": "jira-developers"
697
- * },
698
- * "displayName": "jira-developers",
699
- * "id": 10240,
700
- * "name": "jira-developers",
701
- * "type": "atlassian-group-role-actor",
702
- * "user": "jira-developers"
703
- * },
704
- * {
705
- * "actorUser": {
706
- * "accountId": "5b10a2844c20165700ede21g"
707
- * },
708
- * "displayName": "Mia Krystof",
709
- * "id": 10241,
710
- * "type": "atlassian-user-role-actor"
711
- * }
712
- * ],
713
- * "description": "A project role that represents developers in a project",
714
- * "id": 10360,
715
- * "name": "Developers",
716
- * "scope": {
717
- * "project": {
718
- * "id": "10000",
719
- * "key": "KEY",
720
- * "name": "Next Gen Project"
721
- * },
722
- * "type": "PROJECT"
723
- * },
724
- * "self": "https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360"
725
- * }
726
- * @path {POST} /rest/api/3/role/{id}
727
- * @scopes-current manage:jira-configuration
728
- * @scopes-beta read:user:jira, read:group:jira, read:project:jira, write:project-role:jira,
729
- * read:avatar:jira, read:project-category:jira, read:project-role:jira
730
- */
731
- partialUpdateProjectRole({
732
- id,
733
- createUpdateRoleRequestBean,
734
- }: {
735
- /**
736
- * The ID of the project role. Use [Get all project
737
- * roles](#api-rest-api-3-role-get) to get a list of project role IDs.
738
- */
739
- id: number;
740
- /**
741
- * @example {
742
- * "description": "A project role that represents developers in a project",
743
- * "name": "Developers"
744
- * }
745
- */
746
- createUpdateRoleRequestBean: CreateUpdateRoleRequestBean;
747
- }): Promise<ProjectRole> {
748
- return this.getClientInstance()
749
- .request({
750
- path: "/rest/api/3/role/{id}",
751
- method: "POST",
752
- pathParams: {
753
- id,
754
- },
755
- headers: {
756
- "Content-Type": "application/json",
757
- },
758
- body: createUpdateRoleRequestBean,
759
- })
760
- .then(
761
- this.getClientInstance().responseHandler({
762
- 200: {
763
- "application/json": "json",
764
- },
765
- }),
766
- )
767
- .then(
768
- commonHttpClient.castResponse<{
769
- status: 200;
770
- mediaType: "application/json";
771
- body: ProjectRole;
772
- }>(),
773
- )
774
- .then(
775
- validationSchemaStorage.validator(
776
- "ProjectRolesService.partialUpdateProjectRole.response",
777
- ),
778
- )
779
- .then(commonHttpClient.getBody);
780
- }
781
- static initialize() {
782
- validationSchemaStorage.registerExtensible(
783
- "ProjectRolesService.getProjectRoles.response",
784
- z
785
- .object({
786
- status: z.literal(200),
787
- mediaType: z.literal("application/json"),
788
- body: z.object({}).catchall(z.string()),
789
- })
790
- .describe("ProjectRolesService.getProjectRoles.response"),
791
- );
792
- validationSchemaStorage.registerExtensible(
793
- "ProjectRolesService.getProjectRole.response",
794
- z
795
- .object({
796
- status: z.literal(200),
797
- mediaType: z.literal("application/json"),
798
- body: validationSchemaStorage.lazy("ProjectRole"),
799
- })
800
- .describe("ProjectRolesService.getProjectRole.response"),
801
- );
802
- validationSchemaStorage.registerExtensible(
803
- "ProjectRolesService.getProjectRoleDetails.response",
804
- z
805
- .object({
806
- status: z.literal(200),
807
- mediaType: z.literal("application/json"),
808
- body: z.array(validationSchemaStorage.lazy("ProjectRoleDetails")),
809
- })
810
- .describe("ProjectRolesService.getProjectRoleDetails.response"),
811
- );
812
- validationSchemaStorage.registerExtensible(
813
- "ProjectRolesService.getAllProjectRoles.response",
814
- z
815
- .object({
816
- status: z.literal(200),
817
- mediaType: z.literal("application/json"),
818
- body: z.array(validationSchemaStorage.lazy("ProjectRole")),
819
- })
820
- .describe("ProjectRolesService.getAllProjectRoles.response"),
821
- );
822
- validationSchemaStorage.registerExtensible(
823
- "ProjectRolesService.createProjectRole.response",
824
- z
825
- .object({
826
- status: z.literal(200),
827
- mediaType: z.literal("application/json"),
828
- body: validationSchemaStorage.lazy("ProjectRole"),
829
- })
830
- .describe("ProjectRolesService.createProjectRole.response"),
831
- );
832
- validationSchemaStorage.registerExtensible(
833
- "ProjectRolesService.getProjectRoleById.response",
834
- z
835
- .object({
836
- status: z.literal(200),
837
- mediaType: z.literal("application/json"),
838
- body: validationSchemaStorage.lazy("ProjectRole"),
839
- })
840
- .describe("ProjectRolesService.getProjectRoleById.response"),
841
- );
842
- validationSchemaStorage.registerExtensible(
843
- "ProjectRolesService.fullyUpdateProjectRole.response",
844
- z
845
- .object({
846
- status: z.literal(200),
847
- mediaType: z.literal("application/json"),
848
- body: validationSchemaStorage.lazy("ProjectRole"),
849
- })
850
- .describe("ProjectRolesService.fullyUpdateProjectRole.response"),
851
- );
852
- validationSchemaStorage.registerExtensible(
853
- "ProjectRolesService.partialUpdateProjectRole.response",
854
- z
855
- .object({
856
- status: z.literal(200),
857
- mediaType: z.literal("application/json"),
858
- body: validationSchemaStorage.lazy("ProjectRole"),
859
- })
860
- .describe("ProjectRolesService.partialUpdateProjectRole.response"),
861
- );
862
- validationSchemaStorage.registerOnce([
863
- registerCommonValidationSchemas,
864
- registerProjectRolesValidationSchemas,
865
- ]);
866
- }
867
- }