@forge/manifest 8.0.0-next.9 → 8.0.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/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
1
  # @forge/manifest
2
2
 
3
+ ## 8.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 9dc2ad3: Lint display conditions of dashboard gadget module
8
+
9
+ ### Minor Changes
10
+
11
+ - cd7008b: Add support for migration:dataResidency
12
+ - 49c8f18: Add jira:boardAction moduleType
13
+ - 5d4af6e: Added storage modules
14
+
15
+ ### Patch Changes
16
+
17
+ - 7c74795: Update i18 schema test to include BoardAction
18
+ - da32dcc: Improve i18n unit tests process to avoid breaking pipeline unexpectly
19
+ - 47501f7: Add missing ko-KR to the supported forge locale / language list
20
+ - a9c6303: Update manifest definitions
21
+ - c84549a: Update manifest definitions
22
+ - eb1bb6e: Update manifest definitions
23
+ - 3b3e56e: Update manifest definitions
24
+ - 0e1b960: Update manifest definitions
25
+ - 9f77b20: Update manifest definitions
26
+ - 8ca9a19: Update manifest definitions
27
+ - Updated dependencies [47501f7]
28
+ - @forge/i18n@0.0.2
29
+
30
+ ## 8.0.0-next.12
31
+
32
+ ### Patch Changes
33
+
34
+ - 9f77b20: Update manifest definitions
35
+
36
+ ## 8.0.0-next.11
37
+
38
+ ### Minor Changes
39
+
40
+ - cd7008b: Add support for migration:dataResidency
41
+
42
+ ## 8.0.0-next.10
43
+
44
+ ### Patch Changes
45
+
46
+ - c84549a: Update manifest definitions
47
+
3
48
  ## 8.0.0-next.9
4
49
 
5
50
  ### Patch Changes
@@ -1799,6 +1799,52 @@
1799
1799
  },
1800
1800
  "minItems": 1
1801
1801
  },
1802
+ "migration:dataResidency": {
1803
+ "type": "array",
1804
+ "items": {
1805
+ "$schema": "http://json-schema.org/draft-07/schema#",
1806
+ "description": "A Forge data residency definition.",
1807
+ "additionalProperties": false,
1808
+ "properties": {
1809
+ "remote": {
1810
+ "description": "key for the data residency remote definition",
1811
+ "maxLength": 255,
1812
+ "minLength": 1,
1813
+ "pattern": "^[a-zA-Z0-9-_]+$",
1814
+ "type": "string"
1815
+ },
1816
+ "path": {
1817
+ "title": "path",
1818
+ "minLength": 1,
1819
+ "maxLength": 500,
1820
+ "description": "Data residency migration hook path",
1821
+ "type": "string"
1822
+ },
1823
+ "maxMigrationDurationHours": {
1824
+ "title": "maxMigrationDurationHours",
1825
+ "type": "number",
1826
+ "default": 24,
1827
+ "multipleOf": 0.5,
1828
+ "minimum": 0.5,
1829
+ "maximum": 24
1830
+ },
1831
+ "key": {
1832
+ "$ref": "#/definitions/ModuleKeySchema"
1833
+ }
1834
+ },
1835
+ "required": [
1836
+ "remote",
1837
+ "key"
1838
+ ],
1839
+ "type": "object",
1840
+ "not": {
1841
+ "required": [
1842
+ "unlicensedAccess"
1843
+ ]
1844
+ }
1845
+ },
1846
+ "minItems": 1
1847
+ },
1802
1848
  "confluence:contextMenu": {
1803
1849
  "type": "array",
1804
1850
  "items": {
@@ -12244,6 +12290,15 @@
12244
12290
  "minLength": 1,
12245
12291
  "maxLength": 255
12246
12292
  },
12293
+ "actionType": {
12294
+ "minLength": 1,
12295
+ "maxLength": 255,
12296
+ "enum": [
12297
+ "dynamic",
12298
+ "modal"
12299
+ ],
12300
+ "type": "string"
12301
+ },
12247
12302
  "viewportSize": {
12248
12303
  "minLength": 1,
12249
12304
  "maxLength": 255,
@@ -12268,6 +12323,27 @@
12268
12323
  "maxLength": 23,
12269
12324
  "pattern": "^[a-zA-Z0-9_\\-]+$"
12270
12325
  },
12326
+ "actionType": {
12327
+ "minLength": 1,
12328
+ "maxLength": 255,
12329
+ "enum": [
12330
+ "dynamic",
12331
+ "modal"
12332
+ ],
12333
+ "type": "string"
12334
+ },
12335
+ "viewportSize": {
12336
+ "minLength": 1,
12337
+ "maxLength": 255,
12338
+ "enum": [
12339
+ "large",
12340
+ "max",
12341
+ "medium",
12342
+ "small",
12343
+ "xlarge"
12344
+ ],
12345
+ "type": "string"
12346
+ },
12271
12347
  "title": {
12272
12348
  "anyOf": [
12273
12349
  {
@@ -12748,6 +12824,15 @@
12748
12824
  "minLength": 1,
12749
12825
  "maxLength": 255
12750
12826
  },
12827
+ "actionType": {
12828
+ "minLength": 1,
12829
+ "maxLength": 255,
12830
+ "enum": [
12831
+ "dynamic",
12832
+ "modal"
12833
+ ],
12834
+ "type": "string"
12835
+ },
12751
12836
  "viewportSize": {
12752
12837
  "minLength": 1,
12753
12838
  "maxLength": 255,
@@ -12772,6 +12857,27 @@
12772
12857
  "maxLength": 23,
12773
12858
  "pattern": "^[a-zA-Z0-9_\\-]+$"
12774
12859
  },
12860
+ "actionType": {
12861
+ "minLength": 1,
12862
+ "maxLength": 255,
12863
+ "enum": [
12864
+ "dynamic",
12865
+ "modal"
12866
+ ],
12867
+ "type": "string"
12868
+ },
12869
+ "viewportSize": {
12870
+ "minLength": 1,
12871
+ "maxLength": 255,
12872
+ "enum": [
12873
+ "large",
12874
+ "max",
12875
+ "medium",
12876
+ "small",
12877
+ "xlarge"
12878
+ ],
12879
+ "type": "string"
12880
+ },
12775
12881
  "title": {
12776
12882
  "anyOf": [
12777
12883
  {
@@ -12984,6 +13090,15 @@
12984
13090
  "minLength": 1,
12985
13091
  "maxLength": 255
12986
13092
  },
13093
+ "actionType": {
13094
+ "minLength": 1,
13095
+ "maxLength": 255,
13096
+ "enum": [
13097
+ "dynamic",
13098
+ "modal"
13099
+ ],
13100
+ "type": "string"
13101
+ },
12987
13102
  "viewportSize": {
12988
13103
  "minLength": 1,
12989
13104
  "maxLength": 255,
@@ -13008,6 +13123,27 @@
13008
13123
  "maxLength": 23,
13009
13124
  "pattern": "^[a-zA-Z0-9_\\-]+$"
13010
13125
  },
13126
+ "actionType": {
13127
+ "minLength": 1,
13128
+ "maxLength": 255,
13129
+ "enum": [
13130
+ "dynamic",
13131
+ "modal"
13132
+ ],
13133
+ "type": "string"
13134
+ },
13135
+ "viewportSize": {
13136
+ "minLength": 1,
13137
+ "maxLength": 255,
13138
+ "enum": [
13139
+ "large",
13140
+ "max",
13141
+ "medium",
13142
+ "small",
13143
+ "xlarge"
13144
+ ],
13145
+ "type": "string"
13146
+ },
13011
13147
  "title": {
13012
13148
  "anyOf": [
13013
13149
  {
@@ -25643,6 +25779,18 @@
25643
25779
  "title": "expression",
25644
25780
  "description": "The app will ignore events filtered out by expression",
25645
25781
  "type": "string"
25782
+ },
25783
+ "onError": {
25784
+ "title": "onError",
25785
+ "description": "The default behavior when an error during event filtering occurs",
25786
+ "type": "string",
25787
+ "default": "IGNORE_AND_LOG",
25788
+ "enum": [
25789
+ "IGNORE",
25790
+ "IGNORE_AND_LOG",
25791
+ "RECEIVE",
25792
+ "RECEIVE_AND_LOG"
25793
+ ]
25646
25794
  }
25647
25795
  },
25648
25796
  "anyOf": [
@@ -25655,6 +25803,12 @@
25655
25803
  "required": [
25656
25804
  "expression"
25657
25805
  ]
25806
+ },
25807
+ {
25808
+ "required": [
25809
+ "expression",
25810
+ "onError"
25811
+ ]
25658
25812
  }
25659
25813
  ]
25660
25814
  },
@@ -52,6 +52,9 @@ export type Filter =
52
52
  | {
53
53
  [k: string]: unknown;
54
54
  }
55
+ | {
56
+ [k: string]: unknown;
57
+ }
55
58
  | {
56
59
  [k: string]: unknown;
57
60
  };
@@ -71,6 +74,9 @@ export type Filter1 =
71
74
  | {
72
75
  [k: string]: unknown;
73
76
  }
77
+ | {
78
+ [k: string]: unknown;
79
+ }
74
80
  | {
75
81
  [k: string]: unknown;
76
82
  };
@@ -86,6 +92,9 @@ export type Filter2 =
86
92
  | {
87
93
  [k: string]: unknown;
88
94
  }
95
+ | {
96
+ [k: string]: unknown;
97
+ }
89
98
  | {
90
99
  [k: string]: unknown;
91
100
  };
@@ -166,6 +175,11 @@ export type Function8 = string;
166
175
  * This key is defined in: https://bitbucket.org/atlassian/connect-service/src/cd7252b/service/cs-apps/api.raml#lines-1094
167
176
  */
168
177
  export type Endpoint3 = string;
178
+ /**
179
+ * Data residency migration hook path
180
+ */
181
+ export type Path = string;
182
+ export type MaxMigrationDurationHours = number;
169
183
  export type DisplayConditions =
170
184
  | {
171
185
  customFieldName: CustomFieldName;
@@ -1541,6 +1555,26 @@ export interface Modules {
1541
1555
  }
1542
1556
  )[]
1543
1557
  ];
1558
+ 'migration:dataResidency'?: [
1559
+ {
1560
+ /**
1561
+ * key for the data residency remote definition
1562
+ */
1563
+ remote: string;
1564
+ path?: Path;
1565
+ maxMigrationDurationHours?: MaxMigrationDurationHours;
1566
+ key: ModuleKeySchema;
1567
+ },
1568
+ ...{
1569
+ /**
1570
+ * key for the data residency remote definition
1571
+ */
1572
+ remote: string;
1573
+ path?: Path;
1574
+ maxMigrationDurationHours?: MaxMigrationDurationHours;
1575
+ key: ModuleKeySchema;
1576
+ }[]
1577
+ ];
1544
1578
  'confluence:contextMenu'?: [
1545
1579
  (
1546
1580
  | {
@@ -6375,9 +6409,12 @@ export interface Modules {
6375
6409
  endpoint: string;
6376
6410
  };
6377
6411
  resourceUploadId?: string;
6412
+ actionType?: 'dynamic' | 'modal';
6378
6413
  viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6379
6414
  actions?: {
6380
6415
  key: string;
6416
+ actionType?: 'dynamic' | 'modal';
6417
+ viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6381
6418
  title:
6382
6419
  | string
6383
6420
  | {
@@ -6420,9 +6457,12 @@ export interface Modules {
6420
6457
  endpoint: string;
6421
6458
  };
6422
6459
  resourceUploadId?: string;
6460
+ actionType?: 'dynamic' | 'modal';
6423
6461
  viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6424
6462
  actions?: {
6425
6463
  key: string;
6464
+ actionType?: 'dynamic' | 'modal';
6465
+ viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6426
6466
  title:
6427
6467
  | string
6428
6468
  | {
@@ -6579,9 +6619,12 @@ export interface Modules {
6579
6619
  endpoint: string;
6580
6620
  };
6581
6621
  resourceUploadId?: string;
6622
+ actionType?: 'dynamic' | 'modal';
6582
6623
  viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6583
6624
  actions?: {
6584
6625
  key: string;
6626
+ actionType?: 'dynamic' | 'modal';
6627
+ viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6585
6628
  title:
6586
6629
  | string
6587
6630
  | {
@@ -6624,9 +6667,12 @@ export interface Modules {
6624
6667
  endpoint: string;
6625
6668
  };
6626
6669
  resourceUploadId?: string;
6670
+ actionType?: 'dynamic' | 'modal';
6627
6671
  viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6628
6672
  actions?: {
6629
6673
  key: string;
6674
+ actionType?: 'dynamic' | 'modal';
6675
+ viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6630
6676
  title:
6631
6677
  | string
6632
6678
  | {
@@ -6671,9 +6717,12 @@ export interface Modules {
6671
6717
  endpoint: string;
6672
6718
  };
6673
6719
  resourceUploadId?: string;
6720
+ actionType?: 'dynamic' | 'modal';
6674
6721
  viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6675
6722
  actions?: {
6676
6723
  key: string;
6724
+ actionType?: 'dynamic' | 'modal';
6725
+ viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6677
6726
  title:
6678
6727
  | string
6679
6728
  | {
@@ -6716,9 +6765,12 @@ export interface Modules {
6716
6765
  endpoint: string;
6717
6766
  };
6718
6767
  resourceUploadId?: string;
6768
+ actionType?: 'dynamic' | 'modal';
6719
6769
  viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6720
6770
  actions?: {
6721
6771
  key: string;
6772
+ actionType?: 'dynamic' | 'modal';
6773
+ viewportSize?: 'large' | 'max' | 'medium' | 'small' | 'xlarge';
6722
6774
  title:
6723
6775
  | string
6724
6776
  | {
@@ -117,6 +117,11 @@ export declare const errors: {
117
117
  unreferencedAction: (action: string) => string;
118
118
  undefinedActionName: (action: string) => string;
119
119
  };
120
+ 'migration:dataResidency': {
121
+ remoteNotFound: (key: string) => string;
122
+ moreThanOneRemote: () => string;
123
+ missingRemote: () => string;
124
+ };
120
125
  };
121
126
  resources: {
122
127
  missingResource: (folder: string, key: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/text/errors.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,11 @@ exports.errors = {
128
128
  incorrectAgentActionReference: (module, moduleKey) => `${module} references undefined action module with key '${moduleKey}'.`,
129
129
  unreferencedAction: (action) => `Action '${action}' is not referenced by any Rovo agent.`,
130
130
  undefinedActionName: (action) => `Action '${action}' does not have a name property. 'name' property will be required when Forge Agents are GA.`
131
+ },
132
+ 'migration:dataResidency': {
133
+ remoteNotFound: (key) => `No remote found with key '${key}' matching migration:dataResidency.remote.`,
134
+ moreThanOneRemote: () => `More than one remote found in migration:dataResidency.`,
135
+ missingRemote: () => `Missing remote in migration:dataResidency.`
131
136
  }
132
137
  },
133
138
  resources: {
@@ -9,6 +9,7 @@ export declare enum AllModuleTypes {
9
9
  CoreRemote = "core:remote",
10
10
  CoreSql = "core:sql",
11
11
  XenMacro = "xen:macro",
12
+ DataResidencyMigration = "migration:dataResidency",
12
13
  ConfluenceContentAction = "confluence:contentAction",
13
14
  ConfluenceContentBylineItem = "confluence:contentBylineItem",
14
15
  ConfluenceContextMenu = "confluence:contextMenu",
@@ -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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"}
@@ -13,6 +13,7 @@ var AllModuleTypes;
13
13
  AllModuleTypes["CoreRemote"] = "core:remote";
14
14
  AllModuleTypes["CoreSql"] = "core:sql";
15
15
  AllModuleTypes["XenMacro"] = "xen:macro";
16
+ AllModuleTypes["DataResidencyMigration"] = "migration:dataResidency";
16
17
  AllModuleTypes["ConfluenceContentAction"] = "confluence:contentAction";
17
18
  AllModuleTypes["ConfluenceContentBylineItem"] = "confluence:contentBylineItem";
18
19
  AllModuleTypes["ConfluenceContextMenu"] = "confluence:contextMenu";
@@ -1 +1 @@
1
- {"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAE,wBAAwB,EAAsC,MAAM,UAAU,CAAC;AAGxH,OAAO,EAAkB,cAAc,EAAqC,MAAM,oBAAoB,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAmB3D,qBAAa,gBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEzF,OAAO,CAAC,oBAAoB,CAA0C;IAEhE,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IA0DpD,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;IA2G3B,OAAO,CAAC,4BAA4B;IA2BpC,OAAO,CAAC,yBAAyB;CAkClC"}
1
+ {"version":3,"file":"modules-validator.d.ts","sourceRoot":"","sources":["../../src/validators/modules-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAE,wBAAwB,EAAsC,MAAM,UAAU,CAAC;AAGxH,OAAO,EAAkB,cAAc,EAAqC,MAAM,oBAAoB,CAAC;AACvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAoB3D,qBAAa,gBACX,YAAW,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,EAAE,cAAc,CAAC;IAEzF,OAAO,CAAC,oBAAoB,CAA0C;IAEhE,QAAQ,CACZ,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,GACnD,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IA2DpD,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;IA2G3B,OAAO,CAAC,4BAA4B;IA2BpC,OAAO,CAAC,yBAAyB;CAkClC"}
@@ -11,6 +11,7 @@ const validate_timetrackingprovider_module_1 = require("./modules-validators/jir
11
11
  const confluence_1 = require("./modules-validators/confluence");
12
12
  const validate_full_admin_page_1 = require("./modules-validators/jira/validate-full-admin-page");
13
13
  const remote_1 = require("./modules-validators/remote");
14
+ const dataResidency_1 = require("./modules-validators/dataResidency");
14
15
  const validateModuleScopes_1 = require("./modules-validators/validateModuleScopes");
15
16
  const bitbucket_1 = require("./modules-validators/bitbucket");
16
17
  const rovo_1 = require("./modules-validators/rovo");
@@ -30,7 +31,7 @@ class ModulesValidator {
30
31
  let validationErrors = [...this.connectModuleValidation(manifest)];
31
32
  if (manifest.typedContent.modules) {
32
33
  const { typedContent: { modules, connectModules, remotes, permissions }, yamlContentByLine, filePath } = manifest;
33
- 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 || []), 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, validateModuleScopes_1.validateModuleScopes)(modules, yamlContentByLine, permissions), (0, rovo_1.validateRovoModules)(modules, yamlContentByLine), (0, validate_timetrackingprovider_module_1.validateJiraTimeTrackingModule)(modules, yamlContentByLine));
34
+ 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 || []), 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, validate_timetrackingprovider_module_1.validateJiraTimeTrackingModule)(modules, yamlContentByLine));
34
35
  }
35
36
  else {
36
37
  const { typedContent: { connectModules }, yamlContentByLine } = manifest;
@@ -0,0 +1,4 @@
1
+ import { ValidationError } from '../../../types';
2
+ import { Modules, Remotes } from '../../../schema/manifest';
3
+ export declare const validateMigrationDataResidencyModule: (modules: Modules, remotes: Remotes | undefined, yamlContentByLine?: string[]) => ValidationError[];
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/dataResidency/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAG5D,eAAO,MAAM,oCAAoC,YACtC,OAAO,WACP,OAAO,GAAG,SAAS,sBACR,MAAM,EAAE,KAC3B,eAAe,EASjB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateMigrationDataResidencyModule = void 0;
4
+ const validate_data_residency_migration_1 = require("./validate-data-residency-migration");
5
+ const validateMigrationDataResidencyModule = (modules, remotes, yamlContentByLine) => {
6
+ const validationErrors = [];
7
+ validationErrors.push(...(0, validate_data_residency_migration_1.validateDataResidencyMigration)(modules, remotes, yamlContentByLine));
8
+ return validationErrors;
9
+ };
10
+ exports.validateMigrationDataResidencyModule = validateMigrationDataResidencyModule;
@@ -0,0 +1,4 @@
1
+ import { ValidationError } from '../../../types';
2
+ import { Modules, Remotes } from '../../../schema/manifest';
3
+ export declare const validateDataResidencyMigration: (modules: Modules, remotes: Remotes | undefined, yamlContentByLine?: string[]) => ValidationError[];
4
+ //# sourceMappingURL=validate-data-residency-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-data-residency-migration.d.ts","sourceRoot":"","sources":["../../../../src/validators/modules-validators/dataResidency/validate-data-residency-migration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,8BAA8B,YAChC,OAAO,WACP,OAAO,GAAG,SAAS,sBACR,MAAM,EAAE,KAC3B,eAAe,EAmCjB,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateDataResidencyMigration = void 0;
4
+ const types_1 = require("../../../types");
5
+ const text_1 = require("../../../text");
6
+ const utils_1 = require("../../../utils");
7
+ const validateDataResidencyMigration = (modules, remotes, yamlContentByLine) => {
8
+ const validationErrors = [];
9
+ const dataResidencyMigration = modules[types_1.AllModuleTypes.DataResidencyMigration];
10
+ if (!dataResidencyMigration) {
11
+ return validationErrors;
12
+ }
13
+ if (dataResidencyMigration.length > 1) {
14
+ validationErrors.push(getValidationError(text_1.errors.modules['migration:dataResidency'].moreThanOneRemote(), 'migration:dataResidency', yamlContentByLine));
15
+ return validationErrors;
16
+ }
17
+ const dataResidencyMigrationRemote = dataResidencyMigration[0].remote;
18
+ const remotesKeyArray = remotes?.map((item) => item.key) ?? [];
19
+ if (!remotesKeyArray.includes(dataResidencyMigrationRemote)) {
20
+ validationErrors.push(getValidationError(text_1.errors.modules['migration:dataResidency'].remoteNotFound(dataResidencyMigrationRemote), dataResidencyMigrationRemote, yamlContentByLine));
21
+ return validationErrors;
22
+ }
23
+ return validationErrors;
24
+ };
25
+ exports.validateDataResidencyMigration = validateDataResidencyMigration;
26
+ function getValidationError(message, position, yamlContentByLine) {
27
+ return {
28
+ message,
29
+ reference: text_1.References.Modules,
30
+ level: 'error',
31
+ ...(0, utils_1.findPosition)(position, yamlContentByLine)
32
+ };
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/manifest",
3
- "version": "8.0.0-next.9",
3
+ "version": "8.0.0",
4
4
  "description": "Definitions and validations of the Forge manifest",
5
5
  "main": "out/index.js",
6
6
  "scripts": {
@@ -24,7 +24,7 @@
24
24
  "author": "Atlassian",
25
25
  "license": "UNLICENSED",
26
26
  "dependencies": {
27
- "@forge/i18n": "0.0.2-next.0",
27
+ "@forge/i18n": "0.0.2",
28
28
  "@sentry/node": "7.106.0",
29
29
  "ajv": "^8.12.0",
30
30
  "ajv-formats": "2.1.1",