@resolution/jira-api-client 0.16.8 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/openapi/platform/BaseJiraPlatformApiClient.d.ts +5 -5
- package/lib/openapi/platform/BaseJiraPlatformApiClient.js +1 -6
- package/lib/openapi/platform/BaseJiraPlatformApiClient.js.map +1 -1
- package/lib/openapi/platform/models/fieldSchemes.d.ts +18 -0
- package/lib/openapi/platform/models/fieldSchemes.js +14 -3
- package/lib/openapi/platform/models/fieldSchemes.js.map +1 -1
- package/lib/openapi/platform/models/issueCustomFieldContexts.d.ts +22 -0
- package/lib/openapi/platform/models/issueCustomFieldContexts.js +11 -0
- package/lib/openapi/platform/models/issueCustomFieldContexts.js.map +1 -1
- package/lib/openapi/platform/models/issueSearch.d.ts +36 -0
- package/lib/openapi/platform/models/issueSearch.js +13 -1
- package/lib/openapi/platform/models/issueSearch.js.map +1 -1
- package/lib/openapi/platform/models/projectTemplates.d.ts +23 -1
- package/lib/openapi/platform/models/projectTemplates.js +4 -0
- package/lib/openapi/platform/models/projectTemplates.js.map +1 -1
- package/lib/openapi/platform/models/projects.d.ts +1 -1
- package/lib/openapi/platform/models/projects.js +1 -1
- package/lib/openapi/platform/models/projects.js.map +1 -1
- package/lib/openapi/platform/models/workflowTransitionRules.d.ts +6 -2
- package/lib/openapi/platform/models/workflowTransitionRules.js +1 -1
- package/lib/openapi/platform/models/workflowTransitionRules.js.map +1 -1
- package/lib/openapi/platform/models/workflows.d.ts +3 -231
- package/lib/openapi/platform/models/workflows.js +1 -60
- package/lib/openapi/platform/models/workflows.js.map +1 -1
- package/lib/openapi/platform/services/FieldSchemesService.d.ts +13 -3
- package/lib/openapi/platform/services/FieldSchemesService.js +9 -2
- package/lib/openapi/platform/services/FieldSchemesService.js.map +1 -1
- package/lib/openapi/platform/services/GroupAndUserPickerService.d.ts +6 -1
- package/lib/openapi/platform/services/GroupAndUserPickerService.js +3 -2
- package/lib/openapi/platform/services/GroupAndUserPickerService.js.map +1 -1
- package/lib/openapi/platform/services/IssueCustomFieldContextsService.d.ts +12 -0
- package/lib/openapi/platform/services/IssueCustomFieldContextsService.js +12 -0
- package/lib/openapi/platform/services/IssueCustomFieldContextsService.js.map +1 -1
- package/lib/openapi/platform/services/IssueCustomFieldValuesAppsService.d.ts +24 -2
- package/lib/openapi/platform/services/IssueCustomFieldValuesAppsService.js +6 -4
- package/lib/openapi/platform/services/IssueCustomFieldValuesAppsService.js.map +1 -1
- package/lib/openapi/platform/services/IssueFieldsService.d.ts +2 -0
- package/lib/openapi/platform/services/IssueFieldsService.js +2 -0
- package/lib/openapi/platform/services/IssueFieldsService.js.map +1 -1
- package/lib/openapi/platform/services/IssuePrioritiesService.d.ts +18 -11
- package/lib/openapi/platform/services/IssuePrioritiesService.js +18 -11
- package/lib/openapi/platform/services/IssuePrioritiesService.js.map +1 -1
- package/lib/openapi/platform/services/IssuesService.d.ts +5 -0
- package/lib/openapi/platform/services/IssuesService.js +5 -0
- package/lib/openapi/platform/services/IssuesService.js.map +1 -1
- package/lib/openapi/platform/services/PrioritySchemesService.d.ts +10 -5
- package/lib/openapi/platform/services/PrioritySchemesService.js +10 -5
- package/lib/openapi/platform/services/PrioritySchemesService.js.map +1 -1
- package/lib/openapi/platform/services/ProjectTemplatesService.d.ts +3 -0
- package/lib/openapi/platform/services/ProjectTemplatesService.js +3 -0
- package/lib/openapi/platform/services/ProjectTemplatesService.js.map +1 -1
- package/lib/openapi/platform/services/ScreenTabFieldsService.d.ts +2 -1
- package/lib/openapi/platform/services/ScreenTabFieldsService.js +4 -1
- package/lib/openapi/platform/services/ScreenTabFieldsService.js.map +1 -1
- package/lib/openapi/platform/services/WorkflowTransitionRulesService.d.ts +12 -2
- package/lib/openapi/platform/services/WorkflowTransitionRulesService.js +8 -0
- package/lib/openapi/platform/services/WorkflowTransitionRulesService.js.map +1 -1
- package/lib/openapi/platform/services/WorkflowsService.d.ts +26 -1028
- package/lib/openapi/platform/services/WorkflowsService.js +25 -953
- package/lib/openapi/platform/services/WorkflowsService.js.map +1 -1
- package/lib/openapi/serviceManagement/BaseJiraServiceManagementApiClient.d.ts +4 -4
- package/lib/openapi/serviceManagement/BaseJiraServiceManagementApiClient.js +1 -1
- package/lib/openapi/serviceManagement/models/request.d.ts +46 -10
- package/lib/openapi/serviceManagement/models/request.js +20 -0
- package/lib/openapi/serviceManagement/models/request.js.map +1 -1
- package/lib/openapi/serviceManagement/models/servicedesk.d.ts +7 -0
- package/lib/openapi/serviceManagement/models/servicedesk.js +4 -0
- package/lib/openapi/serviceManagement/models/servicedesk.js.map +1 -1
- package/lib/openapi/serviceManagement/services/RequestService.d.ts +12 -4
- package/lib/openapi/serviceManagement/services/RequestService.js +12 -4
- package/lib/openapi/serviceManagement/services/RequestService.js.map +1 -1
- package/lib/openapi/serviceManagement/services/ServicedeskService.d.ts +59 -1
- package/lib/openapi/serviceManagement/services/ServicedeskService.js +64 -0
- package/lib/openapi/serviceManagement/services/ServicedeskService.js.map +1 -1
- package/lib/openapi/software/BaseJiraSoftwareApiClient.d.ts +3 -3
- package/lib/openapi/software/BaseJiraSoftwareApiClient.js +11 -1
- package/lib/openapi/software/BaseJiraSoftwareApiClient.js.map +1 -1
- package/lib/openapi/software/models/board.d.ts +5 -0
- package/lib/openapi/software/models/board.js +3 -0
- package/lib/openapi/software/models/board.js.map +1 -1
- package/lib/openapi/software/models/common.d.ts +28 -0
- package/lib/openapi/software/models/common.js +9 -0
- package/lib/openapi/software/models/common.js.map +1 -1
- package/lib/openapi/software/services/BoardService.d.ts +1596 -240
- package/lib/openapi/software/services/BoardService.js +1526 -220
- package/lib/openapi/software/services/BoardService.js.map +1 -1
- package/lib/openapi/software/services/EpicService.d.ts +524 -1
- package/lib/openapi/software/services/EpicService.js +496 -0
- package/lib/openapi/software/services/EpicService.js.map +1 -1
- package/lib/openapi/software/services/SprintService.d.ts +257 -1
- package/lib/openapi/software/services/SprintService.js +242 -0
- package/lib/openapi/software/services/SprintService.js.map +1 -1
- package/package.json +3 -3
|
@@ -24,898 +24,6 @@ const zod_1 = require("zod");
|
|
|
24
24
|
class WorkflowsService extends CommonHttpService_1.CommonHttpService {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments);
|
|
27
|
-
/**
|
|
28
|
-
* This will be removed on [February 1,
|
|
29
|
-
* 2026](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2568);
|
|
30
|
-
* use [Bulk create workflows](#api-rest-api-3-workflows-create-post) to create
|
|
31
|
-
* both team and company-managed scoped workflows.
|
|
32
|
-
*
|
|
33
|
-
* Creates a workflow. You can define transition rules using the shapes detailed
|
|
34
|
-
* in the following sections. If no transitional rules are specified the default
|
|
35
|
-
* system transition rules are used. Note: This only applies to company-managed
|
|
36
|
-
* scoped workflows.
|
|
37
|
-
*
|
|
38
|
-
* #### Conditions ####
|
|
39
|
-
*
|
|
40
|
-
* Conditions enable workflow rules that govern whether a transition can execute.
|
|
41
|
-
*
|
|
42
|
-
* ##### Always false condition #####
|
|
43
|
-
*
|
|
44
|
-
* A condition that always fails.
|
|
45
|
-
* ```
|
|
46
|
-
* {
|
|
47
|
-
* "type": "AlwaysFalseCondition"
|
|
48
|
-
* }
|
|
49
|
-
* ```
|
|
50
|
-
*
|
|
51
|
-
* ##### Block transition until approval #####
|
|
52
|
-
*
|
|
53
|
-
* A condition that blocks issue transition if there is a pending approval.
|
|
54
|
-
* ```
|
|
55
|
-
* {
|
|
56
|
-
* "type": "BlockInProgressApprovalCondition"
|
|
57
|
-
* }
|
|
58
|
-
* ```
|
|
59
|
-
*
|
|
60
|
-
* ##### Compare number custom field condition #####
|
|
61
|
-
*
|
|
62
|
-
* A condition that allows transition if a comparison between a number custom
|
|
63
|
-
* field and a value is true.
|
|
64
|
-
* ```
|
|
65
|
-
* {
|
|
66
|
-
* "type": "CompareNumberCFCondition",
|
|
67
|
-
* "configuration": {
|
|
68
|
-
* "comparator": "=",
|
|
69
|
-
* "fieldId": "customfield_10029",
|
|
70
|
-
* "fieldValue": 2
|
|
71
|
-
* }
|
|
72
|
-
* }
|
|
73
|
-
* ```
|
|
74
|
-
*
|
|
75
|
-
* * `comparator` One of the supported comparator: `=`, `>`, and `<`.
|
|
76
|
-
* * `fieldId` The custom numeric field ID. Allowed field types:
|
|
77
|
-
*
|
|
78
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:float`
|
|
79
|
-
* * `com.pyxis.greenhopper.jira:jsw-story-points`
|
|
80
|
-
* * `fieldValue` The value for comparison.
|
|
81
|
-
*
|
|
82
|
-
* ##### Hide from user condition #####
|
|
83
|
-
*
|
|
84
|
-
* A condition that hides a transition from users. The transition can only be
|
|
85
|
-
* triggered from a workflow function or REST API operation.
|
|
86
|
-
* ```
|
|
87
|
-
* {
|
|
88
|
-
* "type": "RemoteOnlyCondition"
|
|
89
|
-
* }
|
|
90
|
-
* ```
|
|
91
|
-
*
|
|
92
|
-
* ##### Only assignee condition #####
|
|
93
|
-
*
|
|
94
|
-
* A condition that allows only the assignee to execute a transition.
|
|
95
|
-
* ```
|
|
96
|
-
* {
|
|
97
|
-
* "type": "AllowOnlyAssignee"
|
|
98
|
-
* }
|
|
99
|
-
* ```
|
|
100
|
-
*
|
|
101
|
-
* ##### Only Bamboo notifications workflow condition (deprecated) #####
|
|
102
|
-
*
|
|
103
|
-
* A condition that makes the transition available only to Bamboo build
|
|
104
|
-
* notifications.
|
|
105
|
-
* ```
|
|
106
|
-
* {
|
|
107
|
-
* "type": "OnlyBambooNotificationsCondition"
|
|
108
|
-
* }
|
|
109
|
-
* ```
|
|
110
|
-
*
|
|
111
|
-
* ##### Only reporter condition #####
|
|
112
|
-
*
|
|
113
|
-
* A condition that allows only the reporter to execute a transition.
|
|
114
|
-
* ```
|
|
115
|
-
* {
|
|
116
|
-
* "type": "AllowOnlyReporter"
|
|
117
|
-
* }
|
|
118
|
-
* ```
|
|
119
|
-
*
|
|
120
|
-
* ##### Permission condition #####
|
|
121
|
-
*
|
|
122
|
-
* A condition that allows only users with a permission to execute a transition.
|
|
123
|
-
* ```
|
|
124
|
-
* {
|
|
125
|
-
* "type": "PermissionCondition",
|
|
126
|
-
* "configuration": {
|
|
127
|
-
* "permissionKey": "BROWSE_PROJECTS"
|
|
128
|
-
* }
|
|
129
|
-
* }
|
|
130
|
-
* ```
|
|
131
|
-
*
|
|
132
|
-
* * `permissionKey` The permission required to perform the transition. Allowed
|
|
133
|
-
* values:
|
|
134
|
-
* [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions)
|
|
135
|
-
* or app defined permissions.
|
|
136
|
-
*
|
|
137
|
-
* ##### Previous status condition #####
|
|
138
|
-
*
|
|
139
|
-
* A condition that allows a transition based on whether an issue has or has not
|
|
140
|
-
* transitioned through a status.
|
|
141
|
-
* ```
|
|
142
|
-
* {
|
|
143
|
-
* "type": "PreviousStatusCondition",
|
|
144
|
-
* "configuration": {
|
|
145
|
-
* "ignoreLoopTransitions": true,
|
|
146
|
-
* "includeCurrentStatus": true,
|
|
147
|
-
* "mostRecentStatusOnly": true,
|
|
148
|
-
* "reverseCondition": true,
|
|
149
|
-
* "previousStatus": {
|
|
150
|
-
* "id": "5"
|
|
151
|
-
* }
|
|
152
|
-
* }
|
|
153
|
-
* }
|
|
154
|
-
* ```
|
|
155
|
-
*
|
|
156
|
-
* By default this condition allows the transition if the status, as defined by
|
|
157
|
-
* its ID in the `previousStatus` object, matches any previous issue status,
|
|
158
|
-
* unless:
|
|
159
|
-
*
|
|
160
|
-
* * `ignoreLoopTransitions` is `true`, then loop transitions (from and to the
|
|
161
|
-
* same status) are ignored.
|
|
162
|
-
* * `includeCurrentStatus` is `true`, then the current issue status is also
|
|
163
|
-
* checked.
|
|
164
|
-
* * `mostRecentStatusOnly` is `true`, then only the issue's preceding status
|
|
165
|
-
* (the one immediately before the current status) is checked.
|
|
166
|
-
* * `reverseCondition` is `true`, then the status must not be present.
|
|
167
|
-
*
|
|
168
|
-
* ##### Separation of duties condition #####
|
|
169
|
-
*
|
|
170
|
-
* A condition that prevents a user to perform the transition, if the user has
|
|
171
|
-
* already performed a transition on the issue.
|
|
172
|
-
* ```
|
|
173
|
-
* {
|
|
174
|
-
* "type": "SeparationOfDutiesCondition",
|
|
175
|
-
* "configuration": {
|
|
176
|
-
* "fromStatus": {
|
|
177
|
-
* "id": "5"
|
|
178
|
-
* },
|
|
179
|
-
* "toStatus": {
|
|
180
|
-
* "id": "6"
|
|
181
|
-
* }
|
|
182
|
-
* }
|
|
183
|
-
* }
|
|
184
|
-
* ```
|
|
185
|
-
*
|
|
186
|
-
* * `fromStatus` OPTIONAL. An object containing the ID of the source status of
|
|
187
|
-
* the transition that is blocked. If omitted any transition to `toStatus` is
|
|
188
|
-
* blocked.
|
|
189
|
-
* * `toStatus` An object containing the ID of the target status of the
|
|
190
|
-
* transition that is blocked.
|
|
191
|
-
*
|
|
192
|
-
* ##### Subtask blocking condition #####
|
|
193
|
-
*
|
|
194
|
-
* A condition that blocks transition on a parent issue if any of its subtasks are
|
|
195
|
-
* in any of one or more statuses.
|
|
196
|
-
* ```
|
|
197
|
-
* {
|
|
198
|
-
* "type": "SubTaskBlockingCondition",
|
|
199
|
-
* "configuration": {
|
|
200
|
-
* "statuses": [
|
|
201
|
-
* {
|
|
202
|
-
* "id": "1"
|
|
203
|
-
* },
|
|
204
|
-
* {
|
|
205
|
-
* "id": "3"
|
|
206
|
-
* }
|
|
207
|
-
* ]
|
|
208
|
-
* }
|
|
209
|
-
* }
|
|
210
|
-
* ```
|
|
211
|
-
*
|
|
212
|
-
* * `statuses` A list of objects containing status IDs.
|
|
213
|
-
*
|
|
214
|
-
* ##### User is in any group condition #####
|
|
215
|
-
*
|
|
216
|
-
* A condition that allows users belonging to any group from a list of groups to
|
|
217
|
-
* execute a transition.
|
|
218
|
-
* ```
|
|
219
|
-
* {
|
|
220
|
-
* "type": "UserInAnyGroupCondition",
|
|
221
|
-
* "configuration": {
|
|
222
|
-
* "groups": [
|
|
223
|
-
* "administrators",
|
|
224
|
-
* "atlassian-addons-admin"
|
|
225
|
-
* ]
|
|
226
|
-
* }
|
|
227
|
-
* }
|
|
228
|
-
* ```
|
|
229
|
-
*
|
|
230
|
-
* * `groups` A list of group names.
|
|
231
|
-
*
|
|
232
|
-
* ##### User is in any project role condition #####
|
|
233
|
-
*
|
|
234
|
-
* A condition that allows only users with at least one project roles from a list
|
|
235
|
-
* of project roles to execute a transition.
|
|
236
|
-
* ```
|
|
237
|
-
* {
|
|
238
|
-
* "type": "InAnyProjectRoleCondition",
|
|
239
|
-
* "configuration": {
|
|
240
|
-
* "projectRoles": [
|
|
241
|
-
* {
|
|
242
|
-
* "id": "10002"
|
|
243
|
-
* },
|
|
244
|
-
* {
|
|
245
|
-
* "id": "10003"
|
|
246
|
-
* },
|
|
247
|
-
* {
|
|
248
|
-
* "id": "10012"
|
|
249
|
-
* },
|
|
250
|
-
* {
|
|
251
|
-
* "id": "10013"
|
|
252
|
-
* }
|
|
253
|
-
* ]
|
|
254
|
-
* }
|
|
255
|
-
* }
|
|
256
|
-
* ```
|
|
257
|
-
*
|
|
258
|
-
* * `projectRoles` A list of objects containing project role IDs.
|
|
259
|
-
*
|
|
260
|
-
* ##### User is in custom field condition #####
|
|
261
|
-
*
|
|
262
|
-
* A condition that allows only users listed in a given custom field to execute
|
|
263
|
-
* the transition.
|
|
264
|
-
* ```
|
|
265
|
-
* {
|
|
266
|
-
* "type": "UserIsInCustomFieldCondition",
|
|
267
|
-
* "configuration": {
|
|
268
|
-
* "allowUserInField": false,
|
|
269
|
-
* "fieldId": "customfield_10010"
|
|
270
|
-
* }
|
|
271
|
-
* }
|
|
272
|
-
* ```
|
|
273
|
-
*
|
|
274
|
-
* * `allowUserInField` If `true` only a user who is listed in `fieldId` can
|
|
275
|
-
* perform the transition, otherwise, only a user who is not listed in `fieldId`
|
|
276
|
-
* can perform the transition.
|
|
277
|
-
* * `fieldId` The ID of the field containing the list of users.
|
|
278
|
-
*
|
|
279
|
-
* ##### User is in group condition #####
|
|
280
|
-
*
|
|
281
|
-
* A condition that allows users belonging to a group to execute a transition.
|
|
282
|
-
* ```
|
|
283
|
-
* {
|
|
284
|
-
* "type": "UserInGroupCondition",
|
|
285
|
-
* "configuration": {
|
|
286
|
-
* "group": "administrators"
|
|
287
|
-
* }
|
|
288
|
-
* }
|
|
289
|
-
* ```
|
|
290
|
-
*
|
|
291
|
-
* * `group` The name of the group.
|
|
292
|
-
*
|
|
293
|
-
* ##### User is in group custom field condition #####
|
|
294
|
-
*
|
|
295
|
-
* A condition that allows users belonging to a group specified in a custom field
|
|
296
|
-
* to execute a transition.
|
|
297
|
-
* ```
|
|
298
|
-
* {
|
|
299
|
-
* "type": "InGroupCFCondition",
|
|
300
|
-
* "configuration": {
|
|
301
|
-
* "fieldId": "customfield_10012"
|
|
302
|
-
* }
|
|
303
|
-
* }
|
|
304
|
-
* ```
|
|
305
|
-
*
|
|
306
|
-
* * `fieldId` The ID of the field. Allowed field types:
|
|
307
|
-
*
|
|
308
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`
|
|
309
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`
|
|
310
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:select`
|
|
311
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:multiselect`
|
|
312
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`
|
|
313
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`
|
|
314
|
-
* * `com.pyxis.greenhopper.jira:gh-epic-status`
|
|
315
|
-
*
|
|
316
|
-
* ##### User is in project role condition #####
|
|
317
|
-
*
|
|
318
|
-
* A condition that allows users with a project role to execute a transition.
|
|
319
|
-
* ```
|
|
320
|
-
* {
|
|
321
|
-
* "type": "InProjectRoleCondition",
|
|
322
|
-
* "configuration": {
|
|
323
|
-
* "projectRole": {
|
|
324
|
-
* "id": "10002"
|
|
325
|
-
* }
|
|
326
|
-
* }
|
|
327
|
-
* }
|
|
328
|
-
* ```
|
|
329
|
-
*
|
|
330
|
-
* * `projectRole` An object containing the ID of a project role.
|
|
331
|
-
*
|
|
332
|
-
* ##### Value field condition #####
|
|
333
|
-
*
|
|
334
|
-
* A conditions that allows a transition to execute if the value of a field is
|
|
335
|
-
* equal to a constant value or simply set.
|
|
336
|
-
* ```
|
|
337
|
-
* {
|
|
338
|
-
* "type": "ValueFieldCondition",
|
|
339
|
-
* "configuration": {
|
|
340
|
-
* "fieldId": "assignee",
|
|
341
|
-
* "fieldValue":
|
|
342
|
-
* "qm:6e1ecee6-8e64-4db6-8c85-916bb3275f51:54b56885-2bd2-4381-8239-78263442520f",
|
|
343
|
-
* "comparisonType": "NUMBER",
|
|
344
|
-
* "comparator": "="
|
|
345
|
-
* }
|
|
346
|
-
* }
|
|
347
|
-
* ```
|
|
348
|
-
*
|
|
349
|
-
* * `fieldId` The ID of a field used in the comparison.
|
|
350
|
-
* * `fieldValue` The expected value of the field.
|
|
351
|
-
* * `comparisonType` The type of the comparison. Allowed values: `STRING`,
|
|
352
|
-
* `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, or `OPTIONID`.
|
|
353
|
-
* * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`,
|
|
354
|
-
* `!=`.
|
|
355
|
-
*
|
|
356
|
-
* **Notes:**
|
|
357
|
-
*
|
|
358
|
-
* * If you choose the comparison type `STRING`, only `=` and `!=` are valid
|
|
359
|
-
* options.
|
|
360
|
-
* * You may leave `fieldValue` empty when comparison type is `!=` to indicate
|
|
361
|
-
* that a value is required in the field.
|
|
362
|
-
* * For date fields without time format values as `yyyy-MM-dd`, and for those
|
|
363
|
-
* with time as `yyyy-MM-dd HH:mm`. For example, for July 16 2021 use
|
|
364
|
-
* `2021-07-16`, for 8:05 AM use `2021-07-16 08:05`, and for 4 PM: `2021-07-16
|
|
365
|
-
* 16:00`.
|
|
366
|
-
*
|
|
367
|
-
* #### Validators ####
|
|
368
|
-
*
|
|
369
|
-
* Validators check that any input made to the transition is valid before the
|
|
370
|
-
* transition is performed.
|
|
371
|
-
*
|
|
372
|
-
* ##### Date field validator #####
|
|
373
|
-
*
|
|
374
|
-
* A validator that compares two dates.
|
|
375
|
-
* ```
|
|
376
|
-
* {
|
|
377
|
-
* "type": "DateFieldValidator",
|
|
378
|
-
* "configuration": {
|
|
379
|
-
* "comparator": ">",
|
|
380
|
-
* "date1": "updated",
|
|
381
|
-
* "date2": "created",
|
|
382
|
-
* "expression": "1d",
|
|
383
|
-
* "includeTime": true
|
|
384
|
-
* }
|
|
385
|
-
* }
|
|
386
|
-
* ```
|
|
387
|
-
*
|
|
388
|
-
* * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, or
|
|
389
|
-
* `!=`.
|
|
390
|
-
* * `date1` The date field to validate. Allowed field types:
|
|
391
|
-
*
|
|
392
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
|
|
393
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
|
|
394
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-end`
|
|
395
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-start`
|
|
396
|
-
* * `duedate`
|
|
397
|
-
* * `created`
|
|
398
|
-
* * `updated`
|
|
399
|
-
* * `resolutiondate`
|
|
400
|
-
* * `date2` The second date field. Required, if `expression` is not passed.
|
|
401
|
-
* Allowed field types:
|
|
402
|
-
*
|
|
403
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
|
|
404
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
|
|
405
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-end`
|
|
406
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-start`
|
|
407
|
-
* * `duedate`
|
|
408
|
-
* * `created`
|
|
409
|
-
* * `updated`
|
|
410
|
-
* * `resolutiondate`
|
|
411
|
-
* * `expression` An expression specifying an offset. Required, if `date2` is
|
|
412
|
-
* not passed. Offsets are built with a number, with `-` as prefix for the past,
|
|
413
|
-
* and one of these time units: `d` for day, `w` for week, `m` for month, or `y`
|
|
414
|
-
* for year. For example, -2d means two days into the past and 1w means one week
|
|
415
|
-
* into the future. The `now` keyword enables a comparison with the current date.
|
|
416
|
-
* * `includeTime` If `true`, then the time part of the data is included for the
|
|
417
|
-
* comparison. If the field doesn't have a time part, 00:00:00 is used.
|
|
418
|
-
*
|
|
419
|
-
* ##### Windows date validator #####
|
|
420
|
-
*
|
|
421
|
-
* A validator that checks that a date falls on or after a reference date and
|
|
422
|
-
* before or on the reference date plus a number of days.
|
|
423
|
-
* ```
|
|
424
|
-
* {
|
|
425
|
-
* "type": "WindowsDateValidator",
|
|
426
|
-
* "configuration": {
|
|
427
|
-
* "date1": "customfield_10009",
|
|
428
|
-
* "date2": "created",
|
|
429
|
-
* "windowsDays": 5
|
|
430
|
-
* }
|
|
431
|
-
* }
|
|
432
|
-
* ```
|
|
433
|
-
*
|
|
434
|
-
* * `date1` The date field to validate. Allowed field types:
|
|
435
|
-
*
|
|
436
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
|
|
437
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
|
|
438
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-end`
|
|
439
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-start`
|
|
440
|
-
* * `duedate`
|
|
441
|
-
* * `created`
|
|
442
|
-
* * `updated`
|
|
443
|
-
* * `resolutiondate`
|
|
444
|
-
* * `date2` The reference date. Allowed field types:
|
|
445
|
-
*
|
|
446
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
|
|
447
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
|
|
448
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-end`
|
|
449
|
-
* * `com.atlassian.jpo:jpo-custom-field-baseline-start`
|
|
450
|
-
* * `duedate`
|
|
451
|
-
* * `created`
|
|
452
|
-
* * `updated`
|
|
453
|
-
* * `resolutiondate`
|
|
454
|
-
* * `windowsDays` A positive integer indicating a number of days.
|
|
455
|
-
*
|
|
456
|
-
* ##### Field required validator #####
|
|
457
|
-
*
|
|
458
|
-
* A validator that checks fields are not empty. By default, if a field is not
|
|
459
|
-
* included in the current context it's ignored and not validated.
|
|
460
|
-
* ```
|
|
461
|
-
* {
|
|
462
|
-
* "type": "FieldRequiredValidator",
|
|
463
|
-
* "configuration": {
|
|
464
|
-
* "ignoreContext": true,
|
|
465
|
-
* "errorMessage": "Hey",
|
|
466
|
-
* "fieldIds": [
|
|
467
|
-
* "versions",
|
|
468
|
-
* "customfield_10037",
|
|
469
|
-
* "customfield_10003"
|
|
470
|
-
* ]
|
|
471
|
-
* }
|
|
472
|
-
* }
|
|
473
|
-
* ```
|
|
474
|
-
*
|
|
475
|
-
* * `ignoreContext` If `true`, then the context is ignored and all the fields
|
|
476
|
-
* are validated.
|
|
477
|
-
* * `errorMessage` OPTIONAL. The error message displayed when one or more
|
|
478
|
-
* fields are empty. A default error message is shown if an error message is not
|
|
479
|
-
* provided.
|
|
480
|
-
* * `fieldIds` The list of fields to validate.
|
|
481
|
-
*
|
|
482
|
-
* ##### Field changed validator #####
|
|
483
|
-
*
|
|
484
|
-
* A validator that checks that a field value is changed. However, this validation
|
|
485
|
-
* can be ignored for users from a list of groups.
|
|
486
|
-
* ```
|
|
487
|
-
* {
|
|
488
|
-
* "type": "FieldChangedValidator",
|
|
489
|
-
* "configuration": {
|
|
490
|
-
* "fieldId": "comment",
|
|
491
|
-
* "errorMessage": "Hey",
|
|
492
|
-
* "exemptedGroups": [
|
|
493
|
-
* "administrators",
|
|
494
|
-
* "atlassian-addons-admin"
|
|
495
|
-
* ]
|
|
496
|
-
* }
|
|
497
|
-
* }
|
|
498
|
-
* ```
|
|
499
|
-
*
|
|
500
|
-
* * `fieldId` The ID of a field.
|
|
501
|
-
* * `errorMessage` OPTIONAL. The error message displayed if the field is not
|
|
502
|
-
* changed. A default error message is shown if the error message is not provided.
|
|
503
|
-
* * `exemptedGroups` OPTIONAL. The list of groups.
|
|
504
|
-
*
|
|
505
|
-
* ##### Field has single value validator #####
|
|
506
|
-
*
|
|
507
|
-
* A validator that checks that a multi-select field has only one value.
|
|
508
|
-
* Optionally, the validation can ignore values copied from subtasks.
|
|
509
|
-
* ```
|
|
510
|
-
* {
|
|
511
|
-
* "type": "FieldHasSingleValueValidator",
|
|
512
|
-
* "configuration": {
|
|
513
|
-
* "fieldId": "attachment,
|
|
514
|
-
* "excludeSubtasks": true
|
|
515
|
-
* }
|
|
516
|
-
* }
|
|
517
|
-
* ```
|
|
518
|
-
*
|
|
519
|
-
* * `fieldId` The ID of a field.
|
|
520
|
-
* * `excludeSubtasks` If `true`, then values copied from subtasks are ignored.
|
|
521
|
-
*
|
|
522
|
-
* ##### Parent status validator #####
|
|
523
|
-
*
|
|
524
|
-
* A validator that checks the status of the parent issue of a subtask. Ìf the
|
|
525
|
-
* issue is not a subtask, no validation is performed.
|
|
526
|
-
* ```
|
|
527
|
-
* {
|
|
528
|
-
* "type": "ParentStatusValidator",
|
|
529
|
-
* "configuration": {
|
|
530
|
-
* "parentStatuses": [
|
|
531
|
-
* {
|
|
532
|
-
* "id":"1"
|
|
533
|
-
* },
|
|
534
|
-
* {
|
|
535
|
-
* "id":"2"
|
|
536
|
-
* }
|
|
537
|
-
* ]
|
|
538
|
-
* }
|
|
539
|
-
* }
|
|
540
|
-
* ```
|
|
541
|
-
*
|
|
542
|
-
* * `parentStatus` The list of required parent issue statuses.
|
|
543
|
-
*
|
|
544
|
-
* ##### Permission validator #####
|
|
545
|
-
*
|
|
546
|
-
* A validator that checks the user has a permission.
|
|
547
|
-
* ```
|
|
548
|
-
* {
|
|
549
|
-
* "type": "PermissionValidator",
|
|
550
|
-
* "configuration": {
|
|
551
|
-
* "permissionKey": "ADMINISTER_PROJECTS"
|
|
552
|
-
* }
|
|
553
|
-
* }
|
|
554
|
-
* ```
|
|
555
|
-
*
|
|
556
|
-
* * `permissionKey` The permission required to perform the transition. Allowed
|
|
557
|
-
* values:
|
|
558
|
-
* [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions)
|
|
559
|
-
* or app defined permissions.
|
|
560
|
-
*
|
|
561
|
-
* ##### Previous status validator #####
|
|
562
|
-
*
|
|
563
|
-
* A validator that checks if the issue has held a status.
|
|
564
|
-
* ```
|
|
565
|
-
* {
|
|
566
|
-
* "type": "PreviousStatusValidator",
|
|
567
|
-
* "configuration": {
|
|
568
|
-
* "mostRecentStatusOnly": false,
|
|
569
|
-
* "previousStatus": {
|
|
570
|
-
* "id": "15"
|
|
571
|
-
* }
|
|
572
|
-
* }
|
|
573
|
-
* }
|
|
574
|
-
* ```
|
|
575
|
-
*
|
|
576
|
-
* * `mostRecentStatusOnly` If `true`, then only the issue's preceding status
|
|
577
|
-
* (the one immediately before the current status) is checked.
|
|
578
|
-
* * `previousStatus` An object containing the ID of an issue status.
|
|
579
|
-
*
|
|
580
|
-
* ##### Regular expression validator #####
|
|
581
|
-
*
|
|
582
|
-
* A validator that checks the content of a field against a regular expression.
|
|
583
|
-
* ```
|
|
584
|
-
* {
|
|
585
|
-
* "type": "RegexpFieldValidator",
|
|
586
|
-
* "configuration": {
|
|
587
|
-
* "regExp": "[0-9]",
|
|
588
|
-
* "fieldId": "customfield_10029"
|
|
589
|
-
* }
|
|
590
|
-
* }
|
|
591
|
-
* ```
|
|
592
|
-
*
|
|
593
|
-
* * `regExp`A regular expression.
|
|
594
|
-
* * `fieldId` The ID of a field. Allowed field types:
|
|
595
|
-
*
|
|
596
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:select`
|
|
597
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:multiselect`
|
|
598
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`
|
|
599
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`
|
|
600
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:textarea`
|
|
601
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:textfield`
|
|
602
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:url`
|
|
603
|
-
* * `com.atlassian.jira.plugin.system.customfieldtypes:float`
|
|
604
|
-
* * `com.pyxis.greenhopper.jira:jsw-story-points`
|
|
605
|
-
* * `com.pyxis.greenhopper.jira:gh-epic-status`
|
|
606
|
-
* * `description`
|
|
607
|
-
* * `summary`
|
|
608
|
-
*
|
|
609
|
-
* ##### User permission validator #####
|
|
610
|
-
*
|
|
611
|
-
* A validator that checks if a user has a permission. Obsolete. You may encounter
|
|
612
|
-
* this validator when getting transition rules and can pass it when updating or
|
|
613
|
-
* creating rules, for example, when you want to duplicate the rules from a
|
|
614
|
-
* workflow on a new workflow.
|
|
615
|
-
* ```
|
|
616
|
-
* {
|
|
617
|
-
* "type": "UserPermissionValidator",
|
|
618
|
-
* "configuration": {
|
|
619
|
-
* "permissionKey": "BROWSE_PROJECTS",
|
|
620
|
-
* "nullAllowed": false,
|
|
621
|
-
* "username": "TestUser"
|
|
622
|
-
* }
|
|
623
|
-
* }
|
|
624
|
-
* ```
|
|
625
|
-
*
|
|
626
|
-
* * `permissionKey` The permission to be validated. Allowed values:
|
|
627
|
-
* [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions)
|
|
628
|
-
* or app defined permissions.
|
|
629
|
-
* * `nullAllowed` If `true`, allows the transition when `username` is empty.
|
|
630
|
-
* * `username` The username to validate against the `permissionKey`.
|
|
631
|
-
*
|
|
632
|
-
* #### Post functions ####
|
|
633
|
-
*
|
|
634
|
-
* Post functions carry out any additional processing required after a Jira
|
|
635
|
-
* workflow transition is executed.
|
|
636
|
-
*
|
|
637
|
-
* ##### Fire issue event function #####
|
|
638
|
-
*
|
|
639
|
-
* A post function that fires an event that is processed by the listeners.
|
|
640
|
-
* ```
|
|
641
|
-
* {
|
|
642
|
-
* "type": "FireIssueEventFunction",
|
|
643
|
-
* "configuration": {
|
|
644
|
-
* "event": {
|
|
645
|
-
* "id":"1"
|
|
646
|
-
* }
|
|
647
|
-
* }
|
|
648
|
-
* }
|
|
649
|
-
* ```
|
|
650
|
-
*
|
|
651
|
-
* **Note:** If provided, this post function overrides the default
|
|
652
|
-
* `FireIssueEventFunction`. Can be included once in a transition.
|
|
653
|
-
*
|
|
654
|
-
* * `event` An object containing the ID of the issue event.
|
|
655
|
-
*
|
|
656
|
-
* ##### Update issue status #####
|
|
657
|
-
*
|
|
658
|
-
* A post function that sets issue status to the linked status of the destination
|
|
659
|
-
* workflow status.
|
|
660
|
-
* ```
|
|
661
|
-
* {
|
|
662
|
-
* "type": "UpdateIssueStatusFunction"
|
|
663
|
-
* }
|
|
664
|
-
* ```
|
|
665
|
-
*
|
|
666
|
-
* **Note:** This post function is a default function in global and directed
|
|
667
|
-
* transitions. It can only be added to the initial transition and can only be
|
|
668
|
-
* added once.
|
|
669
|
-
*
|
|
670
|
-
* ##### Create comment #####
|
|
671
|
-
*
|
|
672
|
-
* A post function that adds a comment entered during the transition to an issue.
|
|
673
|
-
* ```
|
|
674
|
-
* {
|
|
675
|
-
* "type": "CreateCommentFunction"
|
|
676
|
-
* }
|
|
677
|
-
* ```
|
|
678
|
-
*
|
|
679
|
-
* **Note:** This post function is a default function in global and directed
|
|
680
|
-
* transitions. It can only be added to the initial transition and can only be
|
|
681
|
-
* added once.
|
|
682
|
-
*
|
|
683
|
-
* ##### Store issue #####
|
|
684
|
-
*
|
|
685
|
-
* A post function that stores updates to an issue.
|
|
686
|
-
* ```
|
|
687
|
-
* {
|
|
688
|
-
* "type": "IssueStoreFunction"
|
|
689
|
-
* }
|
|
690
|
-
* ```
|
|
691
|
-
*
|
|
692
|
-
* **Note:** This post function can only be added to the initial transition and
|
|
693
|
-
* can only be added once.
|
|
694
|
-
*
|
|
695
|
-
* ##### Assign to current user function #####
|
|
696
|
-
*
|
|
697
|
-
* A post function that assigns the issue to the current user if the current user
|
|
698
|
-
* has the `ASSIGNABLE_USER` permission.
|
|
699
|
-
* ```
|
|
700
|
-
* {
|
|
701
|
-
* "type": "AssignToCurrentUserFunction"
|
|
702
|
-
* }
|
|
703
|
-
* ```
|
|
704
|
-
*
|
|
705
|
-
* **Note:** This post function can be included once in a transition.
|
|
706
|
-
*
|
|
707
|
-
* ##### Assign to lead function #####
|
|
708
|
-
*
|
|
709
|
-
* A post function that assigns the issue to the project or component lead
|
|
710
|
-
* developer.
|
|
711
|
-
* ```
|
|
712
|
-
* {
|
|
713
|
-
* "type": "AssignToLeadFunction"
|
|
714
|
-
* }
|
|
715
|
-
* ```
|
|
716
|
-
*
|
|
717
|
-
* **Note:** This post function can be included once in a transition.
|
|
718
|
-
*
|
|
719
|
-
* ##### Assign to reporter function #####
|
|
720
|
-
*
|
|
721
|
-
* A post function that assigns the issue to the reporter.
|
|
722
|
-
* ```
|
|
723
|
-
* {
|
|
724
|
-
* "type": "AssignToReporterFunction"
|
|
725
|
-
* }
|
|
726
|
-
* ```
|
|
727
|
-
*
|
|
728
|
-
* **Note:** This post function can be included once in a transition.
|
|
729
|
-
*
|
|
730
|
-
* ##### Clear field value function #####
|
|
731
|
-
*
|
|
732
|
-
* A post function that clears the value from a field.
|
|
733
|
-
* ```
|
|
734
|
-
* {
|
|
735
|
-
* "type": "ClearFieldValuePostFunction",
|
|
736
|
-
* "configuration": {
|
|
737
|
-
* "fieldId": "assignee"
|
|
738
|
-
* }
|
|
739
|
-
* }
|
|
740
|
-
* ```
|
|
741
|
-
*
|
|
742
|
-
* * `fieldId` The ID of the field.
|
|
743
|
-
*
|
|
744
|
-
* ##### Copy value from other field function #####
|
|
745
|
-
*
|
|
746
|
-
* A post function that copies the value of one field to another, either within an
|
|
747
|
-
* issue or from parent to subtask.
|
|
748
|
-
* ```
|
|
749
|
-
* {
|
|
750
|
-
* "type": "CopyValueFromOtherFieldPostFunction",
|
|
751
|
-
* "configuration": {
|
|
752
|
-
* "sourceFieldId": "assignee",
|
|
753
|
-
* "destinationFieldId": "creator",
|
|
754
|
-
* "copyType": "same"
|
|
755
|
-
* }
|
|
756
|
-
* }
|
|
757
|
-
* ```
|
|
758
|
-
*
|
|
759
|
-
* * `sourceFieldId` The ID of the source field.
|
|
760
|
-
* * `destinationFieldId` The ID of the destination field.
|
|
761
|
-
* * `copyType` Use `same` to copy the value from a field inside the issue, or
|
|
762
|
-
* `parent` to copy the value from the parent issue.
|
|
763
|
-
*
|
|
764
|
-
* ##### Create Crucible review workflow function (deprecated) #####
|
|
765
|
-
*
|
|
766
|
-
* A post function that creates a Crucible review for all unreviewed code for the
|
|
767
|
-
* issue.
|
|
768
|
-
* ```
|
|
769
|
-
* {
|
|
770
|
-
* "type": "CreateCrucibleReviewWorkflowFunction"
|
|
771
|
-
* }
|
|
772
|
-
* ```
|
|
773
|
-
*
|
|
774
|
-
* **Note:** This post function can be included once in a transition.
|
|
775
|
-
*
|
|
776
|
-
* ##### Set issue security level based on user's project role function #####
|
|
777
|
-
*
|
|
778
|
-
* A post function that sets the issue's security level if the current user has a
|
|
779
|
-
* project role.
|
|
780
|
-
* ```
|
|
781
|
-
* {
|
|
782
|
-
* "type": "SetIssueSecurityFromRoleFunction",
|
|
783
|
-
* "configuration": {
|
|
784
|
-
* "projectRole": {
|
|
785
|
-
* "id":"10002"
|
|
786
|
-
* },
|
|
787
|
-
* "issueSecurityLevel": {
|
|
788
|
-
* "id":"10000"
|
|
789
|
-
* }
|
|
790
|
-
* }
|
|
791
|
-
* }
|
|
792
|
-
* ```
|
|
793
|
-
*
|
|
794
|
-
* * `projectRole` An object containing the ID of the project role.
|
|
795
|
-
* * `issueSecurityLevel` OPTIONAL. The object containing the ID of the security
|
|
796
|
-
* level. If not passed, then the security level is set to `none`.
|
|
797
|
-
*
|
|
798
|
-
* ##### Trigger a webhook function #####
|
|
799
|
-
*
|
|
800
|
-
* A post function that triggers a webhook.
|
|
801
|
-
* ```
|
|
802
|
-
* {
|
|
803
|
-
* "type": "TriggerWebhookFunction",
|
|
804
|
-
* "configuration": {
|
|
805
|
-
* "webhook": {
|
|
806
|
-
* "id": "1"
|
|
807
|
-
* }
|
|
808
|
-
* }
|
|
809
|
-
* }
|
|
810
|
-
* ```
|
|
811
|
-
*
|
|
812
|
-
* * `webhook` An object containing the ID of the webhook listener to trigger.
|
|
813
|
-
*
|
|
814
|
-
* ##### Update issue custom field function #####
|
|
815
|
-
*
|
|
816
|
-
* A post function that updates the content of an issue custom field.
|
|
817
|
-
* ```
|
|
818
|
-
* {
|
|
819
|
-
* "type": "UpdateIssueCustomFieldPostFunction",
|
|
820
|
-
* "configuration": {
|
|
821
|
-
* "mode": "append",
|
|
822
|
-
* "fieldId": "customfield_10003",
|
|
823
|
-
* "fieldValue": "yikes"
|
|
824
|
-
* }
|
|
825
|
-
* }
|
|
826
|
-
* ```
|
|
827
|
-
*
|
|
828
|
-
* * `mode` Use `replace` to override the field content with `fieldValue` or
|
|
829
|
-
* `append` to add `fieldValue` to the end of the field content.
|
|
830
|
-
* * `fieldId` The ID of the field.
|
|
831
|
-
* * `fieldValue` The update content.
|
|
832
|
-
*
|
|
833
|
-
* ##### Update issue field function #####
|
|
834
|
-
*
|
|
835
|
-
* A post function that updates a simple issue field.
|
|
836
|
-
* ```
|
|
837
|
-
* {
|
|
838
|
-
* "type": "UpdateIssueFieldFunction",
|
|
839
|
-
* "configuration": {
|
|
840
|
-
* "fieldId": "assignee",
|
|
841
|
-
* "fieldValue": "5f0c277e70b8a90025a00776"
|
|
842
|
-
* }
|
|
843
|
-
* }
|
|
844
|
-
* ```
|
|
845
|
-
*
|
|
846
|
-
* * `fieldId` The ID of the field. Allowed field types:
|
|
847
|
-
*
|
|
848
|
-
* * `assignee`
|
|
849
|
-
* * `description`
|
|
850
|
-
* * `environment`
|
|
851
|
-
* * `priority`
|
|
852
|
-
* * `resolution`
|
|
853
|
-
* * `summary`
|
|
854
|
-
* * `timeoriginalestimate`
|
|
855
|
-
* * `timeestimate`
|
|
856
|
-
* * `timespent`
|
|
857
|
-
* * `fieldValue` The update value.
|
|
858
|
-
* * If the `fieldId` is `assignee`, the `fieldValue` should be one of these
|
|
859
|
-
* values:
|
|
860
|
-
*
|
|
861
|
-
* * an account ID.
|
|
862
|
-
* * `automatic`.
|
|
863
|
-
* * a blank string, which sets the value to `unassigned`.
|
|
864
|
-
*
|
|
865
|
-
* #### Connect rules ####
|
|
866
|
-
*
|
|
867
|
-
* Connect rules are conditions, validators, and post functions of a transition
|
|
868
|
-
* that are registered by Connect apps. To create a rule registered by the app,
|
|
869
|
-
* the app must be enabled and the rule's module must exist.
|
|
870
|
-
* ```
|
|
871
|
-
* {
|
|
872
|
-
* "type": "appKey__moduleKey",
|
|
873
|
-
* "configuration": {
|
|
874
|
-
* "value":"{\"isValid\":\"true\"}"
|
|
875
|
-
* }
|
|
876
|
-
* }
|
|
877
|
-
* ```
|
|
878
|
-
*
|
|
879
|
-
* * `type` A Connect rule key in a form of `appKey__moduleKey`.
|
|
880
|
-
* * `value` The stringified JSON configuration of a Connect rule.
|
|
881
|
-
*
|
|
882
|
-
* #### Forge rules ####
|
|
883
|
-
*
|
|
884
|
-
* Forge transition rules are not yet supported.
|
|
885
|
-
*
|
|
886
|
-
* **[Permissions](#permissions) required:** *Administer Jira* [global
|
|
887
|
-
* permission](https://confluence.atlassian.com/x/x4dKLg).
|
|
888
|
-
*
|
|
889
|
-
* @deprecated
|
|
890
|
-
* @returns Returned if the workflow is created.
|
|
891
|
-
*
|
|
892
|
-
* example:
|
|
893
|
-
* ```
|
|
894
|
-
* {
|
|
895
|
-
* "entityId": "d7178e8d-bf6c-4c0c-9e90-758a0b965b67",
|
|
896
|
-
* "name": "Workflow 1"
|
|
897
|
-
* }
|
|
898
|
-
* ```
|
|
899
|
-
* @path POST `/rest/api/3/workflow`
|
|
900
|
-
* @scopes-current manage:jira-configuration
|
|
901
|
-
* @scopes-beta write:workflow:jira, read:workflow:jira
|
|
902
|
-
* @see https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows#api-rest-api-3-workflow-post
|
|
903
|
-
* @param params
|
|
904
|
-
*/
|
|
905
|
-
this.createWorkflow = ({ createWorkflowDetails }) => {
|
|
906
|
-
return this.getClientInstance().request({
|
|
907
|
-
path: "/rest/api/3/workflow",
|
|
908
|
-
method: "POST",
|
|
909
|
-
headers: {
|
|
910
|
-
"Content-Type": "application/json"
|
|
911
|
-
},
|
|
912
|
-
body: createWorkflowDetails
|
|
913
|
-
}).then(this.getClientInstance().responseHandler({
|
|
914
|
-
201: {
|
|
915
|
-
"application/json": "json"
|
|
916
|
-
}
|
|
917
|
-
})).then(commonHttpClient.castResponse()).then(this.getClientInstance().validation(validationSchemaStorage_1.validationSchemaStorage.validator("WorkflowsService.createWorkflow.response"))).then(commonHttpClient.getBody);
|
|
918
|
-
};
|
|
919
27
|
/**
|
|
920
28
|
* Create workflows and related statuses.
|
|
921
29
|
*
|
|
@@ -1116,57 +224,6 @@ class WorkflowsService extends CommonHttpService_1.CommonHttpService {
|
|
|
1116
224
|
}
|
|
1117
225
|
}).then(commonHttpClient.discardResult);
|
|
1118
226
|
};
|
|
1119
|
-
/**
|
|
1120
|
-
* This will be removed on [February 1,
|
|
1121
|
-
* 2026](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2567);
|
|
1122
|
-
* use [Search workflows](#api-rest-api-3-workflows-search-get) instead.
|
|
1123
|
-
*
|
|
1124
|
-
* Returns all workflows in Jira or a workflow.
|
|
1125
|
-
*
|
|
1126
|
-
* If the `workflowName` parameter is specified, the workflow is returned as an
|
|
1127
|
-
* object (not in an array). Otherwise, an array of workflow objects is returned.
|
|
1128
|
-
*
|
|
1129
|
-
* **[Permissions](#permissions) required:** *Administer Jira* [global
|
|
1130
|
-
* permission](https://confluence.atlassian.com/x/x4dKLg).
|
|
1131
|
-
*
|
|
1132
|
-
* @deprecated
|
|
1133
|
-
* @returns Returned if the request is successful.
|
|
1134
|
-
*
|
|
1135
|
-
* example:
|
|
1136
|
-
*
|
|
1137
|
-
* ```
|
|
1138
|
-
* [
|
|
1139
|
-
* {
|
|
1140
|
-
* "default": true,
|
|
1141
|
-
* "description": "A classic Jira workflow",
|
|
1142
|
-
* "lastModifiedDate": "01-01-2011",
|
|
1143
|
-
* "lastModifiedUser": "admin",
|
|
1144
|
-
* "lastModifiedUserAccountId": "5b10a2844c20165700ede21g",
|
|
1145
|
-
* "name": "classic workflow",
|
|
1146
|
-
* "steps": 5
|
|
1147
|
-
* }
|
|
1148
|
-
* ]
|
|
1149
|
-
* ```
|
|
1150
|
-
*
|
|
1151
|
-
* @path GET `/rest/api/3/workflow`
|
|
1152
|
-
* @scopes-current manage:jira-configuration
|
|
1153
|
-
* @scopes-beta read:workflow:jira, read:project:jira, read:project-category:jira, read:avatar:jira
|
|
1154
|
-
* @see https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows#api-rest-api-3-workflow-get
|
|
1155
|
-
* @param params
|
|
1156
|
-
*/
|
|
1157
|
-
this.getAllWorkflows = ({ workflowName } = {}) => {
|
|
1158
|
-
return this.getClientInstance().request({
|
|
1159
|
-
path: "/rest/api/3/workflow",
|
|
1160
|
-
method: "GET",
|
|
1161
|
-
query: {
|
|
1162
|
-
workflowName
|
|
1163
|
-
}
|
|
1164
|
-
}).then(this.getClientInstance().responseHandler({
|
|
1165
|
-
200: {
|
|
1166
|
-
"application/json": "json"
|
|
1167
|
-
}
|
|
1168
|
-
})).then(commonHttpClient.castResponse()).then(this.getClientInstance().validation(validationSchemaStorage_1.validationSchemaStorage.validator("WorkflowsService.getAllWorkflows.response"))).then(commonHttpClient.getBody);
|
|
1169
|
-
};
|
|
1170
227
|
/**
|
|
1171
228
|
* Get the user's default workflow editor. This can be either the new editor or
|
|
1172
229
|
* the legacy editor.
|
|
@@ -2380,6 +1437,7 @@ class WorkflowsService extends CommonHttpService_1.CommonHttpService {
|
|
|
2380
1437
|
* {
|
|
2381
1438
|
* "errors": [
|
|
2382
1439
|
* {
|
|
1440
|
+
* "additionalDetails": "Additional details about the error message.",
|
|
2383
1441
|
* "code": "NON_UNIQUE_STATUS_NAME",
|
|
2384
1442
|
* "elementReference": {
|
|
2385
1443
|
* "statusReference": "1f0443ff-47e4-4306-9c26-0af696059a43"
|
|
@@ -2427,6 +1485,7 @@ class WorkflowsService extends CommonHttpService_1.CommonHttpService {
|
|
|
2427
1485
|
* {
|
|
2428
1486
|
* "errors": [
|
|
2429
1487
|
* {
|
|
1488
|
+
* "additionalDetails": "Additional details about the error message.",
|
|
2430
1489
|
* "code": "NON_UNIQUE_STATUS_NAME",
|
|
2431
1490
|
* "elementReference": {
|
|
2432
1491
|
* "statusReference": "1f0443ff-47e4-4306-9c26-0af696059a43"
|
|
@@ -3017,6 +2076,29 @@ class WorkflowsService extends CommonHttpService_1.CommonHttpService {
|
|
|
3017
2076
|
*
|
|
3018
2077
|
* * `webhookId` the ID of the webhook.
|
|
3019
2078
|
*
|
|
2079
|
+
* ##### Trigger agent #####
|
|
2080
|
+
*
|
|
2081
|
+
* A post function that triggers a Jira AI agent for the issue after the
|
|
2082
|
+
* transition runs, using the configured agent and an optional prompt. The agent
|
|
2083
|
+
* run is asynchronous: it is scheduled after the transition finishes and does not
|
|
2084
|
+
* block the transition.
|
|
2085
|
+
* ```
|
|
2086
|
+
* {
|
|
2087
|
+
* "ruleKey": "system:trigger-agent",
|
|
2088
|
+
* "parameters": {
|
|
2089
|
+
* "agentId": "712020:3c6d3f05-331a-4488-932e-37c34b704720",
|
|
2090
|
+
* "promptValue": ""
|
|
2091
|
+
* }
|
|
2092
|
+
* }
|
|
2093
|
+
* ```
|
|
2094
|
+
*
|
|
2095
|
+
* Parameters:
|
|
2096
|
+
*
|
|
2097
|
+
* * `agentId` the identifier of the agent to trigger (the Atlassian account ID
|
|
2098
|
+
* of the agent).
|
|
2099
|
+
* * `promptValue` optional text passed to the agent as a user prompt after the
|
|
2100
|
+
* transition runs; use an empty string if no extra prompt is needed.
|
|
2101
|
+
*
|
|
3020
2102
|
* #### Screen ####
|
|
3021
2103
|
*
|
|
3022
2104
|
* ##### Remind people to update fields #####
|
|
@@ -3200,16 +2282,6 @@ class WorkflowsService extends CommonHttpService_1.CommonHttpService {
|
|
|
3200
2282
|
};
|
|
3201
2283
|
}
|
|
3202
2284
|
static initialize() {
|
|
3203
|
-
validationSchemaStorage_1.validationSchemaStorage.registerExtensible("WorkflowsService.getAllWorkflows.response", zod_1.z.object({
|
|
3204
|
-
status: zod_1.z.literal(200),
|
|
3205
|
-
mediaType: zod_1.z.literal("application/json"),
|
|
3206
|
-
body: zod_1.z.array(validationSchemaStorage_1.validationSchemaStorage.lazy("DeprecatedWorkflow"))
|
|
3207
|
-
}).describe("WorkflowsService.getAllWorkflows.response"));
|
|
3208
|
-
validationSchemaStorage_1.validationSchemaStorage.registerExtensible("WorkflowsService.createWorkflow.response", zod_1.z.object({
|
|
3209
|
-
status: zod_1.z.literal(201),
|
|
3210
|
-
mediaType: zod_1.z.literal("application/json"),
|
|
3211
|
-
body: validationSchemaStorage_1.validationSchemaStorage.lazy("WorkflowIds")
|
|
3212
|
-
}).describe("WorkflowsService.createWorkflow.response"));
|
|
3213
2285
|
validationSchemaStorage_1.validationSchemaStorage.registerExtensible("WorkflowsService.getWorkflowProjectIssueTypeUsages.response", zod_1.z.object({
|
|
3214
2286
|
status: zod_1.z.literal(200),
|
|
3215
2287
|
mediaType: zod_1.z.literal("application/json"),
|