@forge/manifest 10.3.0-next.3 → 10.4.0-experimental-3f68b81
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/CHANGELOG.md +56 -0
- package/out/index.d.ts +1 -1
- package/out/index.d.ts.map +1 -1
- package/out/schema/basic-manifest-schema.json +0 -1
- package/out/schema/basic-manifest.d.ts +1 -1
- package/out/schema/manifest-schema.json +156 -27
- package/out/schema/manifest.d.ts +159 -19
- package/out/text/errors.d.ts +5 -0
- package/out/text/errors.d.ts.map +1 -1
- package/out/text/errors.js +5 -0
- package/out/types/module-types.d.ts +1 -0
- package/out/types/module-types.d.ts.map +1 -1
- package/out/types/module-types.js +1 -0
- package/out/validators/modules-validator.d.ts.map +1 -1
- package/out/validators/modules-validator.js +2 -1
- package/out/validators/modules-validators/jira/validate-action-validator.d.ts +4 -0
- package/out/validators/modules-validators/jira/validate-action-validator.d.ts.map +1 -0
- package/out/validators/modules-validators/jira/validate-action-validator.js +84 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,61 @@
|
|
|
1
1
|
# @forge/manifest
|
|
2
2
|
|
|
3
|
+
## 10.4.0-experimental-3f68b81
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fe2852a: Added backend SDK for permission handling
|
|
8
|
+
|
|
9
|
+
## 10.4.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 7e13ccd: Add support for multi-service tunnelling
|
|
14
|
+
- 17dfed4: Add validation for experimental `jira:actionValidator` module
|
|
15
|
+
- 2a0dadd: Remove Node18 runtime
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- acb3247: Update Typing for JiraActionValidatorModule
|
|
20
|
+
- d3b9bde: Update manifest definitions
|
|
21
|
+
|
|
22
|
+
## 10.4.0-next.3
|
|
23
|
+
|
|
24
|
+
### Minor Changes
|
|
25
|
+
|
|
26
|
+
- 7e13ccd: Add support for multi-service tunnelling
|
|
27
|
+
|
|
28
|
+
## 10.4.0-next.2
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- acb3247: Update Typing for JiraActionValidatorModule
|
|
33
|
+
- d3b9bde: Update manifest definitions
|
|
34
|
+
|
|
35
|
+
## 10.4.0-next.1
|
|
36
|
+
|
|
37
|
+
### Minor Changes
|
|
38
|
+
|
|
39
|
+
- 17dfed4: Add validation for experimental `jira:actionValidator` module
|
|
40
|
+
|
|
41
|
+
## 10.4.0-next.0
|
|
42
|
+
|
|
43
|
+
### Minor Changes
|
|
44
|
+
|
|
45
|
+
- 2a0dadd: Remove Node18 runtime
|
|
46
|
+
|
|
47
|
+
## 10.3.0
|
|
48
|
+
|
|
49
|
+
### Minor Changes
|
|
50
|
+
|
|
51
|
+
- 0db59f9: Add dashboards:backgroundScript module
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- 8ba142a: Bump runtime to nodejs22.x
|
|
56
|
+
- 86dbde7: Update manifest definitions
|
|
57
|
+
- a614f0b: Update manifest definitions
|
|
58
|
+
|
|
3
59
|
## 10.3.0-next.3
|
|
4
60
|
|
|
5
61
|
### Minor Changes
|
package/out/index.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export * from './text';
|
|
|
8
8
|
export * from './types';
|
|
9
9
|
export * from './utils';
|
|
10
10
|
export * from './validators';
|
|
11
|
-
export { Modules, ManifestSchema, App, Resources, Permissions, Remotes, Fetch, Providers, Backend, Frames, Navigation, Images, Media, Scripts1, Styles1, Scopes, Content1, Fonts, Translations, ForgeSupportedLocaleCode } from './schema/manifest';
|
|
11
|
+
export { Modules, ManifestSchema, App, Resources, Permissions, Remotes, Fetch, Providers, Backend, Frames, Navigation, Images, Media, Services, Scripts1, Styles1, Scopes, Content1, Fonts, Translations, ForgeSupportedLocaleCode, External } from './schema/manifest';
|
|
12
12
|
export declare const validate: (basic?: boolean, manifest?: string | undefined) => Promise<ManifestValidationResult<ManifestSchema | BasicManifestSchema>>;
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/out/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAmB,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,OAAO,EACP,cAAc,EACd,GAAG,EACH,SAAS,EACT,WAAW,EACX,OAAO,EACP,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAM,EACN,UAAU,EACV,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAmB,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,OAAO,EACP,cAAc,EACd,GAAG,EACH,SAAS,EACT,WAAW,EACX,OAAO,EACP,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAM,EACN,UAAU,EACV,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,QAAQ,+BAET,MAAM,GAAG,SAAS,KAC3B,QAAQ,yBAAyB,cAAc,GAAG,mBAAmB,CAAC,CAInD,CAAC"}
|
|
@@ -16,7 +16,7 @@ export type Id = string;
|
|
|
16
16
|
/**
|
|
17
17
|
* Name of the runtime to use for app execution.
|
|
18
18
|
*/
|
|
19
|
-
export type Name = '
|
|
19
|
+
export type Name = 'nodejs20.x' | 'nodejs22.x';
|
|
20
20
|
/**
|
|
21
21
|
* Lambda architecture, its value can be either 'x86_64' or 'arm64'. Default value is 'x86_64'.
|
|
22
22
|
*/
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
"title": "name",
|
|
26
26
|
"type": "string",
|
|
27
27
|
"enum": [
|
|
28
|
-
"nodejs18.x",
|
|
29
28
|
"nodejs20.x",
|
|
30
29
|
"nodejs22.x"
|
|
31
30
|
]
|
|
@@ -14755,6 +14754,65 @@
|
|
|
14755
14754
|
},
|
|
14756
14755
|
"minItems": 1
|
|
14757
14756
|
},
|
|
14757
|
+
"jira:actionValidator": {
|
|
14758
|
+
"type": "array",
|
|
14759
|
+
"items": {
|
|
14760
|
+
"type": "object",
|
|
14761
|
+
"properties": {
|
|
14762
|
+
"action": {
|
|
14763
|
+
"type": "string",
|
|
14764
|
+
"enum": [
|
|
14765
|
+
"workItemTypeChanged"
|
|
14766
|
+
]
|
|
14767
|
+
},
|
|
14768
|
+
"expression": {
|
|
14769
|
+
"type": "string"
|
|
14770
|
+
},
|
|
14771
|
+
"errorMessage": {
|
|
14772
|
+
"anyOf": [
|
|
14773
|
+
{
|
|
14774
|
+
"additionalProperties": false,
|
|
14775
|
+
"type": "object",
|
|
14776
|
+
"properties": {
|
|
14777
|
+
"i18n": {
|
|
14778
|
+
"type": "string",
|
|
14779
|
+
"minLength": 1,
|
|
14780
|
+
"maxLength": 300,
|
|
14781
|
+
"pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
|
|
14782
|
+
}
|
|
14783
|
+
},
|
|
14784
|
+
"required": [
|
|
14785
|
+
"i18n"
|
|
14786
|
+
]
|
|
14787
|
+
},
|
|
14788
|
+
{
|
|
14789
|
+
"type": "string"
|
|
14790
|
+
}
|
|
14791
|
+
]
|
|
14792
|
+
},
|
|
14793
|
+
"errorMessage__i18n": {
|
|
14794
|
+
"type": "string",
|
|
14795
|
+
"minLength": 1,
|
|
14796
|
+
"maxLength": 300,
|
|
14797
|
+
"pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
|
|
14798
|
+
},
|
|
14799
|
+
"key": {
|
|
14800
|
+
"$ref": "#/definitions/ModuleKeySchema"
|
|
14801
|
+
}
|
|
14802
|
+
},
|
|
14803
|
+
"required": [
|
|
14804
|
+
"action",
|
|
14805
|
+
"expression",
|
|
14806
|
+
"key"
|
|
14807
|
+
],
|
|
14808
|
+
"not": {
|
|
14809
|
+
"required": [
|
|
14810
|
+
"unlicensedAccess"
|
|
14811
|
+
]
|
|
14812
|
+
}
|
|
14813
|
+
},
|
|
14814
|
+
"minItems": 1
|
|
14815
|
+
},
|
|
14758
14816
|
"compass:adminPage": {
|
|
14759
14817
|
"type": "array",
|
|
14760
14818
|
"items": {
|
|
@@ -27045,7 +27103,12 @@
|
|
|
27045
27103
|
"atlassian:pull-request",
|
|
27046
27104
|
"atlassian:video",
|
|
27047
27105
|
"atlassian:work-item",
|
|
27048
|
-
"atlassian:worker"
|
|
27106
|
+
"atlassian:worker",
|
|
27107
|
+
"atlassian:dashboard",
|
|
27108
|
+
"atlassian:test",
|
|
27109
|
+
"atlassian:test-execution",
|
|
27110
|
+
"atlassian:test-plan",
|
|
27111
|
+
"atlassian:test-run"
|
|
27049
27112
|
],
|
|
27050
27113
|
"minLength": 1,
|
|
27051
27114
|
"maxLength": 255
|
|
@@ -27091,12 +27154,24 @@
|
|
|
27091
27154
|
"formConfiguration": {
|
|
27092
27155
|
"type": "object",
|
|
27093
27156
|
"properties": {
|
|
27094
|
-
"
|
|
27157
|
+
"form": {
|
|
27095
27158
|
"type": "array",
|
|
27096
27159
|
"minItems": 1,
|
|
27160
|
+
"maxItems": 5,
|
|
27097
27161
|
"items": {
|
|
27098
|
-
"$ref": "#/definitions/
|
|
27099
|
-
}
|
|
27162
|
+
"$ref": "#/definitions/FormSection"
|
|
27163
|
+
},
|
|
27164
|
+
"description": "Form properties to capture from Admin user (rendered in order)."
|
|
27165
|
+
},
|
|
27166
|
+
"instructions": {
|
|
27167
|
+
"type": "array",
|
|
27168
|
+
"items": {
|
|
27169
|
+
"type": "string"
|
|
27170
|
+
},
|
|
27171
|
+
"minItems": 1,
|
|
27172
|
+
"maxItems": 10,
|
|
27173
|
+
"description": "Instructions displayed to the admin at the top of the form.",
|
|
27174
|
+
"title": "instructions"
|
|
27100
27175
|
},
|
|
27101
27176
|
"validateConnection": {
|
|
27102
27177
|
"type": "object",
|
|
@@ -27127,7 +27202,7 @@
|
|
|
27127
27202
|
},
|
|
27128
27203
|
"additionalProperties": false,
|
|
27129
27204
|
"required": [
|
|
27130
|
-
"
|
|
27205
|
+
"form",
|
|
27131
27206
|
"validateConnection"
|
|
27132
27207
|
]
|
|
27133
27208
|
},
|
|
@@ -27145,6 +27220,9 @@
|
|
|
27145
27220
|
]
|
|
27146
27221
|
}
|
|
27147
27222
|
},
|
|
27223
|
+
"required": [
|
|
27224
|
+
"onConnectionChange"
|
|
27225
|
+
],
|
|
27148
27226
|
"additionalProperties": false
|
|
27149
27227
|
},
|
|
27150
27228
|
"key": {
|
|
@@ -28235,6 +28313,19 @@
|
|
|
28235
28313
|
}
|
|
28236
28314
|
}
|
|
28237
28315
|
},
|
|
28316
|
+
"ServiceTunnelSchema": {
|
|
28317
|
+
"type": "object",
|
|
28318
|
+
"additionalProperties": false,
|
|
28319
|
+
"required": [
|
|
28320
|
+
"port"
|
|
28321
|
+
],
|
|
28322
|
+
"properties": {
|
|
28323
|
+
"port": {
|
|
28324
|
+
"type": "number",
|
|
28325
|
+
"description": "The port of the service where tunnel requests should be sent"
|
|
28326
|
+
}
|
|
28327
|
+
}
|
|
28328
|
+
},
|
|
28238
28329
|
"ServicesSchema": {
|
|
28239
28330
|
"type": "array",
|
|
28240
28331
|
"additionalProperties": false,
|
|
@@ -28260,6 +28351,10 @@
|
|
|
28260
28351
|
"scaling": {
|
|
28261
28352
|
"$ref": "#/definitions/ServiceScalingSchema",
|
|
28262
28353
|
"title": "scaling"
|
|
28354
|
+
},
|
|
28355
|
+
"tunnel": {
|
|
28356
|
+
"$ref": "#/definitions/ServiceTunnelSchema",
|
|
28357
|
+
"title": "tunnel"
|
|
28263
28358
|
}
|
|
28264
28359
|
}
|
|
28265
28360
|
}
|
|
@@ -31113,40 +31208,29 @@
|
|
|
31113
31208
|
"minLength": 1,
|
|
31114
31209
|
"pattern": "^[a-zA-Z0-9-._]+$"
|
|
31115
31210
|
},
|
|
31116
|
-
"
|
|
31211
|
+
"FormProperty": {
|
|
31117
31212
|
"type": "object",
|
|
31118
31213
|
"properties": {
|
|
31119
31214
|
"key": {
|
|
31120
31215
|
"type": "string",
|
|
31121
|
-
"description": "The key identifying the
|
|
31216
|
+
"description": "The key identifying the form property."
|
|
31122
31217
|
},
|
|
31123
31218
|
"label": {
|
|
31124
|
-
"type": "
|
|
31125
|
-
"
|
|
31126
|
-
|
|
31127
|
-
|
|
31128
|
-
|
|
31129
|
-
|
|
31130
|
-
"description": {
|
|
31131
|
-
"type": "string",
|
|
31132
|
-
"description": "A description of the field label."
|
|
31133
|
-
}
|
|
31134
|
-
},
|
|
31135
|
-
"required": [
|
|
31136
|
-
"defaultMessage",
|
|
31137
|
-
"description"
|
|
31138
|
-
],
|
|
31139
|
-
"additionalProperties": false
|
|
31219
|
+
"type": "string",
|
|
31220
|
+
"description": "Label displayed to the admin."
|
|
31221
|
+
},
|
|
31222
|
+
"placeholder": {
|
|
31223
|
+
"type": "string",
|
|
31224
|
+
"description": "Placeholder text displayed to the admin."
|
|
31140
31225
|
},
|
|
31141
31226
|
"type": {
|
|
31142
31227
|
"type": "string",
|
|
31143
31228
|
"enum": [
|
|
31144
31229
|
"string",
|
|
31145
31230
|
"number",
|
|
31146
|
-
"boolean"
|
|
31147
|
-
"textArea"
|
|
31231
|
+
"boolean"
|
|
31148
31232
|
],
|
|
31149
|
-
"description": "The type of the
|
|
31233
|
+
"description": "The type of the property."
|
|
31150
31234
|
},
|
|
31151
31235
|
"isRequired": {
|
|
31152
31236
|
"type": "boolean",
|
|
@@ -31155,6 +31239,10 @@
|
|
|
31155
31239
|
"isSensitive": {
|
|
31156
31240
|
"type": "boolean",
|
|
31157
31241
|
"description": "Whether the property is sensitive. (default: false)"
|
|
31242
|
+
},
|
|
31243
|
+
"hideInEditView": {
|
|
31244
|
+
"type": "boolean",
|
|
31245
|
+
"description": "Whether the property is hidden in the edit view. (default: false)"
|
|
31158
31246
|
}
|
|
31159
31247
|
},
|
|
31160
31248
|
"required": [
|
|
@@ -31163,6 +31251,47 @@
|
|
|
31163
31251
|
"type"
|
|
31164
31252
|
],
|
|
31165
31253
|
"additionalProperties": false
|
|
31254
|
+
},
|
|
31255
|
+
"FormSection": {
|
|
31256
|
+
"type": "object",
|
|
31257
|
+
"properties": {
|
|
31258
|
+
"key": {
|
|
31259
|
+
"type": "string",
|
|
31260
|
+
"description": "The key identifying the form property section."
|
|
31261
|
+
},
|
|
31262
|
+
"type": {
|
|
31263
|
+
"type": "string",
|
|
31264
|
+
"enum": [
|
|
31265
|
+
"header"
|
|
31266
|
+
],
|
|
31267
|
+
"description": "The type of the section."
|
|
31268
|
+
},
|
|
31269
|
+
"title": {
|
|
31270
|
+
"type": "string",
|
|
31271
|
+
"description": "The title of the section."
|
|
31272
|
+
},
|
|
31273
|
+
"description": {
|
|
31274
|
+
"type": "string",
|
|
31275
|
+
"description": "The description of the section."
|
|
31276
|
+
},
|
|
31277
|
+
"properties": {
|
|
31278
|
+
"type": "array",
|
|
31279
|
+
"items": {
|
|
31280
|
+
"$ref": "#/definitions/FormProperty"
|
|
31281
|
+
},
|
|
31282
|
+
"minItems": 1,
|
|
31283
|
+
"maxItems": 10,
|
|
31284
|
+
"description": "The properties of the section."
|
|
31285
|
+
}
|
|
31286
|
+
},
|
|
31287
|
+
"required": [
|
|
31288
|
+
"key",
|
|
31289
|
+
"type",
|
|
31290
|
+
"title",
|
|
31291
|
+
"description",
|
|
31292
|
+
"properties"
|
|
31293
|
+
],
|
|
31294
|
+
"additionalProperties": false
|
|
31166
31295
|
}
|
|
31167
31296
|
},
|
|
31168
31297
|
"additionalProperties": false,
|
package/out/schema/manifest.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type Id = string;
|
|
|
16
16
|
/**
|
|
17
17
|
* Name of the runtime to use for app execution.
|
|
18
18
|
*/
|
|
19
|
-
export type Name = '
|
|
19
|
+
export type Name = 'nodejs20.x' | 'nodejs22.x';
|
|
20
20
|
/**
|
|
21
21
|
* Lambda architecture, its value can be either 'x86_64' or 'arm64'. Default value is 'x86_64'.
|
|
22
22
|
*/
|
|
@@ -684,6 +684,20 @@ export type ExtensionKey10 = string;
|
|
|
684
684
|
* A key referencing authentication provider. This will be utilised to authenticate end-users and match with external users.
|
|
685
685
|
*/
|
|
686
686
|
export type UserAuthProvider = string;
|
|
687
|
+
/**
|
|
688
|
+
* Instructions displayed to the admin at the top of the form.
|
|
689
|
+
*/
|
|
690
|
+
export type Instructions =
|
|
691
|
+
| [string]
|
|
692
|
+
| [string, string]
|
|
693
|
+
| [string, string, string]
|
|
694
|
+
| [string, string, string, string]
|
|
695
|
+
| [string, string, string, string, string]
|
|
696
|
+
| [string, string, string, string, string, string]
|
|
697
|
+
| [string, string, string, string, string, string, string]
|
|
698
|
+
| [string, string, string, string, string, string, string, string]
|
|
699
|
+
| [string, string, string, string, string, string, string, string, string]
|
|
700
|
+
| [string, string, string, string, string, string, string, string, string, string];
|
|
687
701
|
/**
|
|
688
702
|
* The key for an extension in CaaS. That means that this is a reference to another extension in your descriptor / manifest.
|
|
689
703
|
*/
|
|
@@ -806,6 +820,7 @@ export type Services = {
|
|
|
806
820
|
key: string;
|
|
807
821
|
containers: Containers;
|
|
808
822
|
scaling?: Scaling;
|
|
823
|
+
tunnel?: Tunnel;
|
|
809
824
|
}[];
|
|
810
825
|
|
|
811
826
|
export interface ManifestSchema {
|
|
@@ -18029,6 +18044,32 @@ export interface Modules {
|
|
|
18029
18044
|
key: ModuleKeySchema;
|
|
18030
18045
|
}[]
|
|
18031
18046
|
];
|
|
18047
|
+
'jira:actionValidator'?: [
|
|
18048
|
+
{
|
|
18049
|
+
action: 'workItemTypeChanged';
|
|
18050
|
+
expression: string;
|
|
18051
|
+
errorMessage?:
|
|
18052
|
+
| {
|
|
18053
|
+
i18n: string;
|
|
18054
|
+
}
|
|
18055
|
+
| string;
|
|
18056
|
+
errorMessage__i18n?: string;
|
|
18057
|
+
key: ModuleKeySchema;
|
|
18058
|
+
[k: string]: unknown;
|
|
18059
|
+
},
|
|
18060
|
+
...{
|
|
18061
|
+
action: 'workItemTypeChanged';
|
|
18062
|
+
expression: string;
|
|
18063
|
+
errorMessage?:
|
|
18064
|
+
| {
|
|
18065
|
+
i18n: string;
|
|
18066
|
+
}
|
|
18067
|
+
| string;
|
|
18068
|
+
errorMessage__i18n?: string;
|
|
18069
|
+
key: ModuleKeySchema;
|
|
18070
|
+
[k: string]: unknown;
|
|
18071
|
+
}[]
|
|
18072
|
+
];
|
|
18032
18073
|
'compass:adminPage'?: [
|
|
18033
18074
|
(
|
|
18034
18075
|
| {
|
|
@@ -23295,6 +23336,11 @@ export interface Modules {
|
|
|
23295
23336
|
| 'atlassian:video'
|
|
23296
23337
|
| 'atlassian:work-item'
|
|
23297
23338
|
| 'atlassian:worker'
|
|
23339
|
+
| 'atlassian:dashboard'
|
|
23340
|
+
| 'atlassian:test'
|
|
23341
|
+
| 'atlassian:test-execution'
|
|
23342
|
+
| 'atlassian:test-plan'
|
|
23343
|
+
| 'atlassian:test-run'
|
|
23298
23344
|
),
|
|
23299
23345
|
...(
|
|
23300
23346
|
| 'atlassian:document'
|
|
@@ -23319,6 +23365,11 @@ export interface Modules {
|
|
|
23319
23365
|
| 'atlassian:video'
|
|
23320
23366
|
| 'atlassian:work-item'
|
|
23321
23367
|
| 'atlassian:worker'
|
|
23368
|
+
| 'atlassian:dashboard'
|
|
23369
|
+
| 'atlassian:test'
|
|
23370
|
+
| 'atlassian:test-execution'
|
|
23371
|
+
| 'atlassian:test-plan'
|
|
23372
|
+
| 'atlassian:test-run'
|
|
23322
23373
|
)[]
|
|
23323
23374
|
];
|
|
23324
23375
|
orchestration?: {
|
|
@@ -23331,7 +23382,16 @@ export interface Modules {
|
|
|
23331
23382
|
};
|
|
23332
23383
|
datasource?: {
|
|
23333
23384
|
formConfiguration?: {
|
|
23334
|
-
|
|
23385
|
+
/**
|
|
23386
|
+
* Form properties to capture from Admin user (rendered in order).
|
|
23387
|
+
*/
|
|
23388
|
+
form:
|
|
23389
|
+
| [FormSection]
|
|
23390
|
+
| [FormSection, FormSection]
|
|
23391
|
+
| [FormSection, FormSection, FormSection]
|
|
23392
|
+
| [FormSection, FormSection, FormSection, FormSection]
|
|
23393
|
+
| [FormSection, FormSection, FormSection, FormSection, FormSection];
|
|
23394
|
+
instructions?: Instructions;
|
|
23335
23395
|
validateConnection: {
|
|
23336
23396
|
function: ExtensionKey11;
|
|
23337
23397
|
[k: string]: unknown;
|
|
@@ -23341,7 +23401,7 @@ export interface Modules {
|
|
|
23341
23401
|
[k: string]: unknown;
|
|
23342
23402
|
};
|
|
23343
23403
|
};
|
|
23344
|
-
onConnectionChange
|
|
23404
|
+
onConnectionChange: {
|
|
23345
23405
|
function: ExtensionKey13;
|
|
23346
23406
|
[k: string]: unknown;
|
|
23347
23407
|
};
|
|
@@ -23391,6 +23451,11 @@ export interface Modules {
|
|
|
23391
23451
|
| 'atlassian:video'
|
|
23392
23452
|
| 'atlassian:work-item'
|
|
23393
23453
|
| 'atlassian:worker'
|
|
23454
|
+
| 'atlassian:dashboard'
|
|
23455
|
+
| 'atlassian:test'
|
|
23456
|
+
| 'atlassian:test-execution'
|
|
23457
|
+
| 'atlassian:test-plan'
|
|
23458
|
+
| 'atlassian:test-run'
|
|
23394
23459
|
),
|
|
23395
23460
|
...(
|
|
23396
23461
|
| 'atlassian:document'
|
|
@@ -23415,6 +23480,11 @@ export interface Modules {
|
|
|
23415
23480
|
| 'atlassian:video'
|
|
23416
23481
|
| 'atlassian:work-item'
|
|
23417
23482
|
| 'atlassian:worker'
|
|
23483
|
+
| 'atlassian:dashboard'
|
|
23484
|
+
| 'atlassian:test'
|
|
23485
|
+
| 'atlassian:test-execution'
|
|
23486
|
+
| 'atlassian:test-plan'
|
|
23487
|
+
| 'atlassian:test-run'
|
|
23418
23488
|
)[]
|
|
23419
23489
|
];
|
|
23420
23490
|
orchestration?: {
|
|
@@ -23427,7 +23497,16 @@ export interface Modules {
|
|
|
23427
23497
|
};
|
|
23428
23498
|
datasource?: {
|
|
23429
23499
|
formConfiguration?: {
|
|
23430
|
-
|
|
23500
|
+
/**
|
|
23501
|
+
* Form properties to capture from Admin user (rendered in order).
|
|
23502
|
+
*/
|
|
23503
|
+
form:
|
|
23504
|
+
| [FormSection]
|
|
23505
|
+
| [FormSection, FormSection]
|
|
23506
|
+
| [FormSection, FormSection, FormSection]
|
|
23507
|
+
| [FormSection, FormSection, FormSection, FormSection]
|
|
23508
|
+
| [FormSection, FormSection, FormSection, FormSection, FormSection];
|
|
23509
|
+
instructions?: Instructions;
|
|
23431
23510
|
validateConnection: {
|
|
23432
23511
|
function: ExtensionKey11;
|
|
23433
23512
|
[k: string]: unknown;
|
|
@@ -23437,7 +23516,7 @@ export interface Modules {
|
|
|
23437
23516
|
[k: string]: unknown;
|
|
23438
23517
|
};
|
|
23439
23518
|
};
|
|
23440
|
-
onConnectionChange
|
|
23519
|
+
onConnectionChange: {
|
|
23441
23520
|
function: ExtensionKey13;
|
|
23442
23521
|
[k: string]: unknown;
|
|
23443
23522
|
};
|
|
@@ -72616,25 +72695,76 @@ export interface I18NProperty105 {
|
|
|
72616
72695
|
i18n?: string;
|
|
72617
72696
|
[k: string]: unknown;
|
|
72618
72697
|
}
|
|
72619
|
-
export interface
|
|
72698
|
+
export interface FormSection {
|
|
72620
72699
|
/**
|
|
72621
|
-
* The key identifying the
|
|
72700
|
+
* The key identifying the form property section.
|
|
72622
72701
|
*/
|
|
72623
72702
|
key: string;
|
|
72624
|
-
label: {
|
|
72625
|
-
/**
|
|
72626
|
-
* The default message for the field label.
|
|
72627
|
-
*/
|
|
72628
|
-
defaultMessage: string;
|
|
72629
|
-
/**
|
|
72630
|
-
* A description of the field label.
|
|
72631
|
-
*/
|
|
72632
|
-
description: string;
|
|
72633
|
-
};
|
|
72634
72703
|
/**
|
|
72635
|
-
* The type of the
|
|
72704
|
+
* The type of the section.
|
|
72705
|
+
*/
|
|
72706
|
+
type: 'header';
|
|
72707
|
+
/**
|
|
72708
|
+
* The title of the section.
|
|
72636
72709
|
*/
|
|
72637
|
-
|
|
72710
|
+
title: string;
|
|
72711
|
+
/**
|
|
72712
|
+
* The description of the section.
|
|
72713
|
+
*/
|
|
72714
|
+
description: string;
|
|
72715
|
+
/**
|
|
72716
|
+
* The properties of the section.
|
|
72717
|
+
*/
|
|
72718
|
+
properties:
|
|
72719
|
+
| [FormProperty]
|
|
72720
|
+
| [FormProperty, FormProperty]
|
|
72721
|
+
| [FormProperty, FormProperty, FormProperty]
|
|
72722
|
+
| [FormProperty, FormProperty, FormProperty, FormProperty]
|
|
72723
|
+
| [FormProperty, FormProperty, FormProperty, FormProperty, FormProperty]
|
|
72724
|
+
| [FormProperty, FormProperty, FormProperty, FormProperty, FormProperty, FormProperty]
|
|
72725
|
+
| [FormProperty, FormProperty, FormProperty, FormProperty, FormProperty, FormProperty, FormProperty]
|
|
72726
|
+
| [FormProperty, FormProperty, FormProperty, FormProperty, FormProperty, FormProperty, FormProperty, FormProperty]
|
|
72727
|
+
| [
|
|
72728
|
+
FormProperty,
|
|
72729
|
+
FormProperty,
|
|
72730
|
+
FormProperty,
|
|
72731
|
+
FormProperty,
|
|
72732
|
+
FormProperty,
|
|
72733
|
+
FormProperty,
|
|
72734
|
+
FormProperty,
|
|
72735
|
+
FormProperty,
|
|
72736
|
+
FormProperty
|
|
72737
|
+
]
|
|
72738
|
+
| [
|
|
72739
|
+
FormProperty,
|
|
72740
|
+
FormProperty,
|
|
72741
|
+
FormProperty,
|
|
72742
|
+
FormProperty,
|
|
72743
|
+
FormProperty,
|
|
72744
|
+
FormProperty,
|
|
72745
|
+
FormProperty,
|
|
72746
|
+
FormProperty,
|
|
72747
|
+
FormProperty,
|
|
72748
|
+
FormProperty
|
|
72749
|
+
];
|
|
72750
|
+
}
|
|
72751
|
+
export interface FormProperty {
|
|
72752
|
+
/**
|
|
72753
|
+
* The key identifying the form property.
|
|
72754
|
+
*/
|
|
72755
|
+
key: string;
|
|
72756
|
+
/**
|
|
72757
|
+
* Label displayed to the admin.
|
|
72758
|
+
*/
|
|
72759
|
+
label: string;
|
|
72760
|
+
/**
|
|
72761
|
+
* Placeholder text displayed to the admin.
|
|
72762
|
+
*/
|
|
72763
|
+
placeholder?: string;
|
|
72764
|
+
/**
|
|
72765
|
+
* The type of the property.
|
|
72766
|
+
*/
|
|
72767
|
+
type: 'string' | 'number' | 'boolean';
|
|
72638
72768
|
/**
|
|
72639
72769
|
* Whether the property is required. (default: false)
|
|
72640
72770
|
*/
|
|
@@ -72643,6 +72773,10 @@ export interface ConnectionProperty {
|
|
|
72643
72773
|
* Whether the property is sensitive. (default: false)
|
|
72644
72774
|
*/
|
|
72645
72775
|
isSensitive?: boolean;
|
|
72776
|
+
/**
|
|
72777
|
+
* Whether the property is hidden in the edit view. (default: false)
|
|
72778
|
+
*/
|
|
72779
|
+
hideInEditView?: boolean;
|
|
72646
72780
|
}
|
|
72647
72781
|
export interface Permissions {
|
|
72648
72782
|
scopes?: Scopes;
|
|
@@ -73025,3 +73159,9 @@ export interface Scaling {
|
|
|
73025
73159
|
*/
|
|
73026
73160
|
max?: number;
|
|
73027
73161
|
}
|
|
73162
|
+
export interface Tunnel {
|
|
73163
|
+
/**
|
|
73164
|
+
* The port of the service where tunnel requests should be sent
|
|
73165
|
+
*/
|
|
73166
|
+
port: number;
|
|
73167
|
+
}
|
package/out/text/errors.d.ts
CHANGED
|
@@ -90,6 +90,11 @@ export declare const errors: {
|
|
|
90
90
|
jiraJqlFunction: {
|
|
91
91
|
duplicateFunctionNames: (names: string[]) => string;
|
|
92
92
|
};
|
|
93
|
+
jiraActionValidator: {
|
|
94
|
+
limitPerActionType: (actionType: string, limit: number) => string;
|
|
95
|
+
incompatibleModules: (otherModules: string[]) => string;
|
|
96
|
+
tooManyModules: (totalModules: number, limit: number) => string;
|
|
97
|
+
};
|
|
93
98
|
moduleScopesValidator: {
|
|
94
99
|
missingScopes: (moduleType: AllModuleTypes, key: string, scopes: string[]) => string;
|
|
95
100
|
};
|
package/out/text/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,eAAO,MAAM,MAAM;8BACS,MAAM,KAAG,MAAM;2BACpB,MAAM;yBAEN,MAAM,GAAG,SAAS,QAAQ,MAAM,EAAE,UAAU,MAAM,GAAG,SAAS,KAAG,MAAM;;uBAO3E,MAAM,EAAE,EAAE,GAAG,SAAS,KAAG,MAAM;4BAI1B,MAAM,EAAE,KAAG,MAAM;mCACV,MAAM,SAAS,MAAM,mBAAmB,MAAM,KAAG,MAAM;mDAIvC,MAAM,KAAG,MAAM;4BAEtC,MAAM,EAAE,GAAG,SAAS,KAAG,MAAM;+CAIV,MAAM;6CACR,MAAM,gBAAgB,MAAM;qCAEpC,MAAM;2CACA,MAAM;6CACJ,MAAM;;;qCAGd,MAAM,SAAS,MAAM,KAAG,MAAM;4CAEvB,MAAM,SAAS,MAAM,KAAG,MAAM;oDAEtB,MAAM,OAAO,MAAM,KAAG,MAAM;kDAE9B,MAAM,OAAO,MAAM,KAAG,MAAM;wCAEtC,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM;0CAI9B,MAAM;2CAEL,MAAM,KAAG,MAAM;0CAEhB,MAAM,SAAS,MAAM,KAAG,MAAM;+CAEzB,MAAM,KAAG,MAAM;gCAE9B,MAAM,KAAG,MAAM;;;uCAIR,MAAM,KAAG,MAAM;0CACZ,MAAM,KAAG,MAAM;;;gCAGzB,MAAM,KAAG,MAAM;6BACpB,MAAM;+BACJ,MAAM;iCACF,MAAM,KAAG,MAAM;yCACP,MAAM,eAAe,MAAM,KAAG,MAAM;yCAEpC,MAAM,eAAe,MAAM,KAAG,MAAM;wCAErC,MAAM,cAAc,MAAM,KAAG,MAAM;yCAElC,MAAM,eAAe,MAAM,KAAG,MAAM;oCAEzC,MAAM;6CACG,MAAM,KAAG,MAAM;0EAEc,MAAM,KAAG,MAAM;4DAE7B,MAAM,KAAG,MAAM;6DAEd,MAAM,KAAG,MAAM;;yCAGrC,MAAM,KAAG,MAAM;iCAEvB,MAAM,KAAG,MAAM;4CACJ,MAAM,gBAAgB,MAAM,KAAG,MAAM;sCAE3C,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,KAAG,MAAM;;;wDAIzC,MAAM,qBAAqB,MAAM,KAAG,MAAM;4CAEtD,MAAM,qBAAqB,MAAM,KAAG,MAAM;;;yCAI7C,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;2CAIhD,MAAM,aAAa,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;sDAEvC,MAAM,QAAQ,MAAM,EAAE,KAAG,MAAM;8DAEvB,MAAM,aAAa,MAAM,cAAc,MAAM,KAAG,MAAM;6EAEvC,MAAM,qBAAqB,MAAM,KAAG,MAAM;yEAE9C,MAAM,qBAAqB,MAAM,KAAG,MAAM;;wCAG/E,MAAM;sDACU,MAAM,KAAG,MAAM;iDAEpB,MAAM,KAAG,MAAM;2DAEL,MAAM,KAAG,MAAM;0CAEhC,MAAM,OAAO,MAAM,KAAG,MAAM;yDAEb,MAAM,KAAG,MAAM;uEAED,MAAM,KAAG,MAAM;;;sDAIhC,MAAM,WAAW,MAAM,SAAS,MAAM,KAAG,MAAM;6CAExD,MAAM,KAAG,MAAM;;;;mCAKvB,MAAM,KAAG,MAAM;mCAEf,MAAM,KAAG,MAAM;;;qCAIb,MAAM,KAAG,MAAM;;;0CAIV,MAAM,KAAG,MAAM;;;4CAIb,MAAM,EAAE,KAAG,MAAM;;;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
|
package/out/text/errors.js
CHANGED
|
@@ -102,6 +102,11 @@ exports.errors = {
|
|
|
102
102
|
jiraJqlFunction: {
|
|
103
103
|
duplicateFunctionNames: (names) => `JQL function names must be unique. Found duplicates: ${names.join(', ')}.`
|
|
104
104
|
},
|
|
105
|
+
jiraActionValidator: {
|
|
106
|
+
limitPerActionType: (actionType, limit) => `Only ${limit} ${types_1.AllModuleTypes.JiraActionValidator} module is allowed per action type. Found multiple modules for action type: ${actionType}.`,
|
|
107
|
+
incompatibleModules: (otherModules) => `${types_1.AllModuleTypes.JiraActionValidator} modules can only be declared with page modules and core functions. Found incompatible modules: ${otherModules.join(', ')}.`,
|
|
108
|
+
tooManyModules: (totalModules, limit) => `Apps with ${types_1.AllModuleTypes.JiraActionValidator} modules can declare up to ${limit} additional modules. Found ${totalModules} total modules.`
|
|
109
|
+
},
|
|
105
110
|
moduleScopesValidator: {
|
|
106
111
|
missingScopes: (moduleType, key, scopes) => `${moduleType} module '${key}' requires '${scopes.join(', ')}' scope(s).`
|
|
107
112
|
},
|
|
@@ -31,6 +31,7 @@ export declare enum AllModuleTypes {
|
|
|
31
31
|
JiraWorkflowValidator = "jira:workflowValidator",
|
|
32
32
|
JiraWorkflowCondition = "jira:workflowCondition",
|
|
33
33
|
JiraWorkflowPostFunction = "jira:workflowPostFunction",
|
|
34
|
+
JiraActionValidator = "jira:actionValidator",
|
|
34
35
|
JiraCustomField = "jira:customField",
|
|
35
36
|
JiraCustomFieldType = "jira:customFieldType",
|
|
36
37
|
JiraIssueAction = "jira:issueAction",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-types.d.ts","sourceRoot":"","sources":["../../src/types/module-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-types.d.ts","sourceRoot":"","sources":["../../src/types/module-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ var AllModuleTypes;
|
|
|
35
35
|
AllModuleTypes["JiraWorkflowValidator"] = "jira:workflowValidator";
|
|
36
36
|
AllModuleTypes["JiraWorkflowCondition"] = "jira:workflowCondition";
|
|
37
37
|
AllModuleTypes["JiraWorkflowPostFunction"] = "jira:workflowPostFunction";
|
|
38
|
+
AllModuleTypes["JiraActionValidator"] = "jira:actionValidator";
|
|
38
39
|
AllModuleTypes["JiraCustomField"] = "jira:customField";
|
|
39
40
|
AllModuleTypes["JiraCustomFieldType"] = "jira:customFieldType";
|
|
40
41
|
AllModuleTypes["JiraIssueAction"] = "jira:issueAction";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,wBAAwB,EAKzB,MAAM,UAAU,CAAC;AASlB,OAAO,EAEL,cAAc,EAMf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,wBAAwB,EAKzB,MAAM,UAAU,CAAC;AASlB,OAAO,EAEL,cAAc,EAMf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAwB3D,qBAAa,gBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAGzF,OAAO,CAAC,oBAAoB,CAAsE;IAE5F,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IA8DpD,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,4BAA4B;IA0BpC,OAAO,CAAC,mBAAmB;IA+H3B,OAAO,CAAC,4BAA4B;IA2BpC,OAAO,CAAC,yBAAyB;CAkClC"}
|
|
@@ -20,6 +20,7 @@ const validate_full_page_1 = require("./modules-validators/jira/validate-full-pa
|
|
|
20
20
|
const validate_custom_field_1 = require("./modules-validators/jira/validate-custom-field");
|
|
21
21
|
const validate_trigger_1 = require("./modules-validators/jira/validate-trigger");
|
|
22
22
|
const validate_command_1 = require("./modules-validators/jira/validate-command");
|
|
23
|
+
const validate_action_validator_1 = require("./modules-validators/jira/validate-action-validator");
|
|
23
24
|
const scopes_1 = require("../utils/scopes");
|
|
24
25
|
const automation_1 = require("./modules-validators/automation");
|
|
25
26
|
class ModulesValidator {
|
|
@@ -34,7 +35,7 @@ class ModulesValidator {
|
|
|
34
35
|
let validationErrors = [...this.connectModuleValidation(manifest)];
|
|
35
36
|
if (manifest.typedContent.modules) {
|
|
36
37
|
const { typedContent: { modules, connectModules, remotes, permissions, services }, yamlContentByLine, filePath } = manifest;
|
|
37
|
-
validationErrors = validationErrors.concat(this.checkUnsupportedModules(manifest.typedContent.modules, yamlContentByLine), this.functionKeyLength(modules, yamlContentByLine), this.minimumModuleCountValidation(modules, yamlContentByLine), this.functionKeyDefinedValidation(modules, yamlContentByLine), this.endpointValidations(modules, yamlContentByLine, remotes, permissions?.scopes || [], services), this.duplicateModuleKeyValidation(modules, connectModules || {}, yamlContentByLine), this.functionHandlerValidation(modules, yamlContentByLine, filePath), (0, validate_workflow_1.validateJiraWorkflowValidator)(modules, yamlContentByLine), (0, validate_workflow_1.validateJiraWorkflowCondition)(modules, yamlContentByLine), (0, ui_modifications_1.validateUiModificationsModule)(modules, yamlContentByLine), (0, validate_full_admin_page_1.validateJiraFullAdminPage)(modules, yamlContentByLine), (0, validate_full_page_1.validateJiraFullPage)(modules, yamlContentByLine), (0, validate_custom_field_1.validateJiraCustomField)(modules, yamlContentByLine), (0, confluence_1.validateConfluenceModules)(modules, yamlContentByLine), (0, bitbucket_1.validateBitbucketModules)(modules, yamlContentByLine), (0, validate_trigger_1.validateJiraTriggers)(modules, yamlContentByLine), (0, remote_1.validateRemoteModules)(modules, yamlContentByLine), (0, dataResidency_1.validateMigrationDataResidencyModule)(modules, remotes, yamlContentByLine), (0, validateModuleScopes_1.validateModuleScopes)(modules, yamlContentByLine, permissions), (0, rovo_1.validateRovoModules)(modules, yamlContentByLine), (0, automation_1.validateAutomationModules)(modules, yamlContentByLine), (0, validate_timetrackingprovider_module_1.validateJiraTimeTrackingModule)(modules, yamlContentByLine), (0, validate_command_1.validateJiraCommandModule)(modules, yamlContentByLine));
|
|
38
|
+
validationErrors = validationErrors.concat(this.checkUnsupportedModules(manifest.typedContent.modules, yamlContentByLine), this.functionKeyLength(modules, yamlContentByLine), this.minimumModuleCountValidation(modules, yamlContentByLine), this.functionKeyDefinedValidation(modules, yamlContentByLine), this.endpointValidations(modules, yamlContentByLine, remotes, permissions?.scopes || [], services), this.duplicateModuleKeyValidation(modules, connectModules || {}, yamlContentByLine), this.functionHandlerValidation(modules, yamlContentByLine, filePath), (0, validate_workflow_1.validateJiraWorkflowValidator)(modules, yamlContentByLine), (0, validate_workflow_1.validateJiraWorkflowCondition)(modules, yamlContentByLine), (0, ui_modifications_1.validateUiModificationsModule)(modules, yamlContentByLine), (0, validate_full_admin_page_1.validateJiraFullAdminPage)(modules, yamlContentByLine), (0, validate_full_page_1.validateJiraFullPage)(modules, yamlContentByLine), (0, validate_custom_field_1.validateJiraCustomField)(modules, yamlContentByLine), (0, confluence_1.validateConfluenceModules)(modules, yamlContentByLine), (0, bitbucket_1.validateBitbucketModules)(modules, yamlContentByLine), (0, validate_trigger_1.validateJiraTriggers)(modules, yamlContentByLine), (0, remote_1.validateRemoteModules)(modules, yamlContentByLine), (0, dataResidency_1.validateMigrationDataResidencyModule)(modules, remotes, yamlContentByLine), (0, validateModuleScopes_1.validateModuleScopes)(modules, yamlContentByLine, permissions), (0, rovo_1.validateRovoModules)(modules, yamlContentByLine), (0, automation_1.validateAutomationModules)(modules, yamlContentByLine), (0, validate_timetrackingprovider_module_1.validateJiraTimeTrackingModule)(modules, yamlContentByLine), (0, validate_command_1.validateJiraCommandModule)(modules, yamlContentByLine), (0, validate_action_validator_1.validateJiraActionValidator)(modules, yamlContentByLine));
|
|
38
39
|
}
|
|
39
40
|
else {
|
|
40
41
|
const { typedContent: { connectModules }, yamlContentByLine } = manifest;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ValidationError } from '../../../types';
|
|
2
|
+
import { Modules } from '../../../schema/manifest';
|
|
3
|
+
export declare function validateJiraActionValidator(modules: Modules, yamlContentByLine: string[] | undefined): ValidationError[];
|
|
4
|
+
//# sourceMappingURL=validate-action-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-action-validator.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/jira/validate-action-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AA8BnD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,eAAe,EAAE,CAYnB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateJiraActionValidator = void 0;
|
|
4
|
+
const text_1 = require("../../../text");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
const module_types_1 = require("../../../types/module-types");
|
|
7
|
+
const PAGE_MODULE_TYPES = [
|
|
8
|
+
module_types_1.AllModuleTypes.JiraAdminPage,
|
|
9
|
+
module_types_1.AllModuleTypes.JiraProjectPage,
|
|
10
|
+
module_types_1.AllModuleTypes.JiraProjectSettingsPage,
|
|
11
|
+
module_types_1.AllModuleTypes.JiraGlobalPage,
|
|
12
|
+
module_types_1.AllModuleTypes.JiraPersonalSettingsPage
|
|
13
|
+
];
|
|
14
|
+
const MAX_JIRA_ACTION_VALIDATORS = 1;
|
|
15
|
+
const MAX_ALLOWED_MODULES = MAX_JIRA_ACTION_VALIDATORS + 1;
|
|
16
|
+
function validateJiraActionValidator(modules, yamlContentByLine) {
|
|
17
|
+
const actionValidatorModules = getActionValidatorModules(modules);
|
|
18
|
+
if (actionValidatorModules.length === 0) {
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
return [
|
|
22
|
+
...validateUniqueActionTypes(actionValidatorModules, yamlContentByLine),
|
|
23
|
+
...validateCompatibleModules(modules, actionValidatorModules, yamlContentByLine),
|
|
24
|
+
...validateModuleLimit(modules, actionValidatorModules, yamlContentByLine)
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
exports.validateJiraActionValidator = validateJiraActionValidator;
|
|
28
|
+
function getActionValidatorModules(modules) {
|
|
29
|
+
const actionValidators = modules[module_types_1.AllModuleTypes.JiraActionValidator];
|
|
30
|
+
return Array.isArray(actionValidators) ? actionValidators : [];
|
|
31
|
+
}
|
|
32
|
+
function createValidationError(message, key, yamlContentByLine) {
|
|
33
|
+
return {
|
|
34
|
+
message,
|
|
35
|
+
reference: text_1.References.Modules,
|
|
36
|
+
level: 'error',
|
|
37
|
+
...(0, utils_1.findPosition)(key, yamlContentByLine)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function validateUniqueActionTypes(actionValidatorModules, yamlContentByLine) {
|
|
41
|
+
if (actionValidatorModules.length <= 1) {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
const actionTypeGroups = new Map();
|
|
45
|
+
actionValidatorModules.forEach((module) => {
|
|
46
|
+
const actionType = module.action || 'unknown';
|
|
47
|
+
const group = actionTypeGroups.get(actionType) || [];
|
|
48
|
+
group.push(module);
|
|
49
|
+
actionTypeGroups.set(actionType, group);
|
|
50
|
+
});
|
|
51
|
+
return Array.from(actionTypeGroups.entries())
|
|
52
|
+
.filter(([, modules]) => modules.length > MAX_JIRA_ACTION_VALIDATORS)
|
|
53
|
+
.flatMap(([actionType, modules]) => modules.map((module) => createValidationError(text_1.errors.modules.jiraActionValidator.limitPerActionType(actionType, MAX_JIRA_ACTION_VALIDATORS), module.key, yamlContentByLine)));
|
|
54
|
+
}
|
|
55
|
+
function validateCompatibleModules(modules, actionValidatorModules, yamlContentByLine) {
|
|
56
|
+
const incompatibleModules = getIncompatibleModules(modules);
|
|
57
|
+
if (incompatibleModules.length === 0) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
return actionValidatorModules.map((module) => createValidationError(text_1.errors.modules.jiraActionValidator.incompatibleModules(incompatibleModules), module.key, yamlContentByLine));
|
|
61
|
+
}
|
|
62
|
+
function getIncompatibleModules(modules) {
|
|
63
|
+
const moduleTypes = Object.keys(modules);
|
|
64
|
+
const otherModules = moduleTypes.filter((type) => type !== module_types_1.AllModuleTypes.JiraActionValidator);
|
|
65
|
+
return otherModules.filter((moduleType) => {
|
|
66
|
+
const isPageModule = PAGE_MODULE_TYPES.includes(moduleType);
|
|
67
|
+
const isCoreFunction = moduleType === module_types_1.AllModuleTypes.CoreFunction;
|
|
68
|
+
return !isPageModule && !isCoreFunction;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function validateModuleLimit(modules, actionValidatorModules, yamlContentByLine) {
|
|
72
|
+
const nonCoreModuleCount = getNonCoreModuleCount(modules);
|
|
73
|
+
if (nonCoreModuleCount <= MAX_ALLOWED_MODULES) {
|
|
74
|
+
return [];
|
|
75
|
+
}
|
|
76
|
+
return actionValidatorModules.map((module) => createValidationError(text_1.errors.modules.jiraActionValidator.tooManyModules(nonCoreModuleCount, MAX_JIRA_ACTION_VALIDATORS), module.key, yamlContentByLine));
|
|
77
|
+
}
|
|
78
|
+
function getNonCoreModuleCount(modules) {
|
|
79
|
+
return Object.entries(modules)
|
|
80
|
+
.filter(([moduleType]) => !moduleType.startsWith('core:'))
|
|
81
|
+
.reduce((total, [, moduleArray]) => {
|
|
82
|
+
return total + (Array.isArray(moduleArray) ? moduleArray.length : 0);
|
|
83
|
+
}, 0);
|
|
84
|
+
}
|