@forge/manifest 0.0.0-experimental-64caa5a → 0.0.0-experimental-490cfcf

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +355 -6
  2. package/out/index.d.ts +1 -1
  3. package/out/index.d.ts.map +1 -1
  4. package/out/mapping/product-event-to-scope-mapping.json +334 -110
  5. package/out/processor/full-validation-processor.d.ts.map +1 -1
  6. package/out/processor/full-validation-processor.js +3 -0
  7. package/out/schema/basic-manifest-schema.json +32 -0
  8. package/out/schema/basic-manifest.d.ts +13 -0
  9. package/out/schema/manifest-schema.json +2345 -1035
  10. package/out/schema/manifest.d.ts +1853 -1019
  11. package/out/scopes/deprecated-shipyard-scopes.json +24 -0
  12. package/out/scopes/shipyard-scopes.json +49 -69
  13. package/out/text/errors.d.ts +6 -0
  14. package/out/text/errors.d.ts.map +1 -1
  15. package/out/text/errors.js +8 -2
  16. package/out/types/egress-types.d.ts +1 -1
  17. package/out/types/egress-types.d.ts.map +1 -1
  18. package/out/types/egress-types.js +3 -1
  19. package/out/types/module-types.d.ts +9 -0
  20. package/out/types/module-types.d.ts.map +1 -1
  21. package/out/types/module-types.js +9 -0
  22. package/out/validators/connect-authentication-validator.d.ts +7 -0
  23. package/out/validators/connect-authentication-validator.d.ts.map +1 -0
  24. package/out/validators/connect-authentication-validator.js +27 -0
  25. package/out/validators/deprecated-permissions-validator.d.ts +7 -0
  26. package/out/validators/deprecated-permissions-validator.d.ts.map +1 -0
  27. package/out/validators/deprecated-permissions-validator.js +31 -0
  28. package/out/validators/index.d.ts +1 -0
  29. package/out/validators/index.d.ts.map +1 -1
  30. package/out/validators/index.js +1 -0
  31. package/out/validators/modules-validator.d.ts.map +1 -1
  32. package/out/validators/modules-validator.js +12 -3
  33. package/out/validators/permissions-validator.d.ts +6 -0
  34. package/out/validators/permissions-validator.d.ts.map +1 -1
  35. package/out/validators/permissions-validator.js +78 -69
  36. package/out/validators/product-trigger-scopes-validator.d.ts +4 -1
  37. package/out/validators/product-trigger-scopes-validator.d.ts.map +1 -1
  38. package/out/validators/product-trigger-scopes-validator.js +23 -7
  39. package/package.json +3 -3
@@ -69,6 +69,38 @@
69
69
  "description": "A key for the remote, which other modules can refer to. Must be unique within the manifest and have a maximum of 23 characters.",
70
70
  "pattern": "^[a-zA-Z0-9_-]+$",
71
71
  "maxLength": 23
72
+ },
73
+ "authentication": {
74
+ "description": "The type of authentication used to communicate with tenant APIs",
75
+ "type": "string",
76
+ "default": "jwt",
77
+ "enum": [
78
+ "jwt",
79
+ "oauth2"
80
+ ]
81
+ }
82
+ }
83
+ },
84
+ "storage": {
85
+ "description": "Options related to hosted storage",
86
+ "type": "object",
87
+ "required": [
88
+ "classifications"
89
+ ],
90
+ "additionalProperties": false,
91
+ "properties": {
92
+ "classifications": {
93
+ "description": "Labels to classify the type of data stored",
94
+ "type": "array",
95
+ "items": {
96
+ "type": "string",
97
+ "enum": [
98
+ "ugc",
99
+ "pii",
100
+ "other"
101
+ ]
102
+ },
103
+ "minItems": 1
72
104
  }
73
105
  }
74
106
  }
@@ -456,6 +488,9 @@
456
488
  "maxLength": 255,
457
489
  "pattern": "^[a-zA-Z0-9-_]+$"
458
490
  },
491
+ "displayConditions": {
492
+ "type": "object"
493
+ },
459
494
  "key": {
460
495
  "$ref": "#/definitions/ModuleKeySchema"
461
496
  }
@@ -510,6 +545,9 @@
510
545
  "large"
511
546
  ]
512
547
  },
548
+ "displayConditions": {
549
+ "type": "object"
550
+ },
513
551
  "key": {
514
552
  "$ref": "#/definitions/ModuleKeySchema"
515
553
  }
@@ -542,6 +580,9 @@
542
580
  "maxLength": 255,
543
581
  "pattern": "^[a-zA-Z0-9-_]+$"
544
582
  },
583
+ "displayConditions": {
584
+ "type": "object"
585
+ },
545
586
  "key": {
546
587
  "$ref": "#/definitions/ModuleKeySchema"
547
588
  }
@@ -597,6 +638,9 @@
597
638
  "xlarge"
598
639
  ]
599
640
  },
641
+ "displayConditions": {
642
+ "type": "object"
643
+ },
600
644
  "key": {
601
645
  "$ref": "#/definitions/ModuleKeySchema"
602
646
  }
@@ -783,6 +827,9 @@
783
827
  "maxLength": 255,
784
828
  "pattern": "^[a-zA-Z0-9-_]+$"
785
829
  },
830
+ "displayConditions": {
831
+ "type": "object"
832
+ },
786
833
  "key": {
787
834
  "$ref": "#/definitions/ModuleKeySchema"
788
835
  }
@@ -838,6 +885,9 @@
838
885
  "xlarge"
839
886
  ]
840
887
  },
888
+ "displayConditions": {
889
+ "type": "object"
890
+ },
841
891
  "key": {
842
892
  "$ref": "#/definitions/ModuleKeySchema"
843
893
  }
@@ -881,6 +931,9 @@
881
931
  "maxLength": 255,
882
932
  "pattern": "^[a-zA-Z0-9-_]+$"
883
933
  },
934
+ "displayConditions": {
935
+ "type": "object"
936
+ },
884
937
  "key": {
885
938
  "$ref": "#/definitions/ModuleKeySchema"
886
939
  }
@@ -937,6 +990,9 @@
937
990
  "minLength": 1,
938
991
  "maxLength": 255
939
992
  },
993
+ "displayConditions": {
994
+ "type": "object"
995
+ },
940
996
  "key": {
941
997
  "$ref": "#/definitions/ModuleKeySchema"
942
998
  }
@@ -970,6 +1026,9 @@
970
1026
  "maxLength": 255,
971
1027
  "pattern": "^[a-zA-Z0-9-_]+$"
972
1028
  },
1029
+ "displayConditions": {
1030
+ "type": "object"
1031
+ },
973
1032
  "key": {
974
1033
  "$ref": "#/definitions/ModuleKeySchema"
975
1034
  }
@@ -1014,6 +1073,9 @@
1014
1073
  "minLength": 1,
1015
1074
  "maxLength": 255
1016
1075
  },
1076
+ "displayConditions": {
1077
+ "type": "object"
1078
+ },
1017
1079
  "key": {
1018
1080
  "$ref": "#/definitions/ModuleKeySchema"
1019
1081
  }
@@ -1046,6 +1108,9 @@
1046
1108
  "maxLength": 255,
1047
1109
  "pattern": "^[a-zA-Z0-9-_]+$"
1048
1110
  },
1111
+ "displayConditions": {
1112
+ "type": "object"
1113
+ },
1049
1114
  "key": {
1050
1115
  "$ref": "#/definitions/ModuleKeySchema"
1051
1116
  }
@@ -1090,6 +1155,9 @@
1090
1155
  "minLength": 1,
1091
1156
  "maxLength": 255
1092
1157
  },
1158
+ "displayConditions": {
1159
+ "type": "object"
1160
+ },
1093
1161
  "key": {
1094
1162
  "$ref": "#/definitions/ModuleKeySchema"
1095
1163
  }
@@ -1134,6 +1202,9 @@
1134
1202
  "maxLength": 255,
1135
1203
  "pattern": "^[a-zA-Z0-9-_]+$"
1136
1204
  },
1205
+ "displayConditions": {
1206
+ "type": "object"
1207
+ },
1137
1208
  "key": {
1138
1209
  "$ref": "#/definitions/ModuleKeySchema"
1139
1210
  }
@@ -1191,6 +1262,9 @@
1191
1262
  "minLength": 1,
1192
1263
  "maxLength": 255
1193
1264
  },
1265
+ "displayConditions": {
1266
+ "type": "object"
1267
+ },
1194
1268
  "key": {
1195
1269
  "$ref": "#/definitions/ModuleKeySchema"
1196
1270
  }
@@ -1227,6 +1301,54 @@
1227
1301
  "maxLength": 255,
1228
1302
  "pattern": "^[a-zA-Z0-9-_]+$"
1229
1303
  },
1304
+ "expression": {
1305
+ "type": "string"
1306
+ },
1307
+ "errorMessage": {
1308
+ "type": "string"
1309
+ },
1310
+ "view": {
1311
+ "type": "object",
1312
+ "properties": {
1313
+ "resource": {
1314
+ "type": "string",
1315
+ "minLength": 1,
1316
+ "maxLength": 23,
1317
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
1318
+ }
1319
+ },
1320
+ "required": [
1321
+ "resource"
1322
+ ]
1323
+ },
1324
+ "edit": {
1325
+ "type": "object",
1326
+ "properties": {
1327
+ "resource": {
1328
+ "type": "string",
1329
+ "minLength": 1,
1330
+ "maxLength": 23,
1331
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
1332
+ }
1333
+ },
1334
+ "required": [
1335
+ "resource"
1336
+ ]
1337
+ },
1338
+ "create": {
1339
+ "type": "object",
1340
+ "properties": {
1341
+ "resource": {
1342
+ "type": "string",
1343
+ "minLength": 1,
1344
+ "maxLength": 23,
1345
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
1346
+ }
1347
+ },
1348
+ "required": [
1349
+ "resource"
1350
+ ]
1351
+ },
1230
1352
  "key": {
1231
1353
  "$ref": "#/definitions/ModuleKeySchema"
1232
1354
  }
@@ -1362,6 +1484,39 @@
1362
1484
  "function"
1363
1485
  ]
1364
1486
  },
1487
+ "searchSuggestions": {
1488
+ "anyOf": [
1489
+ {
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "function": {
1493
+ "type": "string",
1494
+ "minLength": 1,
1495
+ "maxLength": 255,
1496
+ "pattern": "^[a-zA-Z0-9-_]+$"
1497
+ }
1498
+ },
1499
+ "required": [
1500
+ "function"
1501
+ ]
1502
+ },
1503
+ {
1504
+ "type": "object",
1505
+ "properties": {
1506
+ "expression": {
1507
+ "type": "string"
1508
+ }
1509
+ },
1510
+ "required": [
1511
+ "expression"
1512
+ ]
1513
+ }
1514
+ ]
1515
+ },
1516
+ "displayConditions": {
1517
+ "type": "object",
1518
+ "properties": {}
1519
+ },
1365
1520
  "key": {
1366
1521
  "$ref": "#/definitions/ModuleKeySchema"
1367
1522
  }
@@ -1492,6 +1647,39 @@
1492
1647
  "function"
1493
1648
  ]
1494
1649
  },
1650
+ "searchSuggestions": {
1651
+ "anyOf": [
1652
+ {
1653
+ "type": "object",
1654
+ "properties": {
1655
+ "function": {
1656
+ "type": "string",
1657
+ "minLength": 1,
1658
+ "maxLength": 255,
1659
+ "pattern": "^[a-zA-Z0-9-_]+$"
1660
+ }
1661
+ },
1662
+ "required": [
1663
+ "function"
1664
+ ]
1665
+ },
1666
+ {
1667
+ "type": "object",
1668
+ "properties": {
1669
+ "expression": {
1670
+ "type": "string"
1671
+ }
1672
+ },
1673
+ "required": [
1674
+ "expression"
1675
+ ]
1676
+ }
1677
+ ]
1678
+ },
1679
+ "displayConditions": {
1680
+ "type": "object",
1681
+ "properties": {}
1682
+ },
1495
1683
  "key": {
1496
1684
  "$ref": "#/definitions/ModuleKeySchema"
1497
1685
  }
@@ -1616,6 +1804,35 @@
1616
1804
  "function"
1617
1805
  ]
1618
1806
  },
1807
+ "searchSuggestions": {
1808
+ "anyOf": [
1809
+ {
1810
+ "type": "object",
1811
+ "properties": {
1812
+ "function": {
1813
+ "type": "string",
1814
+ "minLength": 1,
1815
+ "maxLength": 255,
1816
+ "pattern": "^[a-zA-Z0-9-_]+$"
1817
+ }
1818
+ },
1819
+ "required": [
1820
+ "function"
1821
+ ]
1822
+ },
1823
+ {
1824
+ "type": "object",
1825
+ "properties": {
1826
+ "expression": {
1827
+ "type": "string"
1828
+ }
1829
+ },
1830
+ "required": [
1831
+ "expression"
1832
+ ]
1833
+ }
1834
+ ]
1835
+ },
1619
1836
  "icon": {
1620
1837
  "type": "string",
1621
1838
  "minLength": 1,
@@ -1682,6 +1899,10 @@
1682
1899
  }
1683
1900
  ]
1684
1901
  },
1902
+ "displayConditions": {
1903
+ "type": "object",
1904
+ "properties": {}
1905
+ },
1685
1906
  "key": {
1686
1907
  "$ref": "#/definitions/ModuleKeySchema"
1687
1908
  }
@@ -1797,6 +2018,35 @@
1797
2018
  "function"
1798
2019
  ]
1799
2020
  },
2021
+ "searchSuggestions": {
2022
+ "anyOf": [
2023
+ {
2024
+ "type": "object",
2025
+ "properties": {
2026
+ "function": {
2027
+ "type": "string",
2028
+ "minLength": 1,
2029
+ "maxLength": 255,
2030
+ "pattern": "^[a-zA-Z0-9-_]+$"
2031
+ }
2032
+ },
2033
+ "required": [
2034
+ "function"
2035
+ ]
2036
+ },
2037
+ {
2038
+ "type": "object",
2039
+ "properties": {
2040
+ "expression": {
2041
+ "type": "string"
2042
+ }
2043
+ },
2044
+ "required": [
2045
+ "expression"
2046
+ ]
2047
+ }
2048
+ ]
2049
+ },
1800
2050
  "icon": {
1801
2051
  "type": "string",
1802
2052
  "minLength": 1,
@@ -1863,6 +2113,10 @@
1863
2113
  }
1864
2114
  ]
1865
2115
  },
2116
+ "displayConditions": {
2117
+ "type": "object",
2118
+ "properties": {}
2119
+ },
1866
2120
  "key": {
1867
2121
  "$ref": "#/definitions/ModuleKeySchema"
1868
2122
  }
@@ -1897,6 +2151,10 @@
1897
2151
  "maxLength": 255,
1898
2152
  "pattern": "^[a-zA-Z0-9-_]+$"
1899
2153
  },
2154
+ "displayConditions": {
2155
+ "type": "object",
2156
+ "properties": {}
2157
+ },
1900
2158
  "key": {
1901
2159
  "$ref": "#/definitions/ModuleKeySchema"
1902
2160
  }
@@ -1952,6 +2210,10 @@
1952
2210
  "xlarge"
1953
2211
  ]
1954
2212
  },
2213
+ "displayConditions": {
2214
+ "type": "object",
2215
+ "properties": {}
2216
+ },
1955
2217
  "key": {
1956
2218
  "$ref": "#/definitions/ModuleKeySchema"
1957
2219
  }
@@ -2038,6 +2300,10 @@
2038
2300
  "minLength": 1,
2039
2301
  "maxLength": 255
2040
2302
  },
2303
+ "displayConditions": {
2304
+ "type": "object",
2305
+ "properties": {}
2306
+ },
2041
2307
  "key": {
2042
2308
  "$ref": "#/definitions/ModuleKeySchema"
2043
2309
  }
@@ -2132,6 +2398,10 @@
2132
2398
  "minLength": 1,
2133
2399
  "maxLength": 255
2134
2400
  },
2401
+ "displayConditions": {
2402
+ "type": "object",
2403
+ "properties": {}
2404
+ },
2135
2405
  "key": {
2136
2406
  "$ref": "#/definitions/ModuleKeySchema"
2137
2407
  }
@@ -2187,6 +2457,10 @@
2187
2457
  "maxLength": 255,
2188
2458
  "pattern": "^[a-zA-Z0-9-_]+$"
2189
2459
  },
2460
+ "displayConditions": {
2461
+ "type": "object",
2462
+ "properties": {}
2463
+ },
2190
2464
  "key": {
2191
2465
  "$ref": "#/definitions/ModuleKeySchema"
2192
2466
  }
@@ -2265,6 +2539,10 @@
2265
2539
  "xlarge"
2266
2540
  ]
2267
2541
  },
2542
+ "displayConditions": {
2543
+ "type": "object",
2544
+ "properties": {}
2545
+ },
2268
2546
  "key": {
2269
2547
  "$ref": "#/definitions/ModuleKeySchema"
2270
2548
  }
@@ -2298,6 +2576,10 @@
2298
2576
  "maxLength": 255,
2299
2577
  "pattern": "^[a-zA-Z0-9-_]+$"
2300
2578
  },
2579
+ "displayConditions": {
2580
+ "type": "object",
2581
+ "properties": {}
2582
+ },
2301
2583
  "key": {
2302
2584
  "$ref": "#/definitions/ModuleKeySchema"
2303
2585
  }
@@ -2353,9 +2635,13 @@
2353
2635
  "xlarge"
2354
2636
  ]
2355
2637
  },
2356
- "key": {
2357
- "$ref": "#/definitions/ModuleKeySchema"
2358
- }
2638
+ "displayConditions": {
2639
+ "type": "object",
2640
+ "properties": {}
2641
+ },
2642
+ "key": {
2643
+ "$ref": "#/definitions/ModuleKeySchema"
2644
+ }
2359
2645
  },
2360
2646
  "required": [
2361
2647
  "title",
@@ -2370,75 +2656,180 @@
2370
2656
  "jira:dashboardGadget": {
2371
2657
  "type": "array",
2372
2658
  "items": {
2373
- "type": "object",
2374
- "properties": {
2375
- "title": {
2376
- "oneOf": [
2377
- {
2378
- "type": "object",
2379
- "properties": {
2380
- "text": {
2659
+ "oneOf": [
2660
+ {
2661
+ "type": "object",
2662
+ "properties": {
2663
+ "title": {
2664
+ "oneOf": [
2665
+ {
2666
+ "type": "object",
2667
+ "properties": {
2668
+ "text": {
2669
+ "type": "string",
2670
+ "minLength": 1,
2671
+ "maxLength": 255
2672
+ },
2673
+ "href": {
2674
+ "type": "string",
2675
+ "minLength": 1,
2676
+ "maxLength": 1000
2677
+ }
2678
+ },
2679
+ "required": [
2680
+ "text"
2681
+ ]
2682
+ },
2683
+ {
2381
2684
  "type": "string",
2382
2685
  "minLength": 1,
2383
2686
  "maxLength": 255
2384
- },
2385
- "href": {
2687
+ }
2688
+ ]
2689
+ },
2690
+ "description": {
2691
+ "type": "string",
2692
+ "minLength": 1,
2693
+ "maxLength": 255
2694
+ },
2695
+ "thumbnail": {
2696
+ "type": "string",
2697
+ "minLength": 1,
2698
+ "maxLength": 255
2699
+ },
2700
+ "function": {
2701
+ "type": "string",
2702
+ "minLength": 1,
2703
+ "maxLength": 255,
2704
+ "pattern": "^[a-zA-Z0-9-_]+$"
2705
+ },
2706
+ "edit": {
2707
+ "type": "object",
2708
+ "properties": {
2709
+ "function": {
2386
2710
  "type": "string",
2387
2711
  "minLength": 1,
2388
- "maxLength": 1000
2712
+ "maxLength": 255,
2713
+ "pattern": "^[a-zA-Z0-9-_]+$"
2389
2714
  }
2390
2715
  },
2391
2716
  "required": [
2392
- "text"
2717
+ "function"
2393
2718
  ]
2394
2719
  },
2395
- {
2396
- "type": "string",
2397
- "minLength": 1,
2398
- "maxLength": 255
2720
+ "displayConditions": {
2721
+ "type": "object",
2722
+ "properties": {}
2723
+ },
2724
+ "key": {
2725
+ "$ref": "#/definitions/ModuleKeySchema"
2399
2726
  }
2727
+ },
2728
+ "required": [
2729
+ "title",
2730
+ "description",
2731
+ "thumbnail",
2732
+ "function",
2733
+ "key"
2400
2734
  ]
2401
2735
  },
2402
- "description": {
2403
- "type": "string",
2404
- "minLength": 1,
2405
- "maxLength": 255
2406
- },
2407
- "thumbnail": {
2408
- "type": "string",
2409
- "minLength": 1,
2410
- "maxLength": 255
2411
- },
2412
- "function": {
2413
- "type": "string",
2414
- "minLength": 1,
2415
- "maxLength": 255,
2416
- "pattern": "^[a-zA-Z0-9-_]+$"
2417
- },
2418
- "edit": {
2736
+ {
2419
2737
  "type": "object",
2420
2738
  "properties": {
2739
+ "resource": {
2740
+ "type": "string",
2741
+ "minLength": 1,
2742
+ "maxLength": 23,
2743
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2744
+ },
2745
+ "resolver": {
2746
+ "additionalProperties": false,
2747
+ "type": "object",
2748
+ "properties": {
2749
+ "function": {
2750
+ "type": "string",
2751
+ "minLength": 1,
2752
+ "maxLength": 255,
2753
+ "pattern": "^[a-zA-Z0-9-_]+$"
2754
+ }
2755
+ },
2756
+ "required": [
2757
+ "function"
2758
+ ]
2759
+ },
2760
+ "title": {
2761
+ "oneOf": [
2762
+ {
2763
+ "type": "object",
2764
+ "properties": {
2765
+ "text": {
2766
+ "type": "string",
2767
+ "minLength": 1,
2768
+ "maxLength": 255
2769
+ },
2770
+ "href": {
2771
+ "type": "string",
2772
+ "minLength": 1,
2773
+ "maxLength": 1000
2774
+ }
2775
+ },
2776
+ "required": [
2777
+ "text"
2778
+ ]
2779
+ },
2780
+ {
2781
+ "type": "string",
2782
+ "minLength": 1,
2783
+ "maxLength": 255
2784
+ }
2785
+ ]
2786
+ },
2787
+ "description": {
2788
+ "type": "string",
2789
+ "minLength": 1,
2790
+ "maxLength": 255
2791
+ },
2792
+ "thumbnail": {
2793
+ "type": "string",
2794
+ "minLength": 1,
2795
+ "maxLength": 255
2796
+ },
2421
2797
  "function": {
2422
2798
  "type": "string",
2423
2799
  "minLength": 1,
2424
2800
  "maxLength": 255,
2425
2801
  "pattern": "^[a-zA-Z0-9-_]+$"
2802
+ },
2803
+ "edit": {
2804
+ "type": "object",
2805
+ "properties": {
2806
+ "resource": {
2807
+ "type": "string",
2808
+ "minLength": 1,
2809
+ "maxLength": 23,
2810
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2811
+ }
2812
+ },
2813
+ "required": [
2814
+ "resource"
2815
+ ]
2816
+ },
2817
+ "displayConditions": {
2818
+ "type": "object",
2819
+ "properties": {}
2820
+ },
2821
+ "key": {
2822
+ "$ref": "#/definitions/ModuleKeySchema"
2426
2823
  }
2427
2824
  },
2428
2825
  "required": [
2429
- "function"
2826
+ "title",
2827
+ "description",
2828
+ "thumbnail",
2829
+ "resource",
2830
+ "key"
2430
2831
  ]
2431
- },
2432
- "key": {
2433
- "$ref": "#/definitions/ModuleKeySchema"
2434
2832
  }
2435
- },
2436
- "required": [
2437
- "title",
2438
- "description",
2439
- "thumbnail",
2440
- "function",
2441
- "key"
2442
2833
  ]
2443
2834
  },
2444
2835
  "minItems": 1
@@ -2473,6 +2864,80 @@
2473
2864
  ],
2474
2865
  "type": "string"
2475
2866
  },
2867
+ "pages": {
2868
+ "type": "array",
2869
+ "items": {
2870
+ "type": "object",
2871
+ "properties": {
2872
+ "title": {
2873
+ "type": "string",
2874
+ "minLength": 1,
2875
+ "maxLength": 255
2876
+ },
2877
+ "route": {
2878
+ "minLength": 1,
2879
+ "maxLength": 255,
2880
+ "type": "string"
2881
+ },
2882
+ "icon": {
2883
+ "type": "string",
2884
+ "minLength": 1,
2885
+ "maxLength": 255
2886
+ }
2887
+ },
2888
+ "required": [
2889
+ "route",
2890
+ "title"
2891
+ ]
2892
+ }
2893
+ },
2894
+ "sections": {
2895
+ "type": "array",
2896
+ "items": {
2897
+ "type": "object",
2898
+ "properties": {
2899
+ "header": {
2900
+ "minLength": 1,
2901
+ "maxLength": 255,
2902
+ "type": "string"
2903
+ },
2904
+ "pages": {
2905
+ "type": "array",
2906
+ "items": {
2907
+ "type": "object",
2908
+ "properties": {
2909
+ "title": {
2910
+ "type": "string",
2911
+ "minLength": 1,
2912
+ "maxLength": 255
2913
+ },
2914
+ "route": {
2915
+ "minLength": 1,
2916
+ "maxLength": 255,
2917
+ "type": "string"
2918
+ },
2919
+ "icon": {
2920
+ "type": "string",
2921
+ "minLength": 1,
2922
+ "maxLength": 255
2923
+ }
2924
+ },
2925
+ "required": [
2926
+ "route",
2927
+ "title"
2928
+ ]
2929
+ }
2930
+ }
2931
+ },
2932
+ "required": [
2933
+ "pages"
2934
+ ]
2935
+ }
2936
+ },
2937
+ "displayConditions": {
2938
+ "type": "object",
2939
+ "properties": {}
2940
+ },
2476
2941
  "key": {
2477
2942
  "$ref": "#/definitions/ModuleKeySchema"
2478
2943
  }
@@ -2529,19 +2994,6 @@
2529
2994
  ],
2530
2995
  "type": "string"
2531
2996
  },
2532
- "key": {
2533
- "$ref": "#/definitions/ModuleKeySchema"
2534
- }
2535
- },
2536
- "required": [
2537
- "resource",
2538
- "title",
2539
- "key"
2540
- ]
2541
- },
2542
- {
2543
- "type": "object",
2544
- "properties": {
2545
2997
  "pages": {
2546
2998
  "type": "array",
2547
2999
  "items": {
@@ -2569,63 +3021,6 @@
2569
3021
  ]
2570
3022
  }
2571
3023
  },
2572
- "resource": {
2573
- "type": "string",
2574
- "minLength": 1,
2575
- "maxLength": 23,
2576
- "pattern": "^[a-zA-Z0-9_\\-]+$"
2577
- },
2578
- "resourceUploadId": {
2579
- "type": "string",
2580
- "minLength": 1,
2581
- "maxLength": 255
2582
- },
2583
- "resolver": {
2584
- "additionalProperties": false,
2585
- "type": "object",
2586
- "properties": {
2587
- "function": {
2588
- "type": "string",
2589
- "minLength": 1,
2590
- "maxLength": 255,
2591
- "pattern": "^[a-zA-Z0-9-_]+$"
2592
- }
2593
- },
2594
- "required": [
2595
- "function"
2596
- ]
2597
- },
2598
- "title": {
2599
- "type": "string",
2600
- "minLength": 1,
2601
- "maxLength": 255
2602
- },
2603
- "icon": {
2604
- "type": "string",
2605
- "minLength": 1,
2606
- "maxLength": 255
2607
- },
2608
- "layout": {
2609
- "enum": [
2610
- "basic",
2611
- "native"
2612
- ],
2613
- "type": "string"
2614
- },
2615
- "key": {
2616
- "$ref": "#/definitions/ModuleKeySchema"
2617
- }
2618
- },
2619
- "required": [
2620
- "pages",
2621
- "resource",
2622
- "title",
2623
- "key"
2624
- ]
2625
- },
2626
- {
2627
- "type": "object",
2628
- "properties": {
2629
3024
  "sections": {
2630
3025
  "type": "array",
2631
3026
  "items": {
@@ -2669,48 +3064,9 @@
2669
3064
  ]
2670
3065
  }
2671
3066
  },
2672
- "resource": {
2673
- "type": "string",
2674
- "minLength": 1,
2675
- "maxLength": 23,
2676
- "pattern": "^[a-zA-Z0-9_\\-]+$"
2677
- },
2678
- "resourceUploadId": {
2679
- "type": "string",
2680
- "minLength": 1,
2681
- "maxLength": 255
2682
- },
2683
- "resolver": {
2684
- "additionalProperties": false,
3067
+ "displayConditions": {
2685
3068
  "type": "object",
2686
- "properties": {
2687
- "function": {
2688
- "type": "string",
2689
- "minLength": 1,
2690
- "maxLength": 255,
2691
- "pattern": "^[a-zA-Z0-9-_]+$"
2692
- }
2693
- },
2694
- "required": [
2695
- "function"
2696
- ]
2697
- },
2698
- "title": {
2699
- "type": "string",
2700
- "minLength": 1,
2701
- "maxLength": 255
2702
- },
2703
- "icon": {
2704
- "type": "string",
2705
- "minLength": 1,
2706
- "maxLength": 255
2707
- },
2708
- "layout": {
2709
- "enum": [
2710
- "basic",
2711
- "native"
2712
- ],
2713
- "type": "string"
3069
+ "properties": {}
2714
3070
  },
2715
3071
  "key": {
2716
3072
  "$ref": "#/definitions/ModuleKeySchema"
@@ -2718,7 +3074,6 @@
2718
3074
  },
2719
3075
  "required": [
2720
3076
  "resource",
2721
- "sections",
2722
3077
  "title",
2723
3078
  "key"
2724
3079
  ]
@@ -2757,6 +3112,80 @@
2757
3112
  ],
2758
3113
  "type": "string"
2759
3114
  },
3115
+ "pages": {
3116
+ "type": "array",
3117
+ "items": {
3118
+ "type": "object",
3119
+ "properties": {
3120
+ "title": {
3121
+ "type": "string",
3122
+ "minLength": 1,
3123
+ "maxLength": 255
3124
+ },
3125
+ "route": {
3126
+ "minLength": 1,
3127
+ "maxLength": 255,
3128
+ "type": "string"
3129
+ },
3130
+ "icon": {
3131
+ "type": "string",
3132
+ "minLength": 1,
3133
+ "maxLength": 255
3134
+ }
3135
+ },
3136
+ "required": [
3137
+ "route",
3138
+ "title"
3139
+ ]
3140
+ }
3141
+ },
3142
+ "sections": {
3143
+ "type": "array",
3144
+ "items": {
3145
+ "type": "object",
3146
+ "properties": {
3147
+ "header": {
3148
+ "minLength": 1,
3149
+ "maxLength": 255,
3150
+ "type": "string"
3151
+ },
3152
+ "pages": {
3153
+ "type": "array",
3154
+ "items": {
3155
+ "type": "object",
3156
+ "properties": {
3157
+ "title": {
3158
+ "type": "string",
3159
+ "minLength": 1,
3160
+ "maxLength": 255
3161
+ },
3162
+ "route": {
3163
+ "minLength": 1,
3164
+ "maxLength": 255,
3165
+ "type": "string"
3166
+ },
3167
+ "icon": {
3168
+ "type": "string",
3169
+ "minLength": 1,
3170
+ "maxLength": 255
3171
+ }
3172
+ },
3173
+ "required": [
3174
+ "route",
3175
+ "title"
3176
+ ]
3177
+ }
3178
+ }
3179
+ },
3180
+ "required": [
3181
+ "pages"
3182
+ ]
3183
+ }
3184
+ },
3185
+ "displayConditions": {
3186
+ "type": "object",
3187
+ "properties": {}
3188
+ },
2760
3189
  "key": {
2761
3190
  "$ref": "#/definitions/ModuleKeySchema"
2762
3191
  }
@@ -2813,19 +3242,6 @@
2813
3242
  ],
2814
3243
  "type": "string"
2815
3244
  },
2816
- "key": {
2817
- "$ref": "#/definitions/ModuleKeySchema"
2818
- }
2819
- },
2820
- "required": [
2821
- "resource",
2822
- "title",
2823
- "key"
2824
- ]
2825
- },
2826
- {
2827
- "type": "object",
2828
- "properties": {
2829
3245
  "pages": {
2830
3246
  "type": "array",
2831
3247
  "items": {
@@ -2853,63 +3269,6 @@
2853
3269
  ]
2854
3270
  }
2855
3271
  },
2856
- "resource": {
2857
- "type": "string",
2858
- "minLength": 1,
2859
- "maxLength": 23,
2860
- "pattern": "^[a-zA-Z0-9_\\-]+$"
2861
- },
2862
- "resourceUploadId": {
2863
- "type": "string",
2864
- "minLength": 1,
2865
- "maxLength": 255
2866
- },
2867
- "resolver": {
2868
- "additionalProperties": false,
2869
- "type": "object",
2870
- "properties": {
2871
- "function": {
2872
- "type": "string",
2873
- "minLength": 1,
2874
- "maxLength": 255,
2875
- "pattern": "^[a-zA-Z0-9-_]+$"
2876
- }
2877
- },
2878
- "required": [
2879
- "function"
2880
- ]
2881
- },
2882
- "title": {
2883
- "type": "string",
2884
- "minLength": 1,
2885
- "maxLength": 255
2886
- },
2887
- "icon": {
2888
- "type": "string",
2889
- "minLength": 1,
2890
- "maxLength": 255
2891
- },
2892
- "layout": {
2893
- "enum": [
2894
- "basic",
2895
- "native"
2896
- ],
2897
- "type": "string"
2898
- },
2899
- "key": {
2900
- "$ref": "#/definitions/ModuleKeySchema"
2901
- }
2902
- },
2903
- "required": [
2904
- "pages",
2905
- "resource",
2906
- "title",
2907
- "key"
2908
- ]
2909
- },
2910
- {
2911
- "type": "object",
2912
- "properties": {
2913
3272
  "sections": {
2914
3273
  "type": "array",
2915
3274
  "items": {
@@ -2953,48 +3312,9 @@
2953
3312
  ]
2954
3313
  }
2955
3314
  },
2956
- "resource": {
2957
- "type": "string",
2958
- "minLength": 1,
2959
- "maxLength": 23,
2960
- "pattern": "^[a-zA-Z0-9_\\-]+$"
2961
- },
2962
- "resourceUploadId": {
2963
- "type": "string",
2964
- "minLength": 1,
2965
- "maxLength": 255
2966
- },
2967
- "resolver": {
2968
- "additionalProperties": false,
2969
- "type": "object",
2970
- "properties": {
2971
- "function": {
2972
- "type": "string",
2973
- "minLength": 1,
2974
- "maxLength": 255,
2975
- "pattern": "^[a-zA-Z0-9-_]+$"
2976
- }
2977
- },
2978
- "required": [
2979
- "function"
2980
- ]
2981
- },
2982
- "title": {
2983
- "type": "string",
2984
- "minLength": 1,
2985
- "maxLength": 255
2986
- },
2987
- "icon": {
2988
- "type": "string",
2989
- "minLength": 1,
2990
- "maxLength": 255
2991
- },
2992
- "layout": {
2993
- "enum": [
2994
- "basic",
2995
- "native"
2996
- ],
2997
- "type": "string"
3315
+ "displayConditions": {
3316
+ "type": "object",
3317
+ "properties": {}
2998
3318
  },
2999
3319
  "key": {
3000
3320
  "$ref": "#/definitions/ModuleKeySchema"
@@ -3002,7 +3322,6 @@
3002
3322
  },
3003
3323
  "required": [
3004
3324
  "resource",
3005
- "sections",
3006
3325
  "title",
3007
3326
  "key"
3008
3327
  ]
@@ -3041,6 +3360,80 @@
3041
3360
  ],
3042
3361
  "type": "string"
3043
3362
  },
3363
+ "pages": {
3364
+ "type": "array",
3365
+ "items": {
3366
+ "type": "object",
3367
+ "properties": {
3368
+ "title": {
3369
+ "type": "string",
3370
+ "minLength": 1,
3371
+ "maxLength": 255
3372
+ },
3373
+ "route": {
3374
+ "minLength": 1,
3375
+ "maxLength": 255,
3376
+ "type": "string"
3377
+ },
3378
+ "icon": {
3379
+ "type": "string",
3380
+ "minLength": 1,
3381
+ "maxLength": 255
3382
+ }
3383
+ },
3384
+ "required": [
3385
+ "route",
3386
+ "title"
3387
+ ]
3388
+ }
3389
+ },
3390
+ "sections": {
3391
+ "type": "array",
3392
+ "items": {
3393
+ "type": "object",
3394
+ "properties": {
3395
+ "header": {
3396
+ "minLength": 1,
3397
+ "maxLength": 255,
3398
+ "type": "string"
3399
+ },
3400
+ "pages": {
3401
+ "type": "array",
3402
+ "items": {
3403
+ "type": "object",
3404
+ "properties": {
3405
+ "title": {
3406
+ "type": "string",
3407
+ "minLength": 1,
3408
+ "maxLength": 255
3409
+ },
3410
+ "route": {
3411
+ "minLength": 1,
3412
+ "maxLength": 255,
3413
+ "type": "string"
3414
+ },
3415
+ "icon": {
3416
+ "type": "string",
3417
+ "minLength": 1,
3418
+ "maxLength": 255
3419
+ }
3420
+ },
3421
+ "required": [
3422
+ "route",
3423
+ "title"
3424
+ ]
3425
+ }
3426
+ }
3427
+ },
3428
+ "required": [
3429
+ "pages"
3430
+ ]
3431
+ }
3432
+ },
3433
+ "displayConditions": {
3434
+ "type": "object",
3435
+ "properties": {}
3436
+ },
3044
3437
  "key": {
3045
3438
  "$ref": "#/definitions/ModuleKeySchema"
3046
3439
  }
@@ -3097,19 +3490,6 @@
3097
3490
  ],
3098
3491
  "type": "string"
3099
3492
  },
3100
- "key": {
3101
- "$ref": "#/definitions/ModuleKeySchema"
3102
- }
3103
- },
3104
- "required": [
3105
- "resource",
3106
- "title",
3107
- "key"
3108
- ]
3109
- },
3110
- {
3111
- "type": "object",
3112
- "properties": {
3113
3493
  "pages": {
3114
3494
  "type": "array",
3115
3495
  "items": {
@@ -3137,63 +3517,6 @@
3137
3517
  ]
3138
3518
  }
3139
3519
  },
3140
- "resource": {
3141
- "type": "string",
3142
- "minLength": 1,
3143
- "maxLength": 23,
3144
- "pattern": "^[a-zA-Z0-9_\\-]+$"
3145
- },
3146
- "resourceUploadId": {
3147
- "type": "string",
3148
- "minLength": 1,
3149
- "maxLength": 255
3150
- },
3151
- "resolver": {
3152
- "additionalProperties": false,
3153
- "type": "object",
3154
- "properties": {
3155
- "function": {
3156
- "type": "string",
3157
- "minLength": 1,
3158
- "maxLength": 255,
3159
- "pattern": "^[a-zA-Z0-9-_]+$"
3160
- }
3161
- },
3162
- "required": [
3163
- "function"
3164
- ]
3165
- },
3166
- "title": {
3167
- "type": "string",
3168
- "minLength": 1,
3169
- "maxLength": 255
3170
- },
3171
- "icon": {
3172
- "type": "string",
3173
- "minLength": 1,
3174
- "maxLength": 255
3175
- },
3176
- "layout": {
3177
- "enum": [
3178
- "basic",
3179
- "native"
3180
- ],
3181
- "type": "string"
3182
- },
3183
- "key": {
3184
- "$ref": "#/definitions/ModuleKeySchema"
3185
- }
3186
- },
3187
- "required": [
3188
- "pages",
3189
- "resource",
3190
- "title",
3191
- "key"
3192
- ]
3193
- },
3194
- {
3195
- "type": "object",
3196
- "properties": {
3197
3520
  "sections": {
3198
3521
  "type": "array",
3199
3522
  "items": {
@@ -3237,48 +3560,9 @@
3237
3560
  ]
3238
3561
  }
3239
3562
  },
3240
- "resource": {
3241
- "type": "string",
3242
- "minLength": 1,
3243
- "maxLength": 23,
3244
- "pattern": "^[a-zA-Z0-9_\\-]+$"
3245
- },
3246
- "resourceUploadId": {
3247
- "type": "string",
3248
- "minLength": 1,
3249
- "maxLength": 255
3250
- },
3251
- "resolver": {
3252
- "additionalProperties": false,
3563
+ "displayConditions": {
3253
3564
  "type": "object",
3254
- "properties": {
3255
- "function": {
3256
- "type": "string",
3257
- "minLength": 1,
3258
- "maxLength": 255,
3259
- "pattern": "^[a-zA-Z0-9-_]+$"
3260
- }
3261
- },
3262
- "required": [
3263
- "function"
3264
- ]
3265
- },
3266
- "title": {
3267
- "type": "string",
3268
- "minLength": 1,
3269
- "maxLength": 255
3270
- },
3271
- "icon": {
3272
- "type": "string",
3273
- "minLength": 1,
3274
- "maxLength": 255
3275
- },
3276
- "layout": {
3277
- "enum": [
3278
- "basic",
3279
- "native"
3280
- ],
3281
- "type": "string"
3565
+ "properties": {}
3282
3566
  },
3283
3567
  "key": {
3284
3568
  "$ref": "#/definitions/ModuleKeySchema"
@@ -3286,7 +3570,6 @@
3286
3570
  },
3287
3571
  "required": [
3288
3572
  "resource",
3289
- "sections",
3290
3573
  "title",
3291
3574
  "key"
3292
3575
  ]
@@ -3325,41 +3608,115 @@
3325
3608
  ],
3326
3609
  "type": "string"
3327
3610
  },
3328
- "key": {
3329
- "$ref": "#/definitions/ModuleKeySchema"
3330
- }
3331
- },
3332
- "required": [
3333
- "function",
3334
- "title",
3335
- "key"
3336
- ]
3337
- },
3338
- {
3339
- "type": "object",
3340
- "properties": {
3341
- "resource": {
3342
- "type": "string",
3343
- "minLength": 1,
3344
- "maxLength": 23,
3345
- "pattern": "^[a-zA-Z0-9_\\-]+$"
3346
- },
3347
- "resourceUploadId": {
3348
- "type": "string",
3349
- "minLength": 1,
3350
- "maxLength": 255
3351
- },
3352
- "resolver": {
3353
- "additionalProperties": false,
3354
- "type": "object",
3355
- "properties": {
3356
- "function": {
3357
- "type": "string",
3358
- "minLength": 1,
3359
- "maxLength": 255,
3360
- "pattern": "^[a-zA-Z0-9-_]+$"
3361
- }
3362
- },
3611
+ "pages": {
3612
+ "type": "array",
3613
+ "items": {
3614
+ "type": "object",
3615
+ "properties": {
3616
+ "title": {
3617
+ "type": "string",
3618
+ "minLength": 1,
3619
+ "maxLength": 255
3620
+ },
3621
+ "route": {
3622
+ "minLength": 1,
3623
+ "maxLength": 255,
3624
+ "type": "string"
3625
+ },
3626
+ "icon": {
3627
+ "type": "string",
3628
+ "minLength": 1,
3629
+ "maxLength": 255
3630
+ }
3631
+ },
3632
+ "required": [
3633
+ "route",
3634
+ "title"
3635
+ ]
3636
+ }
3637
+ },
3638
+ "sections": {
3639
+ "type": "array",
3640
+ "items": {
3641
+ "type": "object",
3642
+ "properties": {
3643
+ "header": {
3644
+ "minLength": 1,
3645
+ "maxLength": 255,
3646
+ "type": "string"
3647
+ },
3648
+ "pages": {
3649
+ "type": "array",
3650
+ "items": {
3651
+ "type": "object",
3652
+ "properties": {
3653
+ "title": {
3654
+ "type": "string",
3655
+ "minLength": 1,
3656
+ "maxLength": 255
3657
+ },
3658
+ "route": {
3659
+ "minLength": 1,
3660
+ "maxLength": 255,
3661
+ "type": "string"
3662
+ },
3663
+ "icon": {
3664
+ "type": "string",
3665
+ "minLength": 1,
3666
+ "maxLength": 255
3667
+ }
3668
+ },
3669
+ "required": [
3670
+ "route",
3671
+ "title"
3672
+ ]
3673
+ }
3674
+ }
3675
+ },
3676
+ "required": [
3677
+ "pages"
3678
+ ]
3679
+ }
3680
+ },
3681
+ "displayConditions": {
3682
+ "type": "object",
3683
+ "properties": {}
3684
+ },
3685
+ "key": {
3686
+ "$ref": "#/definitions/ModuleKeySchema"
3687
+ }
3688
+ },
3689
+ "required": [
3690
+ "function",
3691
+ "title",
3692
+ "key"
3693
+ ]
3694
+ },
3695
+ {
3696
+ "type": "object",
3697
+ "properties": {
3698
+ "resource": {
3699
+ "type": "string",
3700
+ "minLength": 1,
3701
+ "maxLength": 23,
3702
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
3703
+ },
3704
+ "resourceUploadId": {
3705
+ "type": "string",
3706
+ "minLength": 1,
3707
+ "maxLength": 255
3708
+ },
3709
+ "resolver": {
3710
+ "additionalProperties": false,
3711
+ "type": "object",
3712
+ "properties": {
3713
+ "function": {
3714
+ "type": "string",
3715
+ "minLength": 1,
3716
+ "maxLength": 255,
3717
+ "pattern": "^[a-zA-Z0-9-_]+$"
3718
+ }
3719
+ },
3363
3720
  "required": [
3364
3721
  "function"
3365
3722
  ]
@@ -3381,19 +3738,6 @@
3381
3738
  ],
3382
3739
  "type": "string"
3383
3740
  },
3384
- "key": {
3385
- "$ref": "#/definitions/ModuleKeySchema"
3386
- }
3387
- },
3388
- "required": [
3389
- "resource",
3390
- "title",
3391
- "key"
3392
- ]
3393
- },
3394
- {
3395
- "type": "object",
3396
- "properties": {
3397
3741
  "pages": {
3398
3742
  "type": "array",
3399
3743
  "items": {
@@ -3421,16 +3765,810 @@
3421
3765
  ]
3422
3766
  }
3423
3767
  },
3424
- "resource": {
3768
+ "sections": {
3769
+ "type": "array",
3770
+ "items": {
3771
+ "type": "object",
3772
+ "properties": {
3773
+ "header": {
3774
+ "minLength": 1,
3775
+ "maxLength": 255,
3776
+ "type": "string"
3777
+ },
3778
+ "pages": {
3779
+ "type": "array",
3780
+ "items": {
3781
+ "type": "object",
3782
+ "properties": {
3783
+ "title": {
3784
+ "type": "string",
3785
+ "minLength": 1,
3786
+ "maxLength": 255
3787
+ },
3788
+ "route": {
3789
+ "minLength": 1,
3790
+ "maxLength": 255,
3791
+ "type": "string"
3792
+ },
3793
+ "icon": {
3794
+ "type": "string",
3795
+ "minLength": 1,
3796
+ "maxLength": 255
3797
+ }
3798
+ },
3799
+ "required": [
3800
+ "route",
3801
+ "title"
3802
+ ]
3803
+ }
3804
+ }
3805
+ },
3806
+ "required": [
3807
+ "pages"
3808
+ ]
3809
+ }
3810
+ },
3811
+ "displayConditions": {
3812
+ "type": "object",
3813
+ "properties": {}
3814
+ },
3815
+ "key": {
3816
+ "$ref": "#/definitions/ModuleKeySchema"
3817
+ }
3818
+ },
3819
+ "required": [
3820
+ "resource",
3821
+ "title",
3822
+ "key"
3823
+ ]
3824
+ }
3825
+ ]
3826
+ },
3827
+ "minItems": 1
3828
+ },
3829
+ "compass:adminPage": {
3830
+ "type": "array",
3831
+ "items": {
3832
+ "oneOf": [
3833
+ {
3834
+ "type": "object",
3835
+ "required": [
3836
+ "title",
3837
+ "function",
3838
+ "key"
3839
+ ],
3840
+ "properties": {
3841
+ "title": {
3842
+ "type": "string",
3843
+ "minLength": 1,
3844
+ "maxLength": 255
3845
+ },
3846
+ "icon": {
3847
+ "type": "string",
3848
+ "minLength": 1,
3849
+ "maxLength": 255
3850
+ },
3851
+ "function": {
3852
+ "type": "string",
3853
+ "minLength": 1,
3854
+ "maxLength": 255,
3855
+ "pattern": "^[a-zA-Z0-9-_]+$"
3856
+ },
3857
+ "key": {
3858
+ "$ref": "#/definitions/ModuleKeySchema"
3859
+ }
3860
+ }
3861
+ },
3862
+ {
3863
+ "type": "object",
3864
+ "required": [
3865
+ "title",
3866
+ "resource",
3867
+ "key"
3868
+ ],
3869
+ "properties": {
3870
+ "title": {
3871
+ "type": "string",
3872
+ "minLength": 1,
3873
+ "maxLength": 255
3874
+ },
3875
+ "icon": {
3876
+ "type": "string",
3877
+ "minLength": 1,
3878
+ "maxLength": 255
3879
+ },
3880
+ "resolver": {
3881
+ "additionalProperties": false,
3882
+ "type": "object",
3883
+ "properties": {
3884
+ "function": {
3885
+ "type": "string",
3886
+ "minLength": 1,
3887
+ "maxLength": 255,
3888
+ "pattern": "^[a-zA-Z0-9-_]+$"
3889
+ }
3890
+ },
3891
+ "required": [
3892
+ "function"
3893
+ ]
3894
+ },
3895
+ "resource": {
3896
+ "type": "string",
3897
+ "minLength": 1,
3898
+ "maxLength": 23,
3899
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
3900
+ },
3901
+ "key": {
3902
+ "$ref": "#/definitions/ModuleKeySchema"
3903
+ }
3904
+ }
3905
+ }
3906
+ ]
3907
+ },
3908
+ "minItems": 1
3909
+ },
3910
+ "compass:componentPage": {
3911
+ "type": "array",
3912
+ "items": {
3913
+ "oneOf": [
3914
+ {
3915
+ "type": "object",
3916
+ "required": [
3917
+ "title",
3918
+ "function",
3919
+ "key"
3920
+ ],
3921
+ "properties": {
3922
+ "title": {
3923
+ "type": "string",
3924
+ "minLength": 1,
3925
+ "maxLength": 255
3926
+ },
3927
+ "icon": {
3928
+ "type": "string",
3929
+ "minLength": 1,
3930
+ "maxLength": 255
3931
+ },
3932
+ "function": {
3933
+ "type": "string",
3934
+ "minLength": 1,
3935
+ "maxLength": 255,
3936
+ "pattern": "^[a-zA-Z0-9-_]+$"
3937
+ },
3938
+ "displayConditions": {
3939
+ "$ref": "#/definitions/DisplayConditions"
3940
+ },
3941
+ "key": {
3942
+ "$ref": "#/definitions/ModuleKeySchema"
3943
+ }
3944
+ }
3945
+ },
3946
+ {
3947
+ "type": "object",
3948
+ "required": [
3949
+ "title",
3950
+ "resource",
3951
+ "key"
3952
+ ],
3953
+ "properties": {
3954
+ "title": {
3955
+ "type": "string",
3956
+ "minLength": 1,
3957
+ "maxLength": 255
3958
+ },
3959
+ "icon": {
3960
+ "type": "string",
3961
+ "minLength": 1,
3962
+ "maxLength": 255
3963
+ },
3964
+ "resolver": {
3965
+ "additionalProperties": false,
3966
+ "type": "object",
3967
+ "properties": {
3968
+ "function": {
3969
+ "type": "string",
3970
+ "minLength": 1,
3971
+ "maxLength": 255,
3972
+ "pattern": "^[a-zA-Z0-9-_]+$"
3973
+ }
3974
+ },
3975
+ "required": [
3976
+ "function"
3977
+ ]
3978
+ },
3979
+ "displayConditions": {
3980
+ "$ref": "#/definitions/DisplayConditions"
3981
+ },
3982
+ "resource": {
3983
+ "type": "string",
3984
+ "minLength": 1,
3985
+ "maxLength": 23,
3986
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
3987
+ },
3988
+ "key": {
3989
+ "$ref": "#/definitions/ModuleKeySchema"
3990
+ }
3991
+ }
3992
+ }
3993
+ ]
3994
+ },
3995
+ "minItems": 1
3996
+ },
3997
+ "compass:globalPage": {
3998
+ "type": "array",
3999
+ "items": {
4000
+ "oneOf": [
4001
+ {
4002
+ "type": "object",
4003
+ "required": [
4004
+ "title",
4005
+ "function",
4006
+ "key"
4007
+ ],
4008
+ "properties": {
4009
+ "title": {
4010
+ "type": "string",
4011
+ "minLength": 1,
4012
+ "maxLength": 255
4013
+ },
4014
+ "icon": {
4015
+ "type": "string",
4016
+ "minLength": 1,
4017
+ "maxLength": 255
4018
+ },
4019
+ "function": {
4020
+ "type": "string",
4021
+ "minLength": 1,
4022
+ "maxLength": 255,
4023
+ "pattern": "^[a-zA-Z0-9-_]+$"
4024
+ },
4025
+ "key": {
4026
+ "$ref": "#/definitions/ModuleKeySchema"
4027
+ }
4028
+ }
4029
+ },
4030
+ {
4031
+ "type": "object",
4032
+ "required": [
4033
+ "title",
4034
+ "resource",
4035
+ "key"
4036
+ ],
4037
+ "properties": {
4038
+ "title": {
4039
+ "type": "string",
4040
+ "minLength": 1,
4041
+ "maxLength": 255
4042
+ },
4043
+ "icon": {
4044
+ "type": "string",
4045
+ "minLength": 1,
4046
+ "maxLength": 255
4047
+ },
4048
+ "resolver": {
4049
+ "additionalProperties": false,
4050
+ "type": "object",
4051
+ "properties": {
4052
+ "function": {
4053
+ "type": "string",
4054
+ "minLength": 1,
4055
+ "maxLength": 255,
4056
+ "pattern": "^[a-zA-Z0-9-_]+$"
4057
+ }
4058
+ },
4059
+ "required": [
4060
+ "function"
4061
+ ]
4062
+ },
4063
+ "resource": {
4064
+ "type": "string",
4065
+ "minLength": 1,
4066
+ "maxLength": 23,
4067
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4068
+ },
4069
+ "key": {
4070
+ "$ref": "#/definitions/ModuleKeySchema"
4071
+ }
4072
+ }
4073
+ }
4074
+ ]
4075
+ },
4076
+ "minItems": 1
4077
+ },
4078
+ "compass:teamPage": {
4079
+ "type": "array",
4080
+ "items": {
4081
+ "oneOf": [
4082
+ {
4083
+ "type": "object",
4084
+ "required": [
4085
+ "title",
4086
+ "function",
4087
+ "key"
4088
+ ],
4089
+ "properties": {
4090
+ "title": {
4091
+ "type": "string",
4092
+ "minLength": 1,
4093
+ "maxLength": 255
4094
+ },
4095
+ "icon": {
4096
+ "type": "string",
4097
+ "minLength": 1,
4098
+ "maxLength": 255
4099
+ },
4100
+ "function": {
4101
+ "type": "string",
4102
+ "minLength": 1,
4103
+ "maxLength": 255,
4104
+ "pattern": "^[a-zA-Z0-9-_]+$"
4105
+ },
4106
+ "key": {
4107
+ "$ref": "#/definitions/ModuleKeySchema"
4108
+ }
4109
+ }
4110
+ },
4111
+ {
4112
+ "type": "object",
4113
+ "required": [
4114
+ "title",
4115
+ "resource",
4116
+ "key"
4117
+ ],
4118
+ "properties": {
4119
+ "title": {
4120
+ "type": "string",
4121
+ "minLength": 1,
4122
+ "maxLength": 255
4123
+ },
4124
+ "icon": {
4125
+ "type": "string",
4126
+ "minLength": 1,
4127
+ "maxLength": 255
4128
+ },
4129
+ "resolver": {
4130
+ "additionalProperties": false,
4131
+ "type": "object",
4132
+ "properties": {
4133
+ "function": {
4134
+ "type": "string",
4135
+ "minLength": 1,
4136
+ "maxLength": 255,
4137
+ "pattern": "^[a-zA-Z0-9-_]+$"
4138
+ }
4139
+ },
4140
+ "required": [
4141
+ "function"
4142
+ ]
4143
+ },
4144
+ "resource": {
4145
+ "type": "string",
4146
+ "minLength": 1,
4147
+ "maxLength": 23,
4148
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4149
+ },
4150
+ "key": {
4151
+ "$ref": "#/definitions/ModuleKeySchema"
4152
+ }
4153
+ }
4154
+ }
4155
+ ]
4156
+ },
4157
+ "minItems": 1
4158
+ },
4159
+ "jiraServiceManagement:queuePage": {
4160
+ "type": "array",
4161
+ "items": {
4162
+ "oneOf": [
4163
+ {
4164
+ "type": "object",
4165
+ "required": [
4166
+ "title",
4167
+ "function",
4168
+ "key"
4169
+ ],
4170
+ "properties": {
4171
+ "title": {
4172
+ "type": "string",
4173
+ "minLength": 1,
4174
+ "maxLength": 255
4175
+ },
4176
+ "icon": {
4177
+ "type": "string",
4178
+ "minLength": 1,
4179
+ "maxLength": 255
4180
+ },
4181
+ "layout": {
4182
+ "type": "string",
4183
+ "minLength": 1,
4184
+ "maxLength": 255,
4185
+ "enum": [
4186
+ "native",
4187
+ "basic"
4188
+ ]
4189
+ },
4190
+ "function": {
4191
+ "type": "string",
4192
+ "minLength": 1,
4193
+ "maxLength": 255,
4194
+ "pattern": "^[a-zA-Z0-9-_]+$"
4195
+ },
4196
+ "key": {
4197
+ "$ref": "#/definitions/ModuleKeySchema"
4198
+ }
4199
+ }
4200
+ },
4201
+ {
4202
+ "type": "object",
4203
+ "required": [
4204
+ "title",
4205
+ "resource",
4206
+ "key"
4207
+ ],
4208
+ "properties": {
4209
+ "title": {
4210
+ "type": "string",
4211
+ "minLength": 1,
4212
+ "maxLength": 255
4213
+ },
4214
+ "icon": {
4215
+ "type": "string",
4216
+ "minLength": 1,
4217
+ "maxLength": 255
4218
+ },
4219
+ "layout": {
4220
+ "type": "string",
4221
+ "minLength": 1,
4222
+ "maxLength": 255,
4223
+ "enum": [
4224
+ "native",
4225
+ "basic"
4226
+ ]
4227
+ },
4228
+ "resolver": {
4229
+ "additionalProperties": false,
4230
+ "type": "object",
4231
+ "properties": {
4232
+ "function": {
4233
+ "type": "string",
4234
+ "minLength": 1,
4235
+ "maxLength": 255,
4236
+ "pattern": "^[a-zA-Z0-9-_]+$"
4237
+ }
4238
+ },
4239
+ "required": [
4240
+ "function"
4241
+ ]
4242
+ },
4243
+ "resource": {
4244
+ "type": "string",
4245
+ "minLength": 1,
4246
+ "maxLength": 23,
4247
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4248
+ },
4249
+ "resourceUploadId": {
4250
+ "type": "string",
4251
+ "minLength": 1,
4252
+ "maxLength": 255
4253
+ },
4254
+ "key": {
4255
+ "$ref": "#/definitions/ModuleKeySchema"
4256
+ }
4257
+ }
4258
+ }
4259
+ ]
4260
+ },
4261
+ "minItems": 1
4262
+ },
4263
+ "jiraServiceManagement:portalRequestDetail": {
4264
+ "type": "array",
4265
+ "items": {
4266
+ "oneOf": [
4267
+ {
4268
+ "type": "object",
4269
+ "required": [
4270
+ "title",
4271
+ "function",
4272
+ "key"
4273
+ ],
4274
+ "properties": {
4275
+ "title": {
4276
+ "type": "string",
4277
+ "minLength": 1,
4278
+ "maxLength": 255
4279
+ },
4280
+ "icon": {
4281
+ "type": "string",
4282
+ "minLength": 1,
4283
+ "maxLength": 255
4284
+ },
4285
+ "layout": {
4286
+ "type": "string",
4287
+ "minLength": 1,
4288
+ "maxLength": 255,
4289
+ "enum": [
4290
+ "native",
4291
+ "basic"
4292
+ ]
4293
+ },
4294
+ "viewportSize": {
4295
+ "type": "string",
4296
+ "minLength": 1,
4297
+ "maxLength": 255,
4298
+ "enum": [
4299
+ "small",
4300
+ "medium",
4301
+ "large",
4302
+ "xlarge"
4303
+ ]
4304
+ },
4305
+ "function": {
4306
+ "type": "string",
4307
+ "minLength": 1,
4308
+ "maxLength": 255,
4309
+ "pattern": "^[a-zA-Z0-9-_]+$"
4310
+ },
4311
+ "key": {
4312
+ "$ref": "#/definitions/ModuleKeySchema"
4313
+ }
4314
+ }
4315
+ },
4316
+ {
4317
+ "type": "object",
4318
+ "required": [
4319
+ "title",
4320
+ "resource",
4321
+ "key"
4322
+ ],
4323
+ "properties": {
4324
+ "title": {
4325
+ "type": "string",
4326
+ "minLength": 1,
4327
+ "maxLength": 255
4328
+ },
4329
+ "icon": {
4330
+ "type": "string",
4331
+ "minLength": 1,
4332
+ "maxLength": 255
4333
+ },
4334
+ "layout": {
4335
+ "type": "string",
4336
+ "minLength": 1,
4337
+ "maxLength": 255,
4338
+ "enum": [
4339
+ "native",
4340
+ "basic"
4341
+ ]
4342
+ },
4343
+ "resolver": {
4344
+ "additionalProperties": false,
4345
+ "type": "object",
4346
+ "properties": {
4347
+ "function": {
4348
+ "type": "string",
4349
+ "minLength": 1,
4350
+ "maxLength": 255,
4351
+ "pattern": "^[a-zA-Z0-9-_]+$"
4352
+ }
4353
+ },
4354
+ "required": [
4355
+ "function"
4356
+ ]
4357
+ },
4358
+ "resource": {
4359
+ "type": "string",
4360
+ "minLength": 1,
4361
+ "maxLength": 23,
4362
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4363
+ },
4364
+ "resourceUploadId": {
4365
+ "type": "string",
4366
+ "minLength": 1,
4367
+ "maxLength": 255
4368
+ },
4369
+ "key": {
4370
+ "$ref": "#/definitions/ModuleKeySchema"
4371
+ }
4372
+ }
4373
+ }
4374
+ ]
4375
+ },
4376
+ "minItems": 1
4377
+ },
4378
+ "jiraServiceManagement:portalRequestDetailPanel": {
4379
+ "type": "array",
4380
+ "items": {
4381
+ "oneOf": [
4382
+ {
4383
+ "type": "object",
4384
+ "required": [
4385
+ "title",
4386
+ "function",
4387
+ "key"
4388
+ ],
4389
+ "properties": {
4390
+ "title": {
4391
+ "type": "string",
4392
+ "minLength": 1,
4393
+ "maxLength": 255
4394
+ },
4395
+ "icon": {
4396
+ "type": "string",
4397
+ "minLength": 1,
4398
+ "maxLength": 255
4399
+ },
4400
+ "layout": {
4401
+ "type": "string",
4402
+ "minLength": 1,
4403
+ "maxLength": 255,
4404
+ "enum": [
4405
+ "native",
4406
+ "basic"
4407
+ ]
4408
+ },
4409
+ "viewportSize": {
4410
+ "type": "string",
4411
+ "minLength": 1,
4412
+ "maxLength": 255,
4413
+ "enum": [
4414
+ "small",
4415
+ "medium",
4416
+ "large",
4417
+ "xlarge"
4418
+ ]
4419
+ },
4420
+ "function": {
4421
+ "type": "string",
4422
+ "minLength": 1,
4423
+ "maxLength": 255,
4424
+ "pattern": "^[a-zA-Z0-9-_]+$"
4425
+ },
4426
+ "key": {
4427
+ "$ref": "#/definitions/ModuleKeySchema"
4428
+ }
4429
+ }
4430
+ },
4431
+ {
4432
+ "type": "object",
4433
+ "required": [
4434
+ "title",
4435
+ "resource",
4436
+ "key"
4437
+ ],
4438
+ "properties": {
4439
+ "title": {
4440
+ "type": "string",
4441
+ "minLength": 1,
4442
+ "maxLength": 255
4443
+ },
4444
+ "icon": {
4445
+ "type": "string",
4446
+ "minLength": 1,
4447
+ "maxLength": 255
4448
+ },
4449
+ "layout": {
4450
+ "type": "string",
4451
+ "minLength": 1,
4452
+ "maxLength": 255,
4453
+ "enum": [
4454
+ "native",
4455
+ "basic"
4456
+ ]
4457
+ },
4458
+ "resolver": {
4459
+ "additionalProperties": false,
4460
+ "type": "object",
4461
+ "properties": {
4462
+ "function": {
4463
+ "type": "string",
4464
+ "minLength": 1,
4465
+ "maxLength": 255,
4466
+ "pattern": "^[a-zA-Z0-9-_]+$"
4467
+ }
4468
+ },
4469
+ "required": [
4470
+ "function"
4471
+ ]
4472
+ },
4473
+ "resource": {
4474
+ "type": "string",
4475
+ "minLength": 1,
4476
+ "maxLength": 23,
4477
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
4478
+ },
4479
+ "resourceUploadId": {
4480
+ "type": "string",
4481
+ "minLength": 1,
4482
+ "maxLength": 255
4483
+ },
4484
+ "key": {
4485
+ "$ref": "#/definitions/ModuleKeySchema"
4486
+ }
4487
+ }
4488
+ }
4489
+ ]
4490
+ },
4491
+ "minItems": 1
4492
+ },
4493
+ "jiraServiceManagement:organizationPanel": {
4494
+ "type": "array",
4495
+ "items": {
4496
+ "oneOf": [
4497
+ {
4498
+ "type": "object",
4499
+ "required": [
4500
+ "title",
4501
+ "function",
4502
+ "key"
4503
+ ],
4504
+ "properties": {
4505
+ "title": {
4506
+ "type": "string",
4507
+ "minLength": 1,
4508
+ "maxLength": 255
4509
+ },
4510
+ "icon": {
4511
+ "type": "string",
4512
+ "minLength": 1,
4513
+ "maxLength": 255
4514
+ },
4515
+ "layout": {
4516
+ "type": "string",
4517
+ "minLength": 1,
4518
+ "maxLength": 255,
4519
+ "enum": [
4520
+ "native",
4521
+ "basic"
4522
+ ]
4523
+ },
4524
+ "function": {
4525
+ "type": "string",
4526
+ "minLength": 1,
4527
+ "maxLength": 255,
4528
+ "pattern": "^[a-zA-Z0-9-_]+$"
4529
+ },
4530
+ "key": {
4531
+ "$ref": "#/definitions/ModuleKeySchema"
4532
+ }
4533
+ }
4534
+ },
4535
+ {
4536
+ "type": "object",
4537
+ "required": [
4538
+ "title",
4539
+ "resource",
4540
+ "key"
4541
+ ],
4542
+ "properties": {
4543
+ "title": {
4544
+ "type": "string",
4545
+ "minLength": 1,
4546
+ "maxLength": 255
4547
+ },
4548
+ "icon": {
4549
+ "type": "string",
4550
+ "minLength": 1,
4551
+ "maxLength": 255
4552
+ },
4553
+ "layout": {
3425
4554
  "type": "string",
3426
4555
  "minLength": 1,
3427
- "maxLength": 23,
3428
- "pattern": "^[a-zA-Z0-9_\\-]+$"
4556
+ "maxLength": 255,
4557
+ "enum": [
4558
+ "native",
4559
+ "basic"
4560
+ ]
3429
4561
  },
3430
- "resourceUploadId": {
4562
+ "viewportSize": {
3431
4563
  "type": "string",
3432
4564
  "minLength": 1,
3433
- "maxLength": 255
4565
+ "maxLength": 255,
4566
+ "enum": [
4567
+ "small",
4568
+ "medium",
4569
+ "large",
4570
+ "xlarge"
4571
+ ]
3434
4572
  },
3435
4573
  "resolver": {
3436
4574
  "additionalProperties": false,
@@ -3447,90 +4585,117 @@
3447
4585
  "function"
3448
4586
  ]
3449
4587
  },
3450
- "title": {
4588
+ "resource": {
3451
4589
  "type": "string",
3452
4590
  "minLength": 1,
3453
- "maxLength": 255
4591
+ "maxLength": 23,
4592
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
3454
4593
  },
3455
- "icon": {
4594
+ "resourceUploadId": {
3456
4595
  "type": "string",
3457
4596
  "minLength": 1,
3458
4597
  "maxLength": 255
3459
4598
  },
4599
+ "key": {
4600
+ "$ref": "#/definitions/ModuleKeySchema"
4601
+ }
4602
+ }
4603
+ }
4604
+ ]
4605
+ },
4606
+ "minItems": 1
4607
+ },
4608
+ "jiraServiceManagement:portalFooter": {
4609
+ "type": "array",
4610
+ "items": {
4611
+ "oneOf": [
4612
+ {
4613
+ "type": "object",
4614
+ "required": [
4615
+ "function",
4616
+ "key"
4617
+ ],
4618
+ "properties": {
3460
4619
  "layout": {
4620
+ "type": "string",
4621
+ "minLength": 1,
4622
+ "maxLength": 255,
3461
4623
  "enum": [
3462
- "basic",
3463
- "native"
3464
- ],
3465
- "type": "string"
4624
+ "native",
4625
+ "basic"
4626
+ ]
4627
+ },
4628
+ "pages": {
4629
+ "type": "array",
4630
+ "items": {
4631
+ "type": "string",
4632
+ "enum": [
4633
+ "help_center",
4634
+ "portal",
4635
+ "create_request",
4636
+ "view_request",
4637
+ "my_requests",
4638
+ "approvals",
4639
+ "profile"
4640
+ ]
4641
+ }
4642
+ },
4643
+ "viewportSize": {
4644
+ "type": "string",
4645
+ "minLength": 1,
4646
+ "maxLength": 255,
4647
+ "enum": [
4648
+ "xsmall",
4649
+ "small",
4650
+ "medium",
4651
+ "large",
4652
+ "xlarge"
4653
+ ]
4654
+ },
4655
+ "function": {
4656
+ "type": "string",
4657
+ "minLength": 1,
4658
+ "maxLength": 255,
4659
+ "pattern": "^[a-zA-Z0-9-_]+$"
3466
4660
  },
3467
4661
  "key": {
3468
4662
  "$ref": "#/definitions/ModuleKeySchema"
3469
4663
  }
3470
- },
3471
- "required": [
3472
- "pages",
3473
- "resource",
3474
- "title",
3475
- "key"
3476
- ]
4664
+ }
3477
4665
  },
3478
4666
  {
3479
4667
  "type": "object",
4668
+ "required": [
4669
+ "resource",
4670
+ "key"
4671
+ ],
3480
4672
  "properties": {
3481
- "sections": {
4673
+ "pages": {
3482
4674
  "type": "array",
3483
4675
  "items": {
3484
- "type": "object",
3485
- "properties": {
3486
- "header": {
3487
- "minLength": 1,
3488
- "maxLength": 255,
3489
- "type": "string"
3490
- },
3491
- "pages": {
3492
- "type": "array",
3493
- "items": {
3494
- "type": "object",
3495
- "properties": {
3496
- "title": {
3497
- "type": "string",
3498
- "minLength": 1,
3499
- "maxLength": 255
3500
- },
3501
- "route": {
3502
- "minLength": 1,
3503
- "maxLength": 255,
3504
- "type": "string"
3505
- },
3506
- "icon": {
3507
- "type": "string",
3508
- "minLength": 1,
3509
- "maxLength": 255
3510
- }
3511
- },
3512
- "required": [
3513
- "route",
3514
- "title"
3515
- ]
3516
- }
3517
- }
3518
- },
3519
- "required": [
3520
- "pages"
4676
+ "type": "string",
4677
+ "enum": [
4678
+ "help_center",
4679
+ "portal",
4680
+ "create_request",
4681
+ "view_request",
4682
+ "my_requests",
4683
+ "approvals",
4684
+ "profile"
3521
4685
  ]
3522
4686
  }
3523
4687
  },
3524
- "resource": {
3525
- "type": "string",
3526
- "minLength": 1,
3527
- "maxLength": 23,
3528
- "pattern": "^[a-zA-Z0-9_\\-]+$"
3529
- },
3530
- "resourceUploadId": {
4688
+ "viewportSize": {
3531
4689
  "type": "string",
3532
4690
  "minLength": 1,
3533
- "maxLength": 255
4691
+ "maxLength": 255,
4692
+ "enum": [
4693
+ "xsmall",
4694
+ "small",
4695
+ "medium",
4696
+ "large",
4697
+ "xlarge"
4698
+ ]
3534
4699
  },
3535
4700
  "resolver": {
3536
4701
  "additionalProperties": false,
@@ -3547,59 +4712,63 @@
3547
4712
  "function"
3548
4713
  ]
3549
4714
  },
3550
- "title": {
4715
+ "resource": {
3551
4716
  "type": "string",
3552
4717
  "minLength": 1,
3553
- "maxLength": 255
4718
+ "maxLength": 23,
4719
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
3554
4720
  },
3555
- "icon": {
4721
+ "resourceUploadId": {
3556
4722
  "type": "string",
3557
4723
  "minLength": 1,
3558
4724
  "maxLength": 255
3559
4725
  },
3560
- "layout": {
3561
- "enum": [
3562
- "basic",
3563
- "native"
3564
- ],
3565
- "type": "string"
3566
- },
3567
4726
  "key": {
3568
4727
  "$ref": "#/definitions/ModuleKeySchema"
3569
4728
  }
3570
- },
3571
- "required": [
3572
- "resource",
3573
- "sections",
3574
- "title",
3575
- "key"
3576
- ]
4729
+ }
3577
4730
  }
3578
4731
  ]
3579
4732
  },
3580
4733
  "minItems": 1
3581
4734
  },
3582
- "compass:adminPage": {
4735
+ "jiraServiceManagement:portalHeader": {
3583
4736
  "type": "array",
3584
4737
  "items": {
3585
4738
  "oneOf": [
3586
4739
  {
3587
4740
  "type": "object",
3588
4741
  "required": [
3589
- "title",
3590
4742
  "function",
3591
4743
  "key"
3592
4744
  ],
3593
4745
  "properties": {
3594
- "title": {
3595
- "type": "string",
3596
- "minLength": 1,
3597
- "maxLength": 255
4746
+ "pages": {
4747
+ "type": "array",
4748
+ "items": {
4749
+ "type": "string",
4750
+ "enum": [
4751
+ "help_center",
4752
+ "portal",
4753
+ "create_request",
4754
+ "view_request",
4755
+ "my_requests",
4756
+ "approvals",
4757
+ "profile"
4758
+ ]
4759
+ }
3598
4760
  },
3599
- "icon": {
4761
+ "viewportSize": {
3600
4762
  "type": "string",
3601
4763
  "minLength": 1,
3602
- "maxLength": 255
4764
+ "maxLength": 255,
4765
+ "enum": [
4766
+ "xsmall",
4767
+ "small",
4768
+ "medium",
4769
+ "large",
4770
+ "xlarge"
4771
+ ]
3603
4772
  },
3604
4773
  "function": {
3605
4774
  "type": "string",
@@ -3615,20 +4784,36 @@
3615
4784
  {
3616
4785
  "type": "object",
3617
4786
  "required": [
3618
- "title",
3619
4787
  "resource",
3620
4788
  "key"
3621
4789
  ],
3622
4790
  "properties": {
3623
- "title": {
3624
- "type": "string",
3625
- "minLength": 1,
3626
- "maxLength": 255
4791
+ "pages": {
4792
+ "type": "array",
4793
+ "items": {
4794
+ "type": "string",
4795
+ "enum": [
4796
+ "help_center",
4797
+ "portal",
4798
+ "create_request",
4799
+ "view_request",
4800
+ "my_requests",
4801
+ "approvals",
4802
+ "profile"
4803
+ ]
4804
+ }
3627
4805
  },
3628
- "icon": {
4806
+ "viewportSize": {
3629
4807
  "type": "string",
3630
4808
  "minLength": 1,
3631
- "maxLength": 255
4809
+ "maxLength": 255,
4810
+ "enum": [
4811
+ "xsmall",
4812
+ "small",
4813
+ "medium",
4814
+ "large",
4815
+ "xlarge"
4816
+ ]
3632
4817
  },
3633
4818
  "resolver": {
3634
4819
  "additionalProperties": false,
@@ -3665,27 +4850,43 @@
3665
4850
  },
3666
4851
  "minItems": 1
3667
4852
  },
3668
- "compass:componentPage": {
4853
+ "jiraServiceManagement:portalSubheader": {
3669
4854
  "type": "array",
3670
4855
  "items": {
3671
4856
  "oneOf": [
3672
4857
  {
3673
4858
  "type": "object",
3674
4859
  "required": [
3675
- "title",
3676
4860
  "function",
3677
4861
  "key"
3678
4862
  ],
3679
4863
  "properties": {
3680
- "title": {
3681
- "type": "string",
3682
- "minLength": 1,
3683
- "maxLength": 255
4864
+ "pages": {
4865
+ "type": "array",
4866
+ "items": {
4867
+ "type": "string",
4868
+ "enum": [
4869
+ "help_center",
4870
+ "portal",
4871
+ "create_request",
4872
+ "view_request",
4873
+ "my_requests",
4874
+ "approvals",
4875
+ "profile"
4876
+ ]
4877
+ }
3684
4878
  },
3685
- "icon": {
4879
+ "viewportSize": {
3686
4880
  "type": "string",
3687
4881
  "minLength": 1,
3688
- "maxLength": 255
4882
+ "maxLength": 255,
4883
+ "enum": [
4884
+ "xsmall",
4885
+ "small",
4886
+ "medium",
4887
+ "large",
4888
+ "xlarge"
4889
+ ]
3689
4890
  },
3690
4891
  "function": {
3691
4892
  "type": "string",
@@ -3693,9 +4894,6 @@
3693
4894
  "maxLength": 255,
3694
4895
  "pattern": "^[a-zA-Z0-9-_]+$"
3695
4896
  },
3696
- "displayConditions": {
3697
- "$ref": "#/definitions/DisplayConditions"
3698
- },
3699
4897
  "key": {
3700
4898
  "$ref": "#/definitions/ModuleKeySchema"
3701
4899
  }
@@ -3704,20 +4902,36 @@
3704
4902
  {
3705
4903
  "type": "object",
3706
4904
  "required": [
3707
- "title",
3708
4905
  "resource",
3709
4906
  "key"
3710
4907
  ],
3711
4908
  "properties": {
3712
- "title": {
3713
- "type": "string",
3714
- "minLength": 1,
3715
- "maxLength": 255
4909
+ "pages": {
4910
+ "type": "array",
4911
+ "items": {
4912
+ "type": "string",
4913
+ "enum": [
4914
+ "help_center",
4915
+ "portal",
4916
+ "create_request",
4917
+ "view_request",
4918
+ "my_requests",
4919
+ "approvals",
4920
+ "profile"
4921
+ ]
4922
+ }
3716
4923
  },
3717
- "icon": {
4924
+ "viewportSize": {
3718
4925
  "type": "string",
3719
4926
  "minLength": 1,
3720
- "maxLength": 255
4927
+ "maxLength": 255,
4928
+ "enum": [
4929
+ "xsmall",
4930
+ "small",
4931
+ "medium",
4932
+ "large",
4933
+ "xlarge"
4934
+ ]
3721
4935
  },
3722
4936
  "resolver": {
3723
4937
  "additionalProperties": false,
@@ -3734,9 +4948,6 @@
3734
4948
  "function"
3735
4949
  ]
3736
4950
  },
3737
- "displayConditions": {
3738
- "$ref": "#/definitions/DisplayConditions"
3739
- },
3740
4951
  "resource": {
3741
4952
  "type": "string",
3742
4953
  "minLength": 1,
@@ -3757,7 +4968,7 @@
3757
4968
  },
3758
4969
  "minItems": 1
3759
4970
  },
3760
- "compass:globalPage": {
4971
+ "jiraServiceManagement:portalProfilePanel": {
3761
4972
  "type": "array",
3762
4973
  "items": {
3763
4974
  "oneOf": [
@@ -3779,6 +4990,15 @@
3779
4990
  "minLength": 1,
3780
4991
  "maxLength": 255
3781
4992
  },
4993
+ "layout": {
4994
+ "type": "string",
4995
+ "minLength": 1,
4996
+ "maxLength": 255,
4997
+ "enum": [
4998
+ "native",
4999
+ "basic"
5000
+ ]
5001
+ },
3782
5002
  "function": {
3783
5003
  "type": "string",
3784
5004
  "minLength": 1,
@@ -3808,6 +5028,26 @@
3808
5028
  "minLength": 1,
3809
5029
  "maxLength": 255
3810
5030
  },
5031
+ "layout": {
5032
+ "type": "string",
5033
+ "minLength": 1,
5034
+ "maxLength": 255,
5035
+ "enum": [
5036
+ "native",
5037
+ "basic"
5038
+ ]
5039
+ },
5040
+ "viewportSize": {
5041
+ "type": "string",
5042
+ "minLength": 1,
5043
+ "maxLength": 255,
5044
+ "enum": [
5045
+ "small",
5046
+ "medium",
5047
+ "large",
5048
+ "xlarge"
5049
+ ]
5050
+ },
3811
5051
  "resolver": {
3812
5052
  "additionalProperties": false,
3813
5053
  "type": "object",
@@ -4007,10 +5247,10 @@
4007
5247
  "type": "object",
4008
5248
  "anyOf": [
4009
5249
  {
4010
- "$ref": "#/definitions/compositeCondition"
5250
+ "$ref": "#/definitions/singleCondition"
4011
5251
  },
4012
5252
  {
4013
- "$ref": "#/definitions/singleCondition"
5253
+ "$ref": "#/definitions/compositeCondition"
4014
5254
  }
4015
5255
  ]
4016
5256
  },
@@ -4062,10 +5302,10 @@
4062
5302
  "type": "object",
4063
5303
  "anyOf": [
4064
5304
  {
4065
- "$ref": "#/definitions/singleCondition"
5305
+ "$ref": "#/definitions/compositeCondition"
4066
5306
  },
4067
5307
  {
4068
- "$ref": "#/definitions/compositeCondition"
5308
+ "$ref": "#/definitions/singleCondition"
4069
5309
  }
4070
5310
  ]
4071
5311
  },
@@ -4315,6 +5555,53 @@
4315
5555
  "type": "object",
4316
5556
  "fieldDescription": "\n\n<p>An object containing options which vary based on the type of web item target you are implementing.</p>\n\n <p>Currently-allowed options are:</p>\n <ul>\n <li><a href=\"../inline-dialog-options/\">Inline Dialog Options</a> when type is \"inlinedialog\", and</li>\n <li><a href=\"../dialog-options/\">Dialog Options</a> when type is \"dialog\"</li>\n <li><a href=\"../dialog-module-options/\">Dialog Module Options</a> when type is \"dialogmodule\"</li>\n </ul>\n\n",
4317
5557
  "anyOf": [
5558
+ {
5559
+ "properties": {
5560
+ "offsetX": {
5561
+ "maxLength": 10,
5562
+ "type": "string",
5563
+ "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the x-axis in pixels\n\n"
5564
+ },
5565
+ "offsetY": {
5566
+ "maxLength": 10,
5567
+ "type": "string",
5568
+ "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the y-axis in pixels\n\n"
5569
+ },
5570
+ "width": {
5571
+ "maxLength": 10,
5572
+ "type": "string",
5573
+ "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
5574
+ },
5575
+ "onTop": {
5576
+ "type": "boolean",
5577
+ "fieldDescription": "\n\nDetermines if the dialog should be shown above the trigger or not. If this option is true but there is insufficient room above the trigger the inline-dialog will be flipped to display below it\n\n"
5578
+ },
5579
+ "showDelay": {
5580
+ "type": "integer",
5581
+ "fieldDescription": "\n\nDetermines how long in milliseconds after a show trigger is fired (such as a trigger click) until the dialog is shown\n\n"
5582
+ },
5583
+ "closeOthers": {
5584
+ "type": "boolean",
5585
+ "fieldDescription": "\n\nDetermines if all other dialogs on the screen are closed when this one is opened\n\n"
5586
+ },
5587
+ "persistent": {
5588
+ "type": "boolean",
5589
+ "fieldDescription": "\n\nThis option, ignores the 'closeOthers' option\n\n"
5590
+ },
5591
+ "onHover": {
5592
+ "type": "boolean",
5593
+ "fieldDescription": "\n\nDetermines whether the inline-Dialog will show on a mouseOver or mouseClick of the trigger\n\n"
5594
+ },
5595
+ "isRelativeToMouse": {
5596
+ "type": "boolean",
5597
+ "fieldDescription": "\n\nDetermines if the dialog should be shown relative to where the mouse is at the time of the event trigger (normally a click) if set to false the dialog will show aligned to the left of the trigger with the arrow showing at the center\n\n"
5598
+ }
5599
+ },
5600
+ "shortClassName": "inlineDialogOptions",
5601
+ "type": "object",
5602
+ "title": "Inline Dialog Options",
5603
+ "description": "\n\nOptions for an inline dialog target\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"inlinedialog\",\n \"options\": {\n \"onHover\": true,\n \"offsetX\": \"30px\",\n \"offsetY\": \"20px\"\n }\n }\n }\n\n\n"
5604
+ },
4318
5605
  {
4319
5606
  "properties": {
4320
5607
  "size": {
@@ -4375,53 +5662,6 @@
4375
5662
  "type": "object",
4376
5663
  "title": "Dialog Module Options",
4377
5664
  "description": "\n\nOptions for a web-item targeting a common <a href=\"../dialog/\">dialog module</a>.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialogmodule\",\n \"options\": {\n \"key\": \"dialog-module-key\"\n }\n }\n }\n\n\n"
4378
- },
4379
- {
4380
- "properties": {
4381
- "offsetX": {
4382
- "maxLength": 10,
4383
- "type": "string",
4384
- "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the x-axis in pixels\n\n"
4385
- },
4386
- "offsetY": {
4387
- "maxLength": 10,
4388
- "type": "string",
4389
- "fieldDescription": "\n\nSets an offset distance of the inline-dialog from the trigger element along the y-axis in pixels\n\n"
4390
- },
4391
- "width": {
4392
- "maxLength": 10,
4393
- "type": "string",
4394
- "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
4395
- },
4396
- "onTop": {
4397
- "type": "boolean",
4398
- "fieldDescription": "\n\nDetermines if the dialog should be shown above the trigger or not. If this option is true but there is insufficient room above the trigger the inline-dialog will be flipped to display below it\n\n"
4399
- },
4400
- "showDelay": {
4401
- "type": "integer",
4402
- "fieldDescription": "\n\nDetermines how long in milliseconds after a show trigger is fired (such as a trigger click) until the dialog is shown\n\n"
4403
- },
4404
- "closeOthers": {
4405
- "type": "boolean",
4406
- "fieldDescription": "\n\nDetermines if all other dialogs on the screen are closed when this one is opened\n\n"
4407
- },
4408
- "persistent": {
4409
- "type": "boolean",
4410
- "fieldDescription": "\n\nThis option, ignores the 'closeOthers' option\n\n"
4411
- },
4412
- "onHover": {
4413
- "type": "boolean",
4414
- "fieldDescription": "\n\nDetermines whether the inline-Dialog will show on a mouseOver or mouseClick of the trigger\n\n"
4415
- },
4416
- "isRelativeToMouse": {
4417
- "type": "boolean",
4418
- "fieldDescription": "\n\nDetermines if the dialog should be shown relative to where the mouse is at the time of the event trigger (normally a click) if set to false the dialog will show aligned to the left of the trigger with the arrow showing at the center\n\n"
4419
- }
4420
- },
4421
- "shortClassName": "inlineDialogOptions",
4422
- "type": "object",
4423
- "title": "Inline Dialog Options",
4424
- "description": "\n\nOptions for an inline dialog target\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"inlinedialog\",\n \"options\": {\n \"onHover\": true,\n \"offsetX\": \"30px\",\n \"offsetY\": \"20px\"\n }\n }\n }\n\n\n"
4425
5665
  }
4426
5666
  ]
4427
5667
  },
@@ -4478,33 +5718,6 @@
4478
5718
  "items": {
4479
5719
  "type": "object",
4480
5720
  "anyOf": [
4481
- {
4482
- "properties": {
4483
- "condition": {
4484
- "maxLength": 100,
4485
- "type": "string",
4486
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
4487
- },
4488
- "invert": {
4489
- "type": "boolean",
4490
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
4491
- "defaultValue": "false"
4492
- },
4493
- "params": {
4494
- "additionalProperties": true,
4495
- "type": "object",
4496
- "fieldTitle": "Object",
4497
- "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
4498
- }
4499
- },
4500
- "required": [
4501
- "condition"
4502
- ],
4503
- "shortClassName": "singleConditionBean",
4504
- "type": "object",
4505
- "title": "Single Condition",
4506
- "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
4507
- },
4508
5721
  {
4509
5722
  "properties": {
4510
5723
  "conditions": {
@@ -4537,6 +5750,33 @@
4537
5750
  "type": "object",
4538
5751
  "title": "Composite Condition",
4539
5752
  "description": "\n\nComposite Conditions are composed of a collection of [Single Condition](../single-condition/) / Composite Conditions\n and a type attribute.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"conditions\": [\n {\n \"or\": [\n {\n \"condition\": \"can_attach_file_to_issue\",\n \"invert\": false\n },\n {\n \"condition\": \"is_issue_assigned_to_current_user\",\n \"invert\": false\n }\n ]\n },\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n ]\n }\n\n\n"
5753
+ },
5754
+ {
5755
+ "properties": {
5756
+ "condition": {
5757
+ "maxLength": 100,
5758
+ "type": "string",
5759
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
5760
+ },
5761
+ "invert": {
5762
+ "type": "boolean",
5763
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
5764
+ "defaultValue": "false"
5765
+ },
5766
+ "params": {
5767
+ "additionalProperties": true,
5768
+ "type": "object",
5769
+ "fieldTitle": "Object",
5770
+ "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
5771
+ }
5772
+ },
5773
+ "required": [
5774
+ "condition"
5775
+ ],
5776
+ "shortClassName": "singleConditionBean",
5777
+ "type": "object",
5778
+ "title": "Single Condition",
5779
+ "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
4540
5780
  }
4541
5781
  ]
4542
5782
  },
@@ -4811,10 +6051,10 @@
4811
6051
  "type": "object",
4812
6052
  "anyOf": [
4813
6053
  {
4814
- "$ref": "#/definitions/singleCondition"
6054
+ "$ref": "#/definitions/compositeCondition"
4815
6055
  },
4816
6056
  {
4817
- "$ref": "#/definitions/compositeCondition"
6057
+ "$ref": "#/definitions/singleCondition"
4818
6058
  }
4819
6059
  ]
4820
6060
  },
@@ -4954,10 +6194,10 @@
4954
6194
  "type": "object",
4955
6195
  "anyOf": [
4956
6196
  {
4957
- "$ref": "#/definitions/compositeCondition"
6197
+ "$ref": "#/definitions/singleCondition"
4958
6198
  },
4959
6199
  {
4960
- "$ref": "#/definitions/singleCondition"
6200
+ "$ref": "#/definitions/compositeCondition"
4961
6201
  }
4962
6202
  ]
4963
6203
  },
@@ -5000,10 +6240,10 @@
5000
6240
  "type": "object",
5001
6241
  "anyOf": [
5002
6242
  {
5003
- "$ref": "#/definitions/compositeCondition"
6243
+ "$ref": "#/definitions/singleCondition"
5004
6244
  },
5005
6245
  {
5006
- "$ref": "#/definitions/singleCondition"
6246
+ "$ref": "#/definitions/compositeCondition"
5007
6247
  }
5008
6248
  ]
5009
6249
  },
@@ -5047,10 +6287,10 @@
5047
6287
  "type": "object",
5048
6288
  "anyOf": [
5049
6289
  {
5050
- "$ref": "#/definitions/singleCondition"
6290
+ "$ref": "#/definitions/compositeCondition"
5051
6291
  },
5052
6292
  {
5053
- "$ref": "#/definitions/compositeCondition"
6293
+ "$ref": "#/definitions/singleCondition"
5054
6294
  }
5055
6295
  ]
5056
6296
  },
@@ -5280,10 +6520,10 @@
5280
6520
  "type": "object",
5281
6521
  "anyOf": [
5282
6522
  {
5283
- "$ref": "#/definitions/compositeCondition"
6523
+ "$ref": "#/definitions/singleCondition"
5284
6524
  },
5285
6525
  {
5286
- "$ref": "#/definitions/singleCondition"
6526
+ "$ref": "#/definitions/compositeCondition"
5287
6527
  }
5288
6528
  ]
5289
6529
  },
@@ -5352,51 +6592,24 @@
5352
6592
  "key"
5353
6593
  ]
5354
6594
  },
5355
- "minItems": 1
5356
- },
5357
- "connect-jira:jiraProjectTabPanels": {
5358
- "type": "array",
5359
- "items": {
5360
- "properties": {
5361
- "name": {
5362
- "$ref": "#/definitions/i18nProperty",
5363
- "fieldDescription": "\n\nA human readable name.\n\n"
5364
- },
5365
- "weight": {
5366
- "type": "integer",
5367
- "fieldDescription": "\n\n<p>Determines the order in which the tab panel's link appears in the menu or list.</p>\n\n <p>The \"lightest\" weight (i.e., lowest number) appears first, rising relative to other items,\n while the \"heaviest\" weights sink to the bottom of the menu or list.</p>\n\n <p>Built-in web items have weights that are incremented by numbers that leave room for additional\n items, such as by 10 or 100. Be mindful of the weight you choose for your item, so that it appears\n in a sensible order given existing items.</p>\n\n"
5368
- },
5369
- "conditions": {
5370
- "items": {
5371
- "type": "object",
5372
- "anyOf": [
5373
- {
5374
- "properties": {
5375
- "condition": {
5376
- "maxLength": 100,
5377
- "type": "string",
5378
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
5379
- },
5380
- "invert": {
5381
- "type": "boolean",
5382
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
5383
- "defaultValue": "false"
5384
- },
5385
- "params": {
5386
- "additionalProperties": true,
5387
- "type": "object",
5388
- "fieldTitle": "Object",
5389
- "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
5390
- }
5391
- },
5392
- "required": [
5393
- "condition"
5394
- ],
5395
- "shortClassName": "singleConditionBean",
5396
- "type": "object",
5397
- "title": "Single Condition",
5398
- "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
5399
- },
6595
+ "minItems": 1
6596
+ },
6597
+ "connect-jira:jiraProjectTabPanels": {
6598
+ "type": "array",
6599
+ "items": {
6600
+ "properties": {
6601
+ "name": {
6602
+ "$ref": "#/definitions/i18nProperty",
6603
+ "fieldDescription": "\n\nA human readable name.\n\n"
6604
+ },
6605
+ "weight": {
6606
+ "type": "integer",
6607
+ "fieldDescription": "\n\n<p>Determines the order in which the tab panel's link appears in the menu or list.</p>\n\n <p>The \"lightest\" weight (i.e., lowest number) appears first, rising relative to other items,\n while the \"heaviest\" weights sink to the bottom of the menu or list.</p>\n\n <p>Built-in web items have weights that are incremented by numbers that leave room for additional\n items, such as by 10 or 100. Be mindful of the weight you choose for your item, so that it appears\n in a sensible order given existing items.</p>\n\n"
6608
+ },
6609
+ "conditions": {
6610
+ "items": {
6611
+ "type": "object",
6612
+ "anyOf": [
5400
6613
  {
5401
6614
  "properties": {
5402
6615
  "conditions": {
@@ -5410,10 +6623,10 @@
5410
6623
  "type": "object",
5411
6624
  "anyOf": [
5412
6625
  {
5413
- "$ref": "#/definitions/singleCondition"
6626
+ "$ref": "#"
5414
6627
  },
5415
6628
  {
5416
- "$ref": "#"
6629
+ "$ref": "#/definitions/singleCondition"
5417
6630
  }
5418
6631
  ]
5419
6632
  },
@@ -5459,6 +6672,33 @@
5459
6672
  "type": "object",
5460
6673
  "title": "Composite Condition",
5461
6674
  "description": "\n\nComposite Conditions are composed of a collection of [Single Condition](../single-condition/) / Composite Conditions\n and a type attribute.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"conditions\": [\n {\n \"or\": [\n {\n \"condition\": \"can_attach_file_to_issue\",\n \"invert\": false\n },\n {\n \"condition\": \"is_issue_assigned_to_current_user\",\n \"invert\": false\n }\n ]\n },\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n ]\n }\n\n\n"
6675
+ },
6676
+ {
6677
+ "properties": {
6678
+ "condition": {
6679
+ "maxLength": 100,
6680
+ "type": "string",
6681
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
6682
+ },
6683
+ "invert": {
6684
+ "type": "boolean",
6685
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
6686
+ "defaultValue": "false"
6687
+ },
6688
+ "params": {
6689
+ "additionalProperties": true,
6690
+ "type": "object",
6691
+ "fieldTitle": "Object",
6692
+ "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
6693
+ }
6694
+ },
6695
+ "required": [
6696
+ "condition"
6697
+ ],
6698
+ "shortClassName": "singleConditionBean",
6699
+ "type": "object",
6700
+ "title": "Single Condition",
6701
+ "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
5462
6702
  }
5463
6703
  ]
5464
6704
  },
@@ -5685,33 +6925,6 @@
5685
6925
  "items": {
5686
6926
  "type": "object",
5687
6927
  "anyOf": [
5688
- {
5689
- "properties": {
5690
- "condition": {
5691
- "maxLength": 100,
5692
- "type": "string",
5693
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
5694
- },
5695
- "invert": {
5696
- "type": "boolean",
5697
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
5698
- "defaultValue": "false"
5699
- },
5700
- "params": {
5701
- "additionalProperties": true,
5702
- "type": "object",
5703
- "fieldTitle": "Object",
5704
- "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
5705
- }
5706
- },
5707
- "required": [
5708
- "condition"
5709
- ],
5710
- "shortClassName": "singleConditionBean",
5711
- "type": "object",
5712
- "title": "Single Condition",
5713
- "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
5714
- },
5715
6928
  {
5716
6929
  "properties": {
5717
6930
  "conditions": {
@@ -5725,10 +6938,10 @@
5725
6938
  "type": "object",
5726
6939
  "anyOf": [
5727
6940
  {
5728
- "$ref": "#/definitions/singleCondition"
6941
+ "$ref": "#"
5729
6942
  },
5730
6943
  {
5731
- "$ref": "#"
6944
+ "$ref": "#/definitions/singleCondition"
5732
6945
  }
5733
6946
  ]
5734
6947
  },
@@ -5774,6 +6987,33 @@
5774
6987
  "type": "object",
5775
6988
  "title": "Composite Condition",
5776
6989
  "description": "\n\nComposite Conditions are composed of a collection of [Single Condition](../single-condition/) / Composite Conditions\n and a type attribute.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"conditions\": [\n {\n \"or\": [\n {\n \"condition\": \"can_attach_file_to_issue\",\n \"invert\": false\n },\n {\n \"condition\": \"is_issue_assigned_to_current_user\",\n \"invert\": false\n }\n ]\n },\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n ]\n }\n\n\n"
6990
+ },
6991
+ {
6992
+ "properties": {
6993
+ "condition": {
6994
+ "maxLength": 100,
6995
+ "type": "string",
6996
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
6997
+ },
6998
+ "invert": {
6999
+ "type": "boolean",
7000
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
7001
+ "defaultValue": "false"
7002
+ },
7003
+ "params": {
7004
+ "additionalProperties": true,
7005
+ "type": "object",
7006
+ "fieldTitle": "Object",
7007
+ "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
7008
+ }
7009
+ },
7010
+ "required": [
7011
+ "condition"
7012
+ ],
7013
+ "shortClassName": "singleConditionBean",
7014
+ "type": "object",
7015
+ "title": "Single Condition",
7016
+ "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
5777
7017
  }
5778
7018
  ]
5779
7019
  },
@@ -5939,10 +7179,10 @@
5939
7179
  "type": "object",
5940
7180
  "anyOf": [
5941
7181
  {
5942
- "$ref": "#/definitions/singleCondition"
7182
+ "$ref": "#/definitions/compositeCondition"
5943
7183
  },
5944
7184
  {
5945
- "$ref": "#/definitions/compositeCondition"
7185
+ "$ref": "#/definitions/singleCondition"
5946
7186
  }
5947
7187
  ]
5948
7188
  },
@@ -6387,10 +7627,10 @@
6387
7627
  "type": "object",
6388
7628
  "anyOf": [
6389
7629
  {
6390
- "$ref": "#/definitions/compositeCondition"
7630
+ "$ref": "#/definitions/singleCondition"
6391
7631
  },
6392
7632
  {
6393
- "$ref": "#/definitions/singleCondition"
7633
+ "$ref": "#/definitions/compositeCondition"
6394
7634
  }
6395
7635
  ]
6396
7636
  },
@@ -6451,10 +7691,10 @@
6451
7691
  "type": "object",
6452
7692
  "anyOf": [
6453
7693
  {
6454
- "$ref": "#/definitions/singleCondition"
7694
+ "$ref": "#/definitions/compositeCondition"
6455
7695
  },
6456
7696
  {
6457
- "$ref": "#/definitions/compositeCondition"
7697
+ "$ref": "#/definitions/singleCondition"
6458
7698
  }
6459
7699
  ]
6460
7700
  },
@@ -6509,10 +7749,10 @@
6509
7749
  "type": "object",
6510
7750
  "anyOf": [
6511
7751
  {
6512
- "$ref": "#/definitions/compositeCondition"
7752
+ "$ref": "#/definitions/singleCondition"
6513
7753
  },
6514
7754
  {
6515
- "$ref": "#/definitions/singleCondition"
7755
+ "$ref": "#/definitions/compositeCondition"
6516
7756
  }
6517
7757
  ]
6518
7758
  },
@@ -6567,10 +7807,10 @@
6567
7807
  "type": "object",
6568
7808
  "anyOf": [
6569
7809
  {
6570
- "$ref": "#/definitions/singleCondition"
7810
+ "$ref": "#/definitions/compositeCondition"
6571
7811
  },
6572
7812
  {
6573
- "$ref": "#/definitions/compositeCondition"
7813
+ "$ref": "#/definitions/singleCondition"
6574
7814
  }
6575
7815
  ]
6576
7816
  },
@@ -6640,6 +7880,51 @@
6640
7880
  "type": "object",
6641
7881
  "fieldDescription": "\n\n<p>An object containing options which vary based on the type of web item target you are implementing.</p>\n\n <p>Currently-allowed options are:</p>\n <ul>\n <li><a href=\"../inline-dialog-options/\">Inline Dialog Options</a> when type is \"inlinedialog\", and</li>\n <li><a href=\"../dialog-options/\">Dialog Options</a> when type is \"dialog\"</li>\n <li><a href=\"../dialog-module-options/\">Dialog Module Options</a> when type is \"dialogmodule\"</li>\n </ul>\n\n",
6642
7882
  "anyOf": [
7883
+ {
7884
+ "properties": {
7885
+ "size": {
7886
+ "enum": [
7887
+ "small",
7888
+ "SMALL",
7889
+ "medium",
7890
+ "MEDIUM",
7891
+ "large",
7892
+ "LARGE",
7893
+ "x-large",
7894
+ "X-LARGE",
7895
+ "fullscreen",
7896
+ "FULLSCREEN",
7897
+ "maximum",
7898
+ "MAXIMUM"
7899
+ ],
7900
+ "type": "string",
7901
+ "fieldDescription": "\n\nSets the size of the dialog.\n\n <p>\n This option is used instead of the 'height' and 'width' options.\n </p>\n\n"
7902
+ },
7903
+ "chrome": {
7904
+ "type": "boolean",
7905
+ "fieldDescription": "\n\nWhether the dialog should contain the AUI header and buttons.\n\n",
7906
+ "defaultValue": "true"
7907
+ },
7908
+ "width": {
7909
+ "maxLength": 10,
7910
+ "type": "string",
7911
+ "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
7912
+ },
7913
+ "header": {
7914
+ "$ref": "#/definitions/i18nProperty",
7915
+ "fieldDescription": "\n\nThe header text for the dialog, if chrome is enabled.\n\n"
7916
+ },
7917
+ "height": {
7918
+ "maxLength": 10,
7919
+ "type": "string",
7920
+ "fieldDescription": "\n\nSets how high the dialog is in pixels\n\n"
7921
+ }
7922
+ },
7923
+ "shortClassName": "dialogOptions",
7924
+ "type": "object",
7925
+ "title": "Dialog Options",
7926
+ "description": "\n\nOptions for a modal dialog <a href=\"../web-item-target/\">web item target</a> or <a href=\"../dialog/\">common module</a>.\n\n <p>\n These options are a subset of those available via the <a href=\"../../jsapi/dialog/\">JavaScript API</a>.\n </p>\n\n <h2>Web Item Example</h2>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialog\",\n \"options\": {\n \"height\": \"100px\",\n \"width\": \"200px\"\n }\n }\n }\n\n\n\n\n <h2>Dialog Example</h2>\n\n\n\n\n\n {\n \"modules\": {\n \"dialogs\": [\n {\n \"url\": \"/my-dialog-content\",\n \"options\": {\n \"size\": \"fullscreen\",\n \"header\": {\n \"value\": \"Example Dialog\"\n }\n },\n \"key\": \"dialog-module-key\"\n }\n ]\n }\n }\n\n\n"
7927
+ },
6643
7928
  {
6644
7929
  "properties": {
6645
7930
  "offsetX": {
@@ -6702,51 +7987,6 @@
6702
7987
  "type": "object",
6703
7988
  "title": "Dialog Module Options",
6704
7989
  "description": "\n\nOptions for a web-item targeting a common <a href=\"../dialog/\">dialog module</a>.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialogmodule\",\n \"options\": {\n \"key\": \"dialog-module-key\"\n }\n }\n }\n\n\n"
6705
- },
6706
- {
6707
- "properties": {
6708
- "size": {
6709
- "enum": [
6710
- "small",
6711
- "SMALL",
6712
- "medium",
6713
- "MEDIUM",
6714
- "large",
6715
- "LARGE",
6716
- "x-large",
6717
- "X-LARGE",
6718
- "fullscreen",
6719
- "FULLSCREEN",
6720
- "maximum",
6721
- "MAXIMUM"
6722
- ],
6723
- "type": "string",
6724
- "fieldDescription": "\n\nSets the size of the dialog.\n\n <p>\n This option is used instead of the 'height' and 'width' options.\n </p>\n\n"
6725
- },
6726
- "chrome": {
6727
- "type": "boolean",
6728
- "fieldDescription": "\n\nWhether the dialog should contain the AUI header and buttons.\n\n",
6729
- "defaultValue": "true"
6730
- },
6731
- "width": {
6732
- "maxLength": 10,
6733
- "type": "string",
6734
- "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
6735
- },
6736
- "header": {
6737
- "$ref": "#/definitions/i18nProperty",
6738
- "fieldDescription": "\n\nThe header text for the dialog, if chrome is enabled.\n\n"
6739
- },
6740
- "height": {
6741
- "maxLength": 10,
6742
- "type": "string",
6743
- "fieldDescription": "\n\nSets how high the dialog is in pixels\n\n"
6744
- }
6745
- },
6746
- "shortClassName": "dialogOptions",
6747
- "type": "object",
6748
- "title": "Dialog Options",
6749
- "description": "\n\nOptions for a modal dialog <a href=\"../web-item-target/\">web item target</a> or <a href=\"../dialog/\">common module</a>.\n\n <p>\n These options are a subset of those available via the <a href=\"../../jsapi/dialog/\">JavaScript API</a>.\n </p>\n\n <h2>Web Item Example</h2>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialog\",\n \"options\": {\n \"height\": \"100px\",\n \"width\": \"200px\"\n }\n }\n }\n\n\n\n\n <h2>Dialog Example</h2>\n\n\n\n\n\n {\n \"modules\": {\n \"dialogs\": [\n {\n \"url\": \"/my-dialog-content\",\n \"options\": {\n \"size\": \"fullscreen\",\n \"header\": {\n \"value\": \"Example Dialog\"\n }\n },\n \"key\": \"dialog-module-key\"\n }\n ]\n }\n }\n\n\n"
6750
7990
  }
6751
7991
  ]
6752
7992
  },
@@ -6791,45 +8031,18 @@
6791
8031
  },
6792
8032
  "location": {
6793
8033
  "maxLength": 100,
6794
- "type": "string",
6795
- "fieldDescription": "\n\nThe location in the application interface where the web item should appear. For the Atlassian application\n interface, a location is something like the coordinates on a map. It points to a particular drop-down menu or\n navigation list in the UI.\n\n Places in the Atlassian UI are identified by what are known as \"well-known locations\".\n For example, the `system.admin/globalsettings` location is in the administrative\n menu on the left side of the Administration Console.\n\n Find product locations with the Web Fragment Finder\n\n <ul>\n <li><a href=\"https://marketplace.atlassian.com/plugins/com.wittified.webfragment-finder/cloud/overview\">Jira Locations</a></li>\n <li><a href=\"https://marketplace.atlassian.com/plugins/com.wittified.webfragment-finder-confluence/cloud/overview\">Confluence locations</a></li>\n </ul>\n\n"
6796
- },
6797
- "cacheable": {
6798
- "type": "boolean",
6799
- "fieldDescription": "\n\nReturns whether the URL should be cacheable. Cacheable URLs are taken directly from the add-on descriptor, and\n lack all additional query parameters:\n <ul>\n <li>standard iframe query parameters</li>\n <li>product context parameters</li>\n <li>JWT token</li>\n </ul>\n\n",
6800
- "defaultValue": "false"
6801
- },
6802
- "conditions": {
6803
- "items": {
6804
- "type": "object",
6805
- "anyOf": [
6806
- {
6807
- "properties": {
6808
- "condition": {
6809
- "maxLength": 100,
6810
- "type": "string",
6811
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
6812
- },
6813
- "invert": {
6814
- "type": "boolean",
6815
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
6816
- "defaultValue": "false"
6817
- },
6818
- "params": {
6819
- "additionalProperties": true,
6820
- "type": "object",
6821
- "fieldTitle": "Object",
6822
- "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
6823
- }
6824
- },
6825
- "required": [
6826
- "condition"
6827
- ],
6828
- "shortClassName": "singleConditionBean",
6829
- "type": "object",
6830
- "title": "Single Condition",
6831
- "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
6832
- },
8034
+ "type": "string",
8035
+ "fieldDescription": "\n\nThe location in the application interface where the web item should appear. For the Atlassian application\n interface, a location is something like the coordinates on a map. It points to a particular drop-down menu or\n navigation list in the UI.\n\n Places in the Atlassian UI are identified by what are known as \"well-known locations\".\n For example, the `system.admin/globalsettings` location is in the administrative\n menu on the left side of the Administration Console.\n\n Find product locations with the Web Fragment Finder\n\n <ul>\n <li><a href=\"https://marketplace.atlassian.com/plugins/com.wittified.webfragment-finder/cloud/overview\">Jira Locations</a></li>\n <li><a href=\"https://marketplace.atlassian.com/plugins/com.wittified.webfragment-finder-confluence/cloud/overview\">Confluence locations</a></li>\n </ul>\n\n"
8036
+ },
8037
+ "cacheable": {
8038
+ "type": "boolean",
8039
+ "fieldDescription": "\n\nReturns whether the URL should be cacheable. Cacheable URLs are taken directly from the add-on descriptor, and\n lack all additional query parameters:\n <ul>\n <li>standard iframe query parameters</li>\n <li>product context parameters</li>\n <li>JWT token</li>\n </ul>\n\n",
8040
+ "defaultValue": "false"
8041
+ },
8042
+ "conditions": {
8043
+ "items": {
8044
+ "type": "object",
8045
+ "anyOf": [
6833
8046
  {
6834
8047
  "properties": {
6835
8048
  "conditions": {
@@ -6837,10 +8050,10 @@
6837
8050
  "type": "object",
6838
8051
  "anyOf": [
6839
8052
  {
6840
- "$ref": "#/definitions/singleCondition"
8053
+ "$ref": "#"
6841
8054
  },
6842
8055
  {
6843
- "$ref": "#"
8056
+ "$ref": "#/definitions/singleCondition"
6844
8057
  }
6845
8058
  ]
6846
8059
  },
@@ -6862,6 +8075,33 @@
6862
8075
  "type": "object",
6863
8076
  "title": "Composite Condition",
6864
8077
  "description": "\n\nComposite Conditions are composed of a collection of [Single Condition](../single-condition/) / Composite Conditions\n and a type attribute.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"conditions\": [\n {\n \"or\": [\n {\n \"condition\": \"can_attach_file_to_issue\",\n \"invert\": false\n },\n {\n \"condition\": \"is_issue_assigned_to_current_user\",\n \"invert\": false\n }\n ]\n },\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n ]\n }\n\n\n"
8078
+ },
8079
+ {
8080
+ "properties": {
8081
+ "condition": {
8082
+ "maxLength": 100,
8083
+ "type": "string",
8084
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
8085
+ },
8086
+ "invert": {
8087
+ "type": "boolean",
8088
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
8089
+ "defaultValue": "false"
8090
+ },
8091
+ "params": {
8092
+ "additionalProperties": true,
8093
+ "type": "object",
8094
+ "fieldTitle": "Object",
8095
+ "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
8096
+ }
8097
+ },
8098
+ "required": [
8099
+ "condition"
8100
+ ],
8101
+ "shortClassName": "singleConditionBean",
8102
+ "type": "object",
8103
+ "title": "Single Condition",
8104
+ "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
6865
8105
  }
6866
8106
  ]
6867
8107
  },
@@ -7066,6 +8306,33 @@
7066
8306
  "items": {
7067
8307
  "type": "object",
7068
8308
  "anyOf": [
8309
+ {
8310
+ "properties": {
8311
+ "condition": {
8312
+ "maxLength": 100,
8313
+ "type": "string",
8314
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
8315
+ },
8316
+ "invert": {
8317
+ "type": "boolean",
8318
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
8319
+ "defaultValue": "false"
8320
+ },
8321
+ "params": {
8322
+ "additionalProperties": true,
8323
+ "type": "object",
8324
+ "fieldTitle": "Object",
8325
+ "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
8326
+ }
8327
+ },
8328
+ "required": [
8329
+ "condition"
8330
+ ],
8331
+ "shortClassName": "singleConditionBean",
8332
+ "type": "object",
8333
+ "title": "Single Condition",
8334
+ "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
8335
+ },
7069
8336
  {
7070
8337
  "properties": {
7071
8338
  "conditions": {
@@ -7098,33 +8365,6 @@
7098
8365
  "type": "object",
7099
8366
  "title": "Composite Condition",
7100
8367
  "description": "\n\nComposite Conditions are composed of a collection of [Single Condition](../single-condition/) / Composite Conditions\n and a type attribute.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"conditions\": [\n {\n \"or\": [\n {\n \"condition\": \"can_attach_file_to_issue\",\n \"invert\": false\n },\n {\n \"condition\": \"is_issue_assigned_to_current_user\",\n \"invert\": false\n }\n ]\n },\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n ]\n }\n\n\n"
7101
- },
7102
- {
7103
- "properties": {
7104
- "condition": {
7105
- "maxLength": 100,
7106
- "type": "string",
7107
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
7108
- },
7109
- "invert": {
7110
- "type": "boolean",
7111
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
7112
- "defaultValue": "false"
7113
- },
7114
- "params": {
7115
- "additionalProperties": true,
7116
- "type": "object",
7117
- "fieldTitle": "Object",
7118
- "fieldDescription": "\n\nThis object represents a map of key/value pairs, where each property name and value corresponds to the parameter name and value respectively.\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"params\": {\n \"someOtherProperty\": \"someValue\",\n \"myCustomProperty\": \"myValue\"\n }\n }\n\n\n"
7119
- }
7120
- },
7121
- "required": [
7122
- "condition"
7123
- ],
7124
- "shortClassName": "singleConditionBean",
7125
- "type": "object",
7126
- "title": "Single Condition",
7127
- "description": "\n\nSingle Conditions are either provided by the host application. See the complete documentation of\n [Conditions](../../conditions/) for more information.\n\n To invert a condition, add the attribute ``invert=\"true\"`` to the condition element.\n This is useful where you want to show the section if a certain condition is not satisfied.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"condition\": \"user_is_logged_in\",\n \"invert\": false\n }\n\n\n"
7128
8368
  }
7129
8369
  ]
7130
8370
  },
@@ -7400,35 +8640,72 @@
7400
8640
  "anyOf": [
7401
8641
  {
7402
8642
  "properties": {
8643
+ "controls": {
8644
+ "items": {
8645
+ "properties": {
8646
+ "macroParameterValue": {
8647
+ "maxLength": 10000,
8648
+ "type": "string",
8649
+ "fieldDescription": "\n\nThe value that will be assigned to a macro parameter when this toggle is clicked\n\n"
8650
+ },
8651
+ "label": {
8652
+ "$ref": "#/definitions/i18nProperty",
8653
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
8654
+ },
8655
+ "type": {
8656
+ "enum": [
8657
+ "togglebutton",
8658
+ "TOGGLEBUTTON"
8659
+ ],
8660
+ "type": "string",
8661
+ "fieldDescription": "\n\nThe type field must be set to 'togglebutton'\n\n"
8662
+ },
8663
+ "key": {
8664
+ "pattern": "^[a-zA-Z0-9-]+$",
8665
+ "maxLength": 100,
8666
+ "type": "string",
8667
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8668
+ }
8669
+ },
8670
+ "required": [
8671
+ "macroParameterValue",
8672
+ "label",
8673
+ "type",
8674
+ "key"
8675
+ ],
8676
+ "additionalProperties": true,
8677
+ "shortClassName": "macroToggleButtonControlBean",
8678
+ "type": "object",
8679
+ "title": "ToggleButtonControl",
8680
+ "description": "\n\nDefines a toggle button which appears inside a ToggleGroup\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n }\n\n\n"
8681
+ },
8682
+ "type": "array",
8683
+ "fieldDescription": "\n\nToggle buttons which will appear in the toggle group\n\n"
8684
+ },
7403
8685
  "macroParameter": {
8686
+ "pattern": "[-_a-z0-9\\.]+",
7404
8687
  "maxLength": 100,
7405
8688
  "type": "string",
7406
- "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
8689
+ "fieldDescription": "\n\nThe macro parameter identifier used to store the toggle state.\n It must only contain lowercase alphanumeric characters, dashes, underscores, dots and must not contain any spaces.\n\n"
7407
8690
  },
7408
8691
  "type": {
7409
8692
  "enum": [
7410
- "text",
7411
- "TEXT"
8693
+ "togglegroup",
8694
+ "TOGGLEGROUP"
7412
8695
  ],
7413
8696
  "type": "string",
7414
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
7415
- },
7416
- "key": {
7417
- "pattern": "^[a-zA-Z0-9-]+$",
7418
- "maxLength": 100,
7419
- "type": "string",
7420
- "fieldDescription": "\n\nA key to identify this module.\n\n This key must be unique relative to the add on, with the exception of Confluence macros: Their keys need to be\n globally unique.\n\n Keys must only contain alphanumeric characters and dashes.\n\n The key is used to generate the url to your add-on's module. The url is generated as a combination of your add-on\n key and module key. For example, an add-on which looks like:\n\n {\n \"key\": \"my-addon\",\n \"modules\": {\n \"configurePage\": {\n \"key\": \"configure-me\",\n }\n }\n }\n\n Will have a configuration page module with a URL of `/plugins/servlet/ac/my-addon/configure-me`.\n\n"
8697
+ "fieldDescription": "\n\nThe type field must be set to 'togglegroup'\n\n"
7421
8698
  }
7422
8699
  },
7423
8700
  "required": [
8701
+ "controls",
7424
8702
  "macroParameter",
7425
- "type",
7426
- "key"
8703
+ "type"
7427
8704
  ],
7428
- "shortClassName": "textControlBean",
8705
+ "shortClassName": "macroToggleGroupBean",
7429
8706
  "type": "object",
7430
- "title": "TextControl",
7431
- "description": "\n\nDefines a text field which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
8707
+ "title": "ToggleGroup",
8708
+ "description": "\n\nDefines a ToggleGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"togglegroup\",\n \"macroParameter\": \"toggleGroupMacroParameter\",\n \"controls\": [\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n },\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 1\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-toggle-button-1\"\n }\n ]\n }\n ]\n\n\n"
7432
8709
  },
7433
8710
  {
7434
8711
  "properties": {
@@ -7488,72 +8765,35 @@
7488
8765
  },
7489
8766
  {
7490
8767
  "properties": {
7491
- "controls": {
7492
- "items": {
7493
- "properties": {
7494
- "macroParameterValue": {
7495
- "maxLength": 10000,
7496
- "type": "string",
7497
- "fieldDescription": "\n\nThe value that will be assigned to a macro parameter when this toggle is clicked\n\n"
7498
- },
7499
- "label": {
7500
- "$ref": "#/definitions/i18nProperty",
7501
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
7502
- },
7503
- "type": {
7504
- "enum": [
7505
- "togglebutton",
7506
- "TOGGLEBUTTON"
7507
- ],
7508
- "type": "string",
7509
- "fieldDescription": "\n\nThe type field must be set to 'togglebutton'\n\n"
7510
- },
7511
- "key": {
7512
- "pattern": "^[a-zA-Z0-9-]+$",
7513
- "maxLength": 100,
7514
- "type": "string",
7515
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
7516
- }
7517
- },
7518
- "required": [
7519
- "macroParameterValue",
7520
- "label",
7521
- "type",
7522
- "key"
7523
- ],
7524
- "additionalProperties": true,
7525
- "shortClassName": "macroToggleButtonControlBean",
7526
- "type": "object",
7527
- "title": "ToggleButtonControl",
7528
- "description": "\n\nDefines a toggle button which appears inside a ToggleGroup\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n }\n\n\n"
7529
- },
7530
- "type": "array",
7531
- "fieldDescription": "\n\nToggle buttons which will appear in the toggle group\n\n"
7532
- },
7533
8768
  "macroParameter": {
7534
- "pattern": "[-_a-z0-9\\.]+",
7535
8769
  "maxLength": 100,
7536
8770
  "type": "string",
7537
- "fieldDescription": "\n\nThe macro parameter identifier used to store the toggle state.\n It must only contain lowercase alphanumeric characters, dashes, underscores, dots and must not contain any spaces.\n\n"
8771
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
7538
8772
  },
7539
8773
  "type": {
7540
8774
  "enum": [
7541
- "togglegroup",
7542
- "TOGGLEGROUP"
8775
+ "text",
8776
+ "TEXT"
7543
8777
  ],
7544
8778
  "type": "string",
7545
- "fieldDescription": "\n\nThe type field must be set to 'togglegroup'\n\n"
8779
+ "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
8780
+ },
8781
+ "key": {
8782
+ "pattern": "^[a-zA-Z0-9-]+$",
8783
+ "maxLength": 100,
8784
+ "type": "string",
8785
+ "fieldDescription": "\n\nA key to identify this module.\n\n This key must be unique relative to the add on, with the exception of Confluence macros: Their keys need to be\n globally unique.\n\n Keys must only contain alphanumeric characters and dashes.\n\n The key is used to generate the url to your add-on's module. The url is generated as a combination of your add-on\n key and module key. For example, an add-on which looks like:\n\n {\n \"key\": \"my-addon\",\n \"modules\": {\n \"configurePage\": {\n \"key\": \"configure-me\",\n }\n }\n }\n\n Will have a configuration page module with a URL of `/plugins/servlet/ac/my-addon/configure-me`.\n\n"
7546
8786
  }
7547
8787
  },
7548
8788
  "required": [
7549
- "controls",
7550
8789
  "macroParameter",
7551
- "type"
8790
+ "type",
8791
+ "key"
7552
8792
  ],
7553
- "shortClassName": "macroToggleGroupBean",
8793
+ "shortClassName": "textControlBean",
7554
8794
  "type": "object",
7555
- "title": "ToggleGroup",
7556
- "description": "\n\nDefines a ToggleGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"togglegroup\",\n \"macroParameter\": \"toggleGroupMacroParameter\",\n \"controls\": [\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n },\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 1\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-toggle-button-1\"\n }\n ]\n }\n ]\n\n\n"
8795
+ "title": "TextControl",
8796
+ "description": "\n\nDefines a text field which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
7557
8797
  },
7558
8798
  {
7559
8799
  "properties": {
@@ -7880,27 +9120,54 @@
7880
9120
  "items": {
7881
9121
  "type": "object",
7882
9122
  "anyOf": [
9123
+ {
9124
+ "properties": {
9125
+ "label": {
9126
+ "$ref": "#/definitions/i18nProperty",
9127
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
9128
+ },
9129
+ "type": {
9130
+ "enum": [
9131
+ "button",
9132
+ "BUTTON"
9133
+ ],
9134
+ "type": "string",
9135
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9136
+ },
9137
+ "key": {
9138
+ "pattern": "^[a-zA-Z0-9-]+$",
9139
+ "maxLength": 100,
9140
+ "type": "string",
9141
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
9142
+ }
9143
+ },
9144
+ "required": [
9145
+ "label",
9146
+ "type",
9147
+ "key"
9148
+ ],
9149
+ "additionalProperties": true,
9150
+ "shortClassName": "buttonControlBean",
9151
+ "type": "object",
9152
+ "title": "ButtonControl",
9153
+ "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
9154
+ },
7883
9155
  {
7884
9156
  "properties": {
7885
9157
  "controls": {
7886
9158
  "items": {
7887
9159
  "properties": {
7888
- "macroParameterValue": {
7889
- "maxLength": 10000,
7890
- "type": "string",
7891
- "fieldDescription": "\n\nThe value that will be assigned to a macro parameter when this toggle is clicked\n\n"
7892
- },
7893
9160
  "label": {
7894
9161
  "$ref": "#/definitions/i18nProperty",
7895
9162
  "fieldDescription": "\n\nText which will appear inside the button\n\n"
7896
9163
  },
7897
9164
  "type": {
7898
9165
  "enum": [
7899
- "togglebutton",
7900
- "TOGGLEBUTTON"
9166
+ "button",
9167
+ "BUTTON"
7901
9168
  ],
7902
9169
  "type": "string",
7903
- "fieldDescription": "\n\nThe type field must be set to 'togglebutton'\n\n"
9170
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
7904
9171
  },
7905
9172
  "key": {
7906
9173
  "pattern": "^[a-zA-Z0-9-]+$",
@@ -7910,61 +9177,58 @@
7910
9177
  }
7911
9178
  },
7912
9179
  "required": [
7913
- "macroParameterValue",
7914
9180
  "label",
7915
9181
  "type",
7916
9182
  "key"
7917
9183
  ],
7918
9184
  "additionalProperties": true,
7919
- "shortClassName": "macroToggleButtonControlBean",
9185
+ "shortClassName": "buttonControlBean",
7920
9186
  "type": "object",
7921
- "title": "ToggleButtonControl",
7922
- "description": "\n\nDefines a toggle button which appears inside a ToggleGroup\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n }\n\n\n"
9187
+ "title": "ButtonControl",
9188
+ "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
7923
9189
  },
7924
9190
  "type": "array",
7925
- "fieldDescription": "\n\nToggle buttons which will appear in the toggle group\n\n"
7926
- },
7927
- "macroParameter": {
7928
- "pattern": "[-_a-z0-9\\.]+",
7929
- "maxLength": 100,
7930
- "type": "string",
7931
- "fieldDescription": "\n\nThe macro parameter identifier used to store the toggle state.\n It must only contain lowercase alphanumeric characters, dashes, underscores, dots and must not contain any spaces.\n\n"
9191
+ "fieldDescription": "\n\nControls which will appear in the control group\n\n"
7932
9192
  },
7933
9193
  "type": {
7934
9194
  "enum": [
7935
- "togglegroup",
7936
- "TOGGLEGROUP"
9195
+ "group",
9196
+ "GROUP"
7937
9197
  ],
7938
9198
  "type": "string",
7939
- "fieldDescription": "\n\nThe type field must be set to 'togglegroup'\n\n"
9199
+ "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
7940
9200
  }
7941
9201
  },
7942
9202
  "required": [
7943
9203
  "controls",
7944
- "macroParameter",
7945
9204
  "type"
7946
9205
  ],
7947
- "shortClassName": "macroToggleGroupBean",
9206
+ "shortClassName": "controlGroupBean",
7948
9207
  "type": "object",
7949
- "title": "ToggleGroup",
7950
- "description": "\n\nDefines a ToggleGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"togglegroup\",\n \"macroParameter\": \"toggleGroupMacroParameter\",\n \"controls\": [\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n },\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 1\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-toggle-button-1\"\n }\n ]\n }\n ]\n\n\n"
9208
+ "title": "ControlGroup",
9209
+ "description": "\n\nDefines a ControlGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"group\",\n \"controls\": [\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n },\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-control-1\"\n }\n ]\n }\n ]\n\n\n"
7951
9210
  },
7952
9211
  {
7953
9212
  "properties": {
7954
9213
  "controls": {
7955
9214
  "items": {
7956
9215
  "properties": {
9216
+ "macroParameterValue": {
9217
+ "maxLength": 10000,
9218
+ "type": "string",
9219
+ "fieldDescription": "\n\nThe value that will be assigned to a macro parameter when this toggle is clicked\n\n"
9220
+ },
7957
9221
  "label": {
7958
9222
  "$ref": "#/definitions/i18nProperty",
7959
9223
  "fieldDescription": "\n\nText which will appear inside the button\n\n"
7960
9224
  },
7961
9225
  "type": {
7962
9226
  "enum": [
7963
- "button",
7964
- "BUTTON"
9227
+ "togglebutton",
9228
+ "TOGGLEBUTTON"
7965
9229
  ],
7966
9230
  "type": "string",
7967
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9231
+ "fieldDescription": "\n\nThe type field must be set to 'togglebutton'\n\n"
7968
9232
  },
7969
9233
  "key": {
7970
9234
  "pattern": "^[a-zA-Z0-9-]+$",
@@ -7974,36 +9238,44 @@
7974
9238
  }
7975
9239
  },
7976
9240
  "required": [
9241
+ "macroParameterValue",
7977
9242
  "label",
7978
9243
  "type",
7979
9244
  "key"
7980
9245
  ],
7981
9246
  "additionalProperties": true,
7982
- "shortClassName": "buttonControlBean",
9247
+ "shortClassName": "macroToggleButtonControlBean",
7983
9248
  "type": "object",
7984
- "title": "ButtonControl",
7985
- "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
9249
+ "title": "ToggleButtonControl",
9250
+ "description": "\n\nDefines a toggle button which appears inside a ToggleGroup\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n }\n\n\n"
7986
9251
  },
7987
9252
  "type": "array",
7988
- "fieldDescription": "\n\nControls which will appear in the control group\n\n"
9253
+ "fieldDescription": "\n\nToggle buttons which will appear in the toggle group\n\n"
9254
+ },
9255
+ "macroParameter": {
9256
+ "pattern": "[-_a-z0-9\\.]+",
9257
+ "maxLength": 100,
9258
+ "type": "string",
9259
+ "fieldDescription": "\n\nThe macro parameter identifier used to store the toggle state.\n It must only contain lowercase alphanumeric characters, dashes, underscores, dots and must not contain any spaces.\n\n"
7989
9260
  },
7990
9261
  "type": {
7991
9262
  "enum": [
7992
- "group",
7993
- "GROUP"
9263
+ "togglegroup",
9264
+ "TOGGLEGROUP"
7994
9265
  ],
7995
9266
  "type": "string",
7996
- "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
9267
+ "fieldDescription": "\n\nThe type field must be set to 'togglegroup'\n\n"
7997
9268
  }
7998
9269
  },
7999
9270
  "required": [
8000
9271
  "controls",
9272
+ "macroParameter",
8001
9273
  "type"
8002
9274
  ],
8003
- "shortClassName": "controlGroupBean",
9275
+ "shortClassName": "macroToggleGroupBean",
8004
9276
  "type": "object",
8005
- "title": "ControlGroup",
8006
- "description": "\n\nDefines a ControlGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"group\",\n \"controls\": [\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n },\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-control-1\"\n }\n ]\n }\n ]\n\n\n"
9277
+ "title": "ToggleGroup",
9278
+ "description": "\n\nDefines a ToggleGroup which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n [\n {\n \"type\": \"togglegroup\",\n \"macroParameter\": \"toggleGroupMacroParameter\",\n \"controls\": [\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 0\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-toggle-button-0\"\n },\n {\n \"type\": \"togglebutton\",\n \"macroParameterValue\": \"macroParameterValue 1\",\n \"label\": {\n \"value\": \"My Custom Control 1\"\n },\n \"key\": \"my-custom-toggle-button-1\"\n }\n ]\n }\n ]\n\n\n"
8007
9279
  },
8008
9280
  {
8009
9281
  "properties": {
@@ -8036,38 +9308,6 @@
8036
9308
  "type": "object",
8037
9309
  "title": "TextControl",
8038
9310
  "description": "\n\nDefines a text field which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
8039
- },
8040
- {
8041
- "properties": {
8042
- "label": {
8043
- "$ref": "#/definitions/i18nProperty",
8044
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
8045
- },
8046
- "type": {
8047
- "enum": [
8048
- "button",
8049
- "BUTTON"
8050
- ],
8051
- "type": "string",
8052
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
8053
- },
8054
- "key": {
8055
- "pattern": "^[a-zA-Z0-9-]+$",
8056
- "maxLength": 100,
8057
- "type": "string",
8058
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8059
- }
8060
- },
8061
- "required": [
8062
- "label",
8063
- "type",
8064
- "key"
8065
- ],
8066
- "additionalProperties": true,
8067
- "shortClassName": "buttonControlBean",
8068
- "type": "object",
8069
- "title": "ButtonControl",
8070
- "description": "\n\nDefines a button which may appear in control extension points such as the property panel\n\n <p><b>Example</b></p>\n\n\n\n\n\n {\n \"type\": \"button\",\n \"label\": {\n \"value\": \"My Custom Control 0\"\n },\n \"key\": \"my-custom-control-0\"\n }\n\n\n"
8071
9311
  }
8072
9312
  ]
8073
9313
  },
@@ -8270,10 +9510,10 @@
8270
9510
  "type": "object",
8271
9511
  "anyOf": [
8272
9512
  {
8273
- "$ref": "#/definitions/compositeCondition"
9513
+ "$ref": "#/definitions/singleCondition"
8274
9514
  },
8275
9515
  {
8276
- "$ref": "#/definitions/singleCondition"
9516
+ "$ref": "#/definitions/compositeCondition"
8277
9517
  }
8278
9518
  ]
8279
9519
  },
@@ -8350,22 +9590,6 @@
8350
9590
  "title": "Inline Dialog Options",
8351
9591
  "description": "\n\nOptions for an inline dialog target\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"inlinedialog\",\n \"options\": {\n \"onHover\": true,\n \"offsetX\": \"30px\",\n \"offsetY\": \"20px\"\n }\n }\n }\n\n\n"
8352
9592
  },
8353
- {
8354
- "properties": {
8355
- "key": {
8356
- "maxLength": 100,
8357
- "type": "string",
8358
- "fieldDescription": "\n\n<p>The key of a <a href=\"../dialog/\">Dialog</a> module declared in this Connect add-on.</p>\n\n <p>\n The dialog module will include the <a href=\"../dialog-options/\">Dialog Options</a>\n that would otherwise need to be specified directly in this options object.\n </p>\n\n"
8359
- }
8360
- },
8361
- "required": [
8362
- "key"
8363
- ],
8364
- "shortClassName": "dialogModuleOptions",
8365
- "type": "object",
8366
- "title": "Dialog Module Options",
8367
- "description": "\n\nOptions for a web-item targeting a common <a href=\"../dialog/\">dialog module</a>.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialogmodule\",\n \"options\": {\n \"key\": \"dialog-module-key\"\n }\n }\n }\n\n\n"
8368
- },
8369
9593
  {
8370
9594
  "properties": {
8371
9595
  "size": {
@@ -8410,6 +9634,22 @@
8410
9634
  "type": "object",
8411
9635
  "title": "Dialog Options",
8412
9636
  "description": "\n\nOptions for a modal dialog <a href=\"../web-item-target/\">web item target</a> or <a href=\"../dialog/\">common module</a>.\n\n <p>\n These options are a subset of those available via the <a href=\"../../jsapi/dialog/\">JavaScript API</a>.\n </p>\n\n <h2>Web Item Example</h2>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialog\",\n \"options\": {\n \"height\": \"100px\",\n \"width\": \"200px\"\n }\n }\n }\n\n\n\n\n <h2>Dialog Example</h2>\n\n\n\n\n\n {\n \"modules\": {\n \"dialogs\": [\n {\n \"url\": \"/my-dialog-content\",\n \"options\": {\n \"size\": \"fullscreen\",\n \"header\": {\n \"value\": \"Example Dialog\"\n }\n },\n \"key\": \"dialog-module-key\"\n }\n ]\n }\n }\n\n\n"
9637
+ },
9638
+ {
9639
+ "properties": {
9640
+ "key": {
9641
+ "maxLength": 100,
9642
+ "type": "string",
9643
+ "fieldDescription": "\n\n<p>The key of a <a href=\"../dialog/\">Dialog</a> module declared in this Connect add-on.</p>\n\n <p>\n The dialog module will include the <a href=\"../dialog-options/\">Dialog Options</a>\n that would otherwise need to be specified directly in this options object.\n </p>\n\n"
9644
+ }
9645
+ },
9646
+ "required": [
9647
+ "key"
9648
+ ],
9649
+ "shortClassName": "dialogModuleOptions",
9650
+ "type": "object",
9651
+ "title": "Dialog Module Options",
9652
+ "description": "\n\nOptions for a web-item targeting a common <a href=\"../dialog/\">dialog module</a>.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"target\": {\n \"type\": \"dialogmodule\",\n \"options\": {\n \"key\": \"dialog-module-key\"\n }\n }\n }\n\n\n"
8413
9653
  }
8414
9654
  ]
8415
9655
  },
@@ -8551,6 +9791,45 @@
8551
9791
  "title": "ModuleSchema",
8552
9792
  "type": "object"
8553
9793
  },
9794
+ "BearerMethodSchema": {
9795
+ "oneOf": [
9796
+ {
9797
+ "type": "string",
9798
+ "enum": [
9799
+ "authorization-header",
9800
+ "form-encoded",
9801
+ "uri-query"
9802
+ ]
9803
+ },
9804
+ {
9805
+ "type": "object",
9806
+ "additionalProperties": false,
9807
+ "required": [
9808
+ "type"
9809
+ ],
9810
+ "properties": {
9811
+ "type": {
9812
+ "type": "string",
9813
+ "enum": [
9814
+ "authorization-header",
9815
+ "form-encoded",
9816
+ "uri-query"
9817
+ ]
9818
+ },
9819
+ "prefix": {
9820
+ "type": "string",
9821
+ "description": "Custom authorization header prefix",
9822
+ "maxLength": 1000
9823
+ },
9824
+ "parameter": {
9825
+ "type": "string",
9826
+ "description": "Custom Header name or Parameter name (depending on type)",
9827
+ "maxlength": 1000
9828
+ }
9829
+ }
9830
+ }
9831
+ ]
9832
+ },
8554
9833
  "ModuleKeySchema": {
8555
9834
  "type": "string",
8556
9835
  "title": "ModuleKeySchema",
@@ -8636,8 +9915,27 @@
8636
9915
  },
8637
9916
  "client": {
8638
9917
  "items": {
8639
- "type": "string",
8640
- "maxLength": 1000
9918
+ "oneOf": [
9919
+ {
9920
+ "type": "string",
9921
+ "maxLength": 1000
9922
+ },
9923
+ {
9924
+ "type": "object",
9925
+ "description": "References a Remote",
9926
+ "title": "remote",
9927
+ "properties": {
9928
+ "remote": {
9929
+ "type": "string",
9930
+ "maxLength": 1000
9931
+ }
9932
+ },
9933
+ "required": [
9934
+ "remote"
9935
+ ],
9936
+ "additionalProperties": false
9937
+ }
9938
+ ]
8641
9939
  },
8642
9940
  "title": "client",
8643
9941
  "type": "array",
@@ -8766,6 +10064,41 @@
8766
10064
  },
8767
10065
  "baseUrl": {
8768
10066
  "type": "string"
10067
+ },
10068
+ "operations": {
10069
+ "description": "The type of operations done in the remote",
10070
+ "type": "array",
10071
+ "items": {
10072
+ "type": "string",
10073
+ "enum": [
10074
+ "storage",
10075
+ "other"
10076
+ ]
10077
+ },
10078
+ "minItems": 1
10079
+ },
10080
+ "storage": {
10081
+ "description": "Options related to remote storage",
10082
+ "type": "object",
10083
+ "required": [
10084
+ "classifications"
10085
+ ],
10086
+ "additionalProperties": false,
10087
+ "properties": {
10088
+ "classifications": {
10089
+ "description": "Labels to classify the type of data stored",
10090
+ "type": "array",
10091
+ "items": {
10092
+ "type": "string",
10093
+ "enum": [
10094
+ "ugc",
10095
+ "pii",
10096
+ "other"
10097
+ ]
10098
+ },
10099
+ "minItems": 1
10100
+ }
10101
+ }
8769
10102
  }
8770
10103
  }
8771
10104
  }
@@ -8803,7 +10136,9 @@
8803
10136
  "key",
8804
10137
  "name",
8805
10138
  "integration",
8806
- "clientId"
10139
+ "bearerMethod",
10140
+ "clientId",
10141
+ "remotes"
8807
10142
  ],
8808
10143
  "properties": {
8809
10144
  "key": {
@@ -8822,7 +10157,11 @@
8822
10157
  "dropbox",
8823
10158
  "google",
8824
10159
  "miro"
8825
- ]
10160
+ ],
10161
+ "description": "Pre-defined integration name"
10162
+ },
10163
+ "bearerMethod": {
10164
+ "$ref": "#/definitions/BearerMethodSchema"
8826
10165
  },
8827
10166
  "clientId": {
8828
10167
  "type": "string",
@@ -8834,6 +10173,12 @@
8834
10173
  "items": {
8835
10174
  "type": "string"
8836
10175
  }
10176
+ },
10177
+ "remotes": {
10178
+ "type": "array",
10179
+ "items": {
10180
+ "$ref": "#/definitions/ModuleKeySchema"
10181
+ }
8837
10182
  }
8838
10183
  }
8839
10184
  },
@@ -8844,6 +10189,7 @@
8844
10189
  "key",
8845
10190
  "type",
8846
10191
  "name",
10192
+ "bearerMethod",
8847
10193
  "clientId",
8848
10194
  "actions"
8849
10195
  ],
@@ -8863,43 +10209,7 @@
8863
10209
  ]
8864
10210
  },
8865
10211
  "bearerMethod": {
8866
- "oneOf": [
8867
- {
8868
- "type": "string",
8869
- "enum": [
8870
- "authorization-header",
8871
- "form-encoded",
8872
- "uri-query"
8873
- ]
8874
- },
8875
- {
8876
- "type": "object",
8877
- "additionalProperties": false,
8878
- "required": [
8879
- "type"
8880
- ],
8881
- "properties": {
8882
- "type": {
8883
- "type": "string",
8884
- "enum": [
8885
- "authorization-header",
8886
- "form-encoded",
8887
- "uri-query"
8888
- ]
8889
- },
8890
- "prefix": {
8891
- "type": "string",
8892
- "description": "Custom authorization header prefix",
8893
- "maxLength": 1000
8894
- },
8895
- "parameter": {
8896
- "type": "string",
8897
- "description": "Custom Header name or Parameter name (depending on type)",
8898
- "maxlength": 1000
8899
- }
8900
- }
8901
- }
8902
- ]
10212
+ "$ref": "#/definitions/BearerMethodSchema"
8903
10213
  },
8904
10214
  "clientId": {
8905
10215
  "type": "string",