@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,407 +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 JiraExpressionEvalRequestBean,
10
- type JiraExpressionForAnalysis,
11
- type JiraExpressionResult,
12
- type JiraExpressionsAnalysis,
13
- registerJiraExpressionsValidationSchemas,
14
- } from "../models/jira-expressions";
15
- import { validationSchemaStorage } from "../validation-schema-storage";
16
- /**
17
- * This resource is a collection of operations for [Jira
18
- * expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
19
- */
20
- export class JiraExpressionsService extends CommonHttpService {
21
- /**
22
- * Analyses and validates Jira expressions.
23
- *
24
- * As an experimental feature, this operation can also attempt to type-check the
25
- * expressions.
26
- *
27
- * Learn more about Jira expressions in the
28
- * [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
29
- *
30
- * **[Permissions](#permissions) required**: None.
31
- *
32
- * @returns Returned if the request is successful.
33
- *
34
- * example: {
35
- * "results": [
36
- * {
37
- * "expression": "analysed expression",
38
- * "errors": [
39
- * {
40
- * "line": 1,
41
- * "column": 4,
42
- * "message": "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER,
43
- * STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.",
44
- * "type": "syntax"
45
- * },
46
- * {
47
- * "message": "Jira expression is too long (1040), limit: 1000
48
- * characters",
49
- * "type": "other"
50
- * },
51
- * {
52
- * "message": "Jira expression has too many nodes (150), limit: 100
53
- * leaves",
54
- * "type": "other"
55
- * }
56
- * ],
57
- * "valid": false
58
- * },
59
- * {
60
- * "expression": "issues.map(i => {idAndKey: [i.id, i.key], summary:
61
- * i.summary, comments: i.comments})",
62
- * "valid": true,
63
- * "type": "List<{idAndKey: [Number, String], summary: String, comments:
64
- * List<Comment>}>",
65
- * "complexity": {
66
- * "expensiveOperations": "N",
67
- * "variables": {
68
- * "N": "issues"
69
- * }
70
- * }
71
- * },
72
- * {
73
- * "expression": "issues.map(i => i.id > '0')",
74
- * "errors": [
75
- * {
76
- * "expression": "i.id > 0",
77
- * "message": "Can't compare Number to String.",
78
- * "type": "type"
79
- * }
80
- * ],
81
- * "valid": false,
82
- * "type": "TypeError"
83
- * }
84
- * ]
85
- * }
86
- * @path {POST} /rest/api/3/expression/analyse
87
- * @scopes-current read:jira-work, read:jira-user
88
- * @scopes-beta read:field:jira, read:jira-expressions:jira
89
- */
90
- analyseExpression({
91
- check,
92
- jiraExpressionForAnalysis,
93
- }: {
94
- /**
95
- * The check to perform:
96
- *
97
- * * `syntax` Each expression's syntax is checked to ensure the expression can
98
- * be parsed. Also, syntactic limits are validated. For example, the expression's
99
- * length.
100
- * * `type` EXPERIMENTAL. Each expression is type checked and the final type of
101
- * the expression inferred. Any type errors that would result in the expression
102
- * failure at runtime are reported. For example, accessing properties that don't
103
- * exist or passing the wrong number of arguments to functions. Also performs the
104
- * syntax check.
105
- * * `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive
106
- * operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations)
107
- * each expression may execute.
108
- */
109
- check?: "syntax" | "type" | "complexity";
110
- /**
111
- * The Jira expressions to analyse.
112
- *
113
- * @example {
114
- * "contextVariables": {
115
- * "listOfStrings": "List<String>",
116
- * "record": "{ a: Number, b: String }",
117
- * "value": "User"
118
- * },
119
- * "expressions": [
120
- * "issues.map(issue => issue.properties['property_key'])"
121
- * ]
122
- * }
123
- */
124
- jiraExpressionForAnalysis: JiraExpressionForAnalysis;
125
- }): Promise<JiraExpressionsAnalysis> {
126
- return this.getClientInstance()
127
- .request({
128
- path: "/rest/api/3/expression/analyse",
129
- method: "POST",
130
- query: {
131
- check,
132
- },
133
- headers: {
134
- "Content-Type": "application/json",
135
- },
136
- body: jiraExpressionForAnalysis,
137
- })
138
- .then(
139
- this.getClientInstance().responseHandler({
140
- 200: {
141
- "application/json": "json",
142
- },
143
- }),
144
- )
145
- .then(
146
- commonHttpClient.castResponse<{
147
- status: 200;
148
- mediaType: "application/json";
149
- body: JiraExpressionsAnalysis;
150
- }>(),
151
- )
152
- .then(
153
- validationSchemaStorage.validator(
154
- "JiraExpressionsService.analyseExpression.response",
155
- ),
156
- )
157
- .then(commonHttpClient.getBody);
158
- }
159
- /**
160
- * Evaluates a Jira expression and returns its value.
161
- *
162
- * This resource can be used to test Jira expressions that you plan to use
163
- * elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions
164
- * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/)
165
- * for more details.
166
- *
167
- * #### Context variables ####
168
- *
169
- * The following context variables are available to Jira expressions evaluated by
170
- * this resource. Their presence depends on various factors; usually you need to
171
- * manually request them in the context object sent in the payload, but some of
172
- * them are added automatically under certain conditions.
173
- *
174
- * * `user`
175
- * ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)):
176
- * The current user. Always available and equal to `null` if the request is
177
- * anonymous.
178
- * * `app`
179
- * ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)):
180
- * The [Connect
181
- * app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps)
182
- * that made the request. Available only for authenticated requests made by
183
- * Connect Apps (read more here: [Authentication for Connect
184
- * apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
185
- * * `issue`
186
- * ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)):
187
- * The current issue. Available only when the issue is provided in the request
188
- * context object.
189
- * * `issues`
190
- * ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list)
191
- * of
192
- * [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)):
193
- * A collection of issues matching a JQL query. Available only when JQL is
194
- * provided in the request context object.
195
- * * `project`
196
- * ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
197
- * The current project. Available only when the project is provided in the request
198
- * context object.
199
- * * `sprint`
200
- * ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
201
- * The current sprint. Available only when the sprint is provided in the request
202
- * context object.
203
- * * `board`
204
- * ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)):
205
- * The current board. Available only when the board is provided in the request
206
- * context object.
207
- * * `serviceDesk`
208
- * ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
209
- * The current service desk. Available only when the service desk is provided in
210
- * the request context object.
211
- * * `customerRequest`
212
- * ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
213
- * The current customer request. Available only when the customer request is
214
- * provided in the request context object.
215
- *
216
- * Also, custom context variables can be passed in the request with their types.
217
- * Those variables can be accessed by key in the Jira expression. These variable
218
- * types are available for use in a custom context:
219
- *
220
- * * `user`: A
221
- * [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
222
- * specified as an Atlassian account ID.
223
- * * `issue`: An
224
- * [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
225
- * specified by ID or key. All the fields of the issue object are available in the
226
- * Jira expression.
227
- * * `json`: A JSON object containing custom content.
228
- * * `list`: A JSON list of `user`, `issue`, or `json` variable types.
229
- *
230
- * This operation can be accessed anonymously.
231
- *
232
- * **[Permissions](#permissions) required**: None. However, an expression may
233
- * return different results for different users depending on their permissions.
234
- * For example, different users may see different comments on the same issue.
235
- * Permission to access Jira Software is required to access Jira Software context
236
- * variables (`board` and `sprint`) or fields (for example, `issue.sprint`).
237
- *
238
- * @returns Returned if the evaluation results in a value. The result is a JSON primitive
239
- * value, list, or object.
240
- *
241
- * example: {
242
- * "value": "The expression's result. This value can be any JSON, not
243
- * necessarily a String",
244
- * "meta": {
245
- * "complexity": {
246
- * "steps": {
247
- * "value": 1,
248
- * "limit": 10000
249
- * },
250
- * "expensiveOperations": {
251
- * "value": 3,
252
- * "limit": 10
253
- * },
254
- * "beans": {
255
- * "value": 0,
256
- * "limit": 1000
257
- * },
258
- * "primitiveValues": {
259
- * "value": 1,
260
- * "limit": 10000
261
- * }
262
- * },
263
- * "issues": {
264
- * "jql": {
265
- * "startAt": 0,
266
- * "maxResults": 1000,
267
- * "count": 140,
268
- * "totalCount": 140,
269
- * "validationWarnings": [
270
- * "There is a problem with the JQL query."
271
- * ]
272
- * }
273
- * }
274
- * }
275
- * }
276
- * @path {POST} /rest/api/3/expression/eval
277
- * @scopes-current read:jira-work, read:jira-user
278
- * @scopes-beta read:jira-expressions:jira
279
- */
280
- evaluateJiraExpression({
281
- expand,
282
- jiraExpressionEvalRequestBean,
283
- }: {
284
- /**
285
- * Use [expand](#expansion) to include additional information in the response.
286
- * This parameter accepts `meta.complexity` that returns information about the
287
- * expression complexity. For example, the number of expensive operations used by
288
- * the expression and how close the expression is to reaching the [complexity
289
- * limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions).
290
- * Useful when designing and debugging your expressions.
291
- */
292
- expand?: string;
293
- /**
294
- * The Jira expression and the evaluation context.
295
- *
296
- * @example {
297
- * "context": {
298
- * "board": 10100,
299
- * "custom": {
300
- * "config": {
301
- * "type": "json",
302
- * "value": {
303
- * "userId": "10002"
304
- * }
305
- * },
306
- * "issuesList": [
307
- * {
308
- * "key": "ACJIRA-1471",
309
- * "type": "issue"
310
- * },
311
- * {
312
- * "id": 100001,
313
- * "type": "issue"
314
- * }
315
- * ],
316
- * "myUser": {
317
- * "accountId": "100001",
318
- * "type": "user"
319
- * },
320
- * "nullField": {
321
- * "type": "json"
322
- * }
323
- * },
324
- * "customerRequest": 1450,
325
- * "issue": {
326
- * "key": "ACJIRA-1470"
327
- * },
328
- * "issues": {
329
- * "jql": {
330
- * "maxResults": 100,
331
- * "query": "project = HSP",
332
- * "startAt": 0,
333
- * "validation": "strict"
334
- * }
335
- * },
336
- * "project": {
337
- * "key": "ACJIRA"
338
- * },
339
- * "serviceDesk": 10023,
340
- * "sprint": 10001
341
- * },
342
- * "expression": "{ key: issue.key, type: issue.issueType.name, links:
343
- * issue.links.map(link => link.linkedIssue.id), listCustomVariable:
344
- * issuesList.includes(issue), customVariables: myUser.accountId == config.userId}"
345
- * }
346
- */
347
- jiraExpressionEvalRequestBean: JiraExpressionEvalRequestBean;
348
- }): Promise<JiraExpressionResult> {
349
- return this.getClientInstance()
350
- .request({
351
- path: "/rest/api/3/expression/eval",
352
- method: "POST",
353
- query: {
354
- expand,
355
- },
356
- headers: {
357
- "Content-Type": "application/json",
358
- },
359
- body: jiraExpressionEvalRequestBean,
360
- })
361
- .then(
362
- this.getClientInstance().responseHandler({
363
- 200: {
364
- "application/json": "json",
365
- },
366
- }),
367
- )
368
- .then(
369
- commonHttpClient.castResponse<{
370
- status: 200;
371
- mediaType: "application/json";
372
- body: JiraExpressionResult;
373
- }>(),
374
- )
375
- .then(
376
- validationSchemaStorage.validator(
377
- "JiraExpressionsService.evaluateJiraExpression.response",
378
- ),
379
- )
380
- .then(commonHttpClient.getBody);
381
- }
382
- static initialize() {
383
- validationSchemaStorage.registerExtensible(
384
- "JiraExpressionsService.analyseExpression.response",
385
- z
386
- .object({
387
- status: z.literal(200),
388
- mediaType: z.literal("application/json"),
389
- body: validationSchemaStorage.lazy("JiraExpressionsAnalysis"),
390
- })
391
- .describe("JiraExpressionsService.analyseExpression.response"),
392
- );
393
- validationSchemaStorage.registerExtensible(
394
- "JiraExpressionsService.evaluateJiraExpression.response",
395
- z
396
- .object({
397
- status: z.literal(200),
398
- mediaType: z.literal("application/json"),
399
- body: validationSchemaStorage.lazy("JiraExpressionResult"),
400
- })
401
- .describe("JiraExpressionsService.evaluateJiraExpression.response"),
402
- );
403
- validationSchemaStorage.registerOnce([
404
- registerJiraExpressionsValidationSchemas,
405
- ]);
406
- }
407
- }