@forge/manifest 0.0.0-experimental-490cfcf → 0.0.0-experimental-e1cefc4

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 (38) hide show
  1. package/CHANGELOG.md +129 -1
  2. package/out/processor/basic-validation-processor.d.ts.map +1 -1
  3. package/out/processor/basic-validation-processor.js +2 -1
  4. package/out/processor/full-validation-processor.d.ts.map +1 -1
  5. package/out/processor/full-validation-processor.js +2 -1
  6. package/out/schema/manifest-schema.json +509 -329
  7. package/out/schema/manifest.d.ts +386 -280
  8. package/out/scopes/shipyard-scopes.json +18 -0
  9. package/out/text/errors.d.ts +11 -3
  10. package/out/text/errors.d.ts.map +1 -1
  11. package/out/text/errors.js +11 -3
  12. package/out/types/module-types.d.ts +3 -0
  13. package/out/types/module-types.d.ts.map +1 -1
  14. package/out/types/module-types.js +3 -0
  15. package/out/validators/entity-property-validator.d.ts +6 -0
  16. package/out/validators/entity-property-validator.d.ts.map +1 -0
  17. package/out/validators/entity-property-validator.js +35 -0
  18. package/out/validators/index.d.ts +1 -0
  19. package/out/validators/index.d.ts.map +1 -1
  20. package/out/validators/index.js +1 -0
  21. package/out/validators/modules-validator.d.ts.map +1 -1
  22. package/out/validators/modules-validator.js +14 -6
  23. package/out/validators/modules-validators/confluence/index.d.ts +4 -0
  24. package/out/validators/modules-validators/confluence/index.d.ts.map +1 -0
  25. package/out/validators/modules-validators/confluence/index.js +22 -0
  26. package/out/validators/modules-validators/confluence/validatePropertyUniqueness.d.ts +4 -0
  27. package/out/validators/modules-validators/confluence/validatePropertyUniqueness.d.ts.map +1 -0
  28. package/out/validators/modules-validators/confluence/validatePropertyUniqueness.js +17 -0
  29. package/out/validators/modules-validators/confluence/validateSingleProperty.d.ts +4 -0
  30. package/out/validators/modules-validators/confluence/validateSingleProperty.d.ts.map +1 -0
  31. package/out/validators/modules-validators/confluence/validateSingleProperty.js +15 -0
  32. package/out/validators/modules-validators/jira/issue-adjustment.d.ts +4 -0
  33. package/out/validators/modules-validators/jira/issue-adjustment.d.ts.map +1 -0
  34. package/out/validators/modules-validators/jira/issue-adjustment.js +16 -0
  35. package/out/validators/providers-validator.d.ts +2 -1
  36. package/out/validators/providers-validator.d.ts.map +1 -1
  37. package/out/validators/providers-validator.js +13 -9
  38. package/package.json +1 -1
@@ -1020,6 +1020,12 @@
1020
1020
  "minLength": 1,
1021
1021
  "maxLength": 255
1022
1022
  },
1023
+ "route": {
1024
+ "type": "string",
1025
+ "minLength": 1,
1026
+ "maxLength": 255,
1027
+ "pattern": "^[a-z0-9\\-]+$"
1028
+ },
1023
1029
  "function": {
1024
1030
  "type": "string",
1025
1031
  "minLength": 1,
@@ -1047,6 +1053,12 @@
1047
1053
  "minLength": 1,
1048
1054
  "maxLength": 255
1049
1055
  },
1056
+ "route": {
1057
+ "type": "string",
1058
+ "minLength": 1,
1059
+ "maxLength": 255,
1060
+ "pattern": "^[a-z0-9\\-]+$"
1061
+ },
1050
1062
  "resolver": {
1051
1063
  "additionalProperties": false,
1052
1064
  "type": "object",
@@ -1111,6 +1123,16 @@
1111
1123
  "displayConditions": {
1112
1124
  "type": "object"
1113
1125
  },
1126
+ "useAsConfig": {
1127
+ "type": "boolean",
1128
+ "default": false,
1129
+ "description": "A flag indicating whether this settings instance will be used as the app's configuration"
1130
+ },
1131
+ "useAsGetStarted": {
1132
+ "type": "boolean",
1133
+ "default": false,
1134
+ "description": "A flag indicating whether this settings instance will be used as the app's \"Get Started\""
1135
+ },
1114
1136
  "key": {
1115
1137
  "$ref": "#/definitions/ModuleKeySchema"
1116
1138
  }
@@ -1158,6 +1180,16 @@
1158
1180
  "displayConditions": {
1159
1181
  "type": "object"
1160
1182
  },
1183
+ "useAsConfig": {
1184
+ "type": "boolean",
1185
+ "default": false,
1186
+ "description": "A flag indicating whether this settings instance will be used as the app's configuration"
1187
+ },
1188
+ "useAsGetStarted": {
1189
+ "type": "boolean",
1190
+ "default": false,
1191
+ "description": "A flag indicating whether this settings instance will be used as the app's \"Get Started\""
1192
+ },
1161
1193
  "key": {
1162
1194
  "$ref": "#/definitions/ModuleKeySchema"
1163
1195
  }
@@ -1305,7 +1337,22 @@
1305
1337
  "type": "string"
1306
1338
  },
1307
1339
  "errorMessage": {
1308
- "type": "string"
1340
+ "anyOf": [
1341
+ {
1342
+ "type": "object",
1343
+ "properties": {
1344
+ "expression": {
1345
+ "type": "string"
1346
+ }
1347
+ },
1348
+ "required": [
1349
+ "expression"
1350
+ ]
1351
+ },
1352
+ {
1353
+ "type": "string"
1354
+ }
1355
+ ]
1309
1356
  },
1310
1357
  "view": {
1311
1358
  "type": "object",
@@ -1361,6 +1408,72 @@
1361
1408
  },
1362
1409
  "minItems": 1
1363
1410
  },
1411
+ "jira:entityProperty": {
1412
+ "type": "array",
1413
+ "items": {
1414
+ "type": "object",
1415
+ "properties": {
1416
+ "propertyKey": {
1417
+ "minLength": 1,
1418
+ "maxLength": 255,
1419
+ "pattern": "^[a-zA-Z0-9-_]+$",
1420
+ "type": "string"
1421
+ },
1422
+ "entityType": {
1423
+ "default": "issue",
1424
+ "enum": [
1425
+ "issue",
1426
+ "project",
1427
+ "user"
1428
+ ],
1429
+ "type": "string"
1430
+ },
1431
+ "values": {
1432
+ "type": "array",
1433
+ "items": {
1434
+ "type": "object",
1435
+ "properties": {
1436
+ "path": {
1437
+ "minLength": 1,
1438
+ "maxLength": 255,
1439
+ "pattern": "^[a-zA-Z0-9-_]+$",
1440
+ "type": "string"
1441
+ },
1442
+ "type": {
1443
+ "enum": [
1444
+ "date",
1445
+ "number",
1446
+ "string",
1447
+ "text",
1448
+ "user"
1449
+ ],
1450
+ "type": "string"
1451
+ },
1452
+ "searchAlias": {
1453
+ "minLength": 1,
1454
+ "maxLength": 255,
1455
+ "pattern": "^[a-zA-Z0-9-_]+$",
1456
+ "type": "string"
1457
+ }
1458
+ },
1459
+ "required": [
1460
+ "path",
1461
+ "type"
1462
+ ]
1463
+ }
1464
+ },
1465
+ "key": {
1466
+ "$ref": "#/definitions/ModuleKeySchema"
1467
+ }
1468
+ },
1469
+ "required": [
1470
+ "propertyKey",
1471
+ "values",
1472
+ "key"
1473
+ ]
1474
+ },
1475
+ "minItems": 1
1476
+ },
1364
1477
  "jira:customField": {
1365
1478
  "type": "array",
1366
1479
  "items": {
@@ -2228,6 +2341,49 @@
2228
2341
  },
2229
2342
  "minItems": 1
2230
2343
  },
2344
+ "jira:issueAdjustment": {
2345
+ "type": "array",
2346
+ "items": {
2347
+ "type": "object",
2348
+ "properties": {
2349
+ "title": {
2350
+ "type": "string",
2351
+ "minLength": 1,
2352
+ "maxLength": 255
2353
+ },
2354
+ "resolver": {
2355
+ "additionalProperties": false,
2356
+ "type": "object",
2357
+ "properties": {
2358
+ "function": {
2359
+ "type": "string",
2360
+ "minLength": 1,
2361
+ "maxLength": 255,
2362
+ "pattern": "^[a-zA-Z0-9-_]+$"
2363
+ }
2364
+ },
2365
+ "required": [
2366
+ "function"
2367
+ ]
2368
+ },
2369
+ "resource": {
2370
+ "type": "string",
2371
+ "minLength": 1,
2372
+ "maxLength": 23,
2373
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2374
+ },
2375
+ "key": {
2376
+ "$ref": "#/definitions/ModuleKeySchema"
2377
+ }
2378
+ },
2379
+ "required": [
2380
+ "title",
2381
+ "resource",
2382
+ "key"
2383
+ ]
2384
+ },
2385
+ "minItems": 1
2386
+ },
2231
2387
  "jira:issueGlance": {
2232
2388
  "type": "array",
2233
2389
  "items": {
@@ -2660,63 +2816,64 @@
2660
2816
  {
2661
2817
  "type": "object",
2662
2818
  "properties": {
2819
+ "function": {
2820
+ "type": "string",
2821
+ "minLength": 1,
2822
+ "maxLength": 255,
2823
+ "pattern": "^[a-zA-Z0-9-_]+$"
2824
+ },
2825
+ "edit": {
2826
+ "type": "object",
2827
+ "properties": {
2828
+ "function": {
2829
+ "type": "string",
2830
+ "minLength": 1,
2831
+ "maxLength": 255,
2832
+ "pattern": "^[a-zA-Z0-9-_]+$"
2833
+ }
2834
+ },
2835
+ "required": [
2836
+ "function"
2837
+ ]
2838
+ },
2663
2839
  "title": {
2664
- "oneOf": [
2840
+ "minLength": 1,
2841
+ "maxLength": 255,
2842
+ "anyOf": [
2665
2843
  {
2666
2844
  "type": "object",
2667
2845
  "properties": {
2668
2846
  "text": {
2669
- "type": "string",
2670
2847
  "minLength": 1,
2671
- "maxLength": 255
2848
+ "maxLength": 255,
2849
+ "type": "string"
2672
2850
  },
2673
2851
  "href": {
2674
- "type": "string",
2675
2852
  "minLength": 1,
2676
- "maxLength": 1000
2853
+ "maxLength": 1000,
2854
+ "type": "string"
2677
2855
  }
2678
2856
  },
2679
2857
  "required": [
2858
+ "href",
2680
2859
  "text"
2681
2860
  ]
2682
2861
  },
2683
2862
  {
2684
- "type": "string",
2685
- "minLength": 1,
2686
- "maxLength": 255
2863
+ "type": "string"
2687
2864
  }
2688
2865
  ]
2689
2866
  },
2690
2867
  "description": {
2691
- "type": "string",
2692
2868
  "minLength": 1,
2693
- "maxLength": 255
2869
+ "maxLength": 255,
2870
+ "type": "string"
2694
2871
  },
2695
2872
  "thumbnail": {
2696
2873
  "type": "string",
2697
2874
  "minLength": 1,
2698
2875
  "maxLength": 255
2699
2876
  },
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": {
2710
- "type": "string",
2711
- "minLength": 1,
2712
- "maxLength": 255,
2713
- "pattern": "^[a-zA-Z0-9-_]+$"
2714
- }
2715
- },
2716
- "required": [
2717
- "function"
2718
- ]
2719
- },
2720
2877
  "displayConditions": {
2721
2878
  "type": "object",
2722
2879
  "properties": {}
@@ -2726,10 +2883,9 @@
2726
2883
  }
2727
2884
  },
2728
2885
  "required": [
2729
- "title",
2730
2886
  "description",
2731
- "thumbnail",
2732
2887
  "function",
2888
+ "title",
2733
2889
  "key"
2734
2890
  ]
2735
2891
  },
@@ -2757,63 +2913,58 @@
2757
2913
  "function"
2758
2914
  ]
2759
2915
  },
2916
+ "edit": {
2917
+ "type": "object",
2918
+ "properties": {
2919
+ "resource": {
2920
+ "type": "string",
2921
+ "minLength": 1,
2922
+ "maxLength": 23,
2923
+ "pattern": "^[a-zA-Z0-9_\\-]+$"
2924
+ }
2925
+ },
2926
+ "required": [
2927
+ "resource"
2928
+ ]
2929
+ },
2760
2930
  "title": {
2761
- "oneOf": [
2931
+ "minLength": 1,
2932
+ "maxLength": 255,
2933
+ "anyOf": [
2762
2934
  {
2763
2935
  "type": "object",
2764
2936
  "properties": {
2765
2937
  "text": {
2766
- "type": "string",
2767
2938
  "minLength": 1,
2768
- "maxLength": 255
2939
+ "maxLength": 255,
2940
+ "type": "string"
2769
2941
  },
2770
2942
  "href": {
2771
- "type": "string",
2772
2943
  "minLength": 1,
2773
- "maxLength": 1000
2944
+ "maxLength": 1000,
2945
+ "type": "string"
2774
2946
  }
2775
2947
  },
2776
2948
  "required": [
2949
+ "href",
2777
2950
  "text"
2778
2951
  ]
2779
2952
  },
2780
2953
  {
2781
- "type": "string",
2782
- "minLength": 1,
2783
- "maxLength": 255
2954
+ "type": "string"
2784
2955
  }
2785
2956
  ]
2786
2957
  },
2787
2958
  "description": {
2788
- "type": "string",
2789
2959
  "minLength": 1,
2790
- "maxLength": 255
2960
+ "maxLength": 255,
2961
+ "type": "string"
2791
2962
  },
2792
2963
  "thumbnail": {
2793
2964
  "type": "string",
2794
2965
  "minLength": 1,
2795
2966
  "maxLength": 255
2796
2967
  },
2797
- "function": {
2798
- "type": "string",
2799
- "minLength": 1,
2800
- "maxLength": 255,
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
2968
  "displayConditions": {
2818
2969
  "type": "object",
2819
2970
  "properties": {}
@@ -2823,10 +2974,9 @@
2823
2974
  }
2824
2975
  },
2825
2976
  "required": [
2826
- "title",
2827
2977
  "description",
2828
- "thumbnail",
2829
2978
  "resource",
2979
+ "title",
2830
2980
  "key"
2831
2981
  ]
2832
2982
  }
@@ -3826,32 +3976,63 @@
3826
3976
  },
3827
3977
  "minItems": 1
3828
3978
  },
3829
- "compass:adminPage": {
3979
+ "jira:workflowCondition": {
3830
3980
  "type": "array",
3831
3981
  "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,
3982
+ "type": "object",
3983
+ "properties": {
3984
+ "name": {
3985
+ "minLength": 1,
3986
+ "maxLength": 255,
3987
+ "type": "string"
3988
+ },
3989
+ "description": {
3990
+ "minLength": 1,
3991
+ "maxLength": 1000,
3992
+ "type": "string"
3993
+ },
3994
+ "expression": {
3995
+ "type": "string"
3996
+ },
3997
+ "key": {
3998
+ "$ref": "#/definitions/ModuleKeySchema"
3999
+ }
4000
+ },
4001
+ "required": [
4002
+ "description",
4003
+ "expression",
4004
+ "name",
4005
+ "key"
4006
+ ]
4007
+ },
4008
+ "minItems": 1
4009
+ },
4010
+ "compass:adminPage": {
4011
+ "type": "array",
4012
+ "items": {
4013
+ "oneOf": [
4014
+ {
4015
+ "type": "object",
4016
+ "required": [
4017
+ "title",
4018
+ "function",
4019
+ "key"
4020
+ ],
4021
+ "properties": {
4022
+ "title": {
4023
+ "type": "string",
4024
+ "minLength": 1,
4025
+ "maxLength": 255
4026
+ },
4027
+ "icon": {
4028
+ "type": "string",
4029
+ "minLength": 1,
4030
+ "maxLength": 255
4031
+ },
4032
+ "function": {
4033
+ "type": "string",
4034
+ "minLength": 1,
4035
+ "maxLength": 255,
3855
4036
  "pattern": "^[a-zA-Z0-9-_]+$"
3856
4037
  },
3857
4038
  "key": {
@@ -5302,10 +5483,10 @@
5302
5483
  "type": "object",
5303
5484
  "anyOf": [
5304
5485
  {
5305
- "$ref": "#/definitions/compositeCondition"
5486
+ "$ref": "#/definitions/singleCondition"
5306
5487
  },
5307
5488
  {
5308
- "$ref": "#/definitions/singleCondition"
5489
+ "$ref": "#/definitions/compositeCondition"
5309
5490
  }
5310
5491
  ]
5311
5492
  },
@@ -5366,10 +5547,10 @@
5366
5547
  "type": "object",
5367
5548
  "anyOf": [
5368
5549
  {
5369
- "$ref": "#/definitions/singleCondition"
5550
+ "$ref": "#/definitions/compositeCondition"
5370
5551
  },
5371
5552
  {
5372
- "$ref": "#/definitions/compositeCondition"
5553
+ "$ref": "#/definitions/singleCondition"
5373
5554
  }
5374
5555
  ]
5375
5556
  },
@@ -5424,10 +5605,10 @@
5424
5605
  "type": "object",
5425
5606
  "anyOf": [
5426
5607
  {
5427
- "$ref": "#/definitions/singleCondition"
5608
+ "$ref": "#/definitions/compositeCondition"
5428
5609
  },
5429
5610
  {
5430
- "$ref": "#/definitions/compositeCondition"
5611
+ "$ref": "#/definitions/singleCondition"
5431
5612
  }
5432
5613
  ]
5433
5614
  },
@@ -5482,10 +5663,10 @@
5482
5663
  "type": "object",
5483
5664
  "anyOf": [
5484
5665
  {
5485
- "$ref": "#/definitions/singleCondition"
5666
+ "$ref": "#/definitions/compositeCondition"
5486
5667
  },
5487
5668
  {
5488
- "$ref": "#/definitions/compositeCondition"
5669
+ "$ref": "#/definitions/singleCondition"
5489
5670
  }
5490
5671
  ]
5491
5672
  },
@@ -5602,6 +5783,22 @@
5602
5783
  "title": "Inline Dialog Options",
5603
5784
  "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
5785
  },
5786
+ {
5787
+ "properties": {
5788
+ "key": {
5789
+ "maxLength": 100,
5790
+ "type": "string",
5791
+ "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"
5792
+ }
5793
+ },
5794
+ "required": [
5795
+ "key"
5796
+ ],
5797
+ "shortClassName": "dialogModuleOptions",
5798
+ "type": "object",
5799
+ "title": "Dialog Module Options",
5800
+ "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"
5801
+ },
5605
5802
  {
5606
5803
  "properties": {
5607
5804
  "size": {
@@ -5646,22 +5843,6 @@
5646
5843
  "type": "object",
5647
5844
  "title": "Dialog Options",
5648
5845
  "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"
5649
- },
5650
- {
5651
- "properties": {
5652
- "key": {
5653
- "maxLength": 100,
5654
- "type": "string",
5655
- "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"
5656
- }
5657
- },
5658
- "required": [
5659
- "key"
5660
- ],
5661
- "shortClassName": "dialogModuleOptions",
5662
- "type": "object",
5663
- "title": "Dialog Module Options",
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"
5665
5846
  }
5666
5847
  ]
5667
5848
  },
@@ -5725,10 +5906,10 @@
5725
5906
  "type": "object",
5726
5907
  "anyOf": [
5727
5908
  {
5728
- "$ref": "#/definitions/singleCondition"
5909
+ "$ref": "#"
5729
5910
  },
5730
5911
  {
5731
- "$ref": "#"
5912
+ "$ref": "#/definitions/singleCondition"
5732
5913
  }
5733
5914
  ]
5734
5915
  },
@@ -6051,10 +6232,10 @@
6051
6232
  "type": "object",
6052
6233
  "anyOf": [
6053
6234
  {
6054
- "$ref": "#/definitions/compositeCondition"
6235
+ "$ref": "#/definitions/singleCondition"
6055
6236
  },
6056
6237
  {
6057
- "$ref": "#/definitions/singleCondition"
6238
+ "$ref": "#/definitions/compositeCondition"
6058
6239
  }
6059
6240
  ]
6060
6241
  },
@@ -6194,10 +6375,10 @@
6194
6375
  "type": "object",
6195
6376
  "anyOf": [
6196
6377
  {
6197
- "$ref": "#/definitions/singleCondition"
6378
+ "$ref": "#/definitions/compositeCondition"
6198
6379
  },
6199
6380
  {
6200
- "$ref": "#/definitions/compositeCondition"
6381
+ "$ref": "#/definitions/singleCondition"
6201
6382
  }
6202
6383
  ]
6203
6384
  },
@@ -6479,10 +6660,10 @@
6479
6660
  "type": "object",
6480
6661
  "anyOf": [
6481
6662
  {
6482
- "$ref": "#/definitions/singleCondition"
6663
+ "$ref": "#/definitions/compositeCondition"
6483
6664
  },
6484
6665
  {
6485
- "$ref": "#/definitions/compositeCondition"
6666
+ "$ref": "#/definitions/singleCondition"
6486
6667
  }
6487
6668
  ]
6488
6669
  },
@@ -6520,10 +6701,10 @@
6520
6701
  "type": "object",
6521
6702
  "anyOf": [
6522
6703
  {
6523
- "$ref": "#/definitions/singleCondition"
6704
+ "$ref": "#/definitions/compositeCondition"
6524
6705
  },
6525
6706
  {
6526
- "$ref": "#/definitions/compositeCondition"
6707
+ "$ref": "#/definitions/singleCondition"
6527
6708
  }
6528
6709
  ]
6529
6710
  },
@@ -6610,12 +6791,42 @@
6610
6791
  "items": {
6611
6792
  "type": "object",
6612
6793
  "anyOf": [
6794
+ {
6795
+ "properties": {
6796
+ "condition": {
6797
+ "maxLength": 100,
6798
+ "type": "string",
6799
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
6800
+ },
6801
+ "invert": {
6802
+ "type": "boolean",
6803
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
6804
+ "defaultValue": "false"
6805
+ },
6806
+ "params": {
6807
+ "additionalProperties": true,
6808
+ "type": "object",
6809
+ "fieldTitle": "Object",
6810
+ "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"
6811
+ }
6812
+ },
6813
+ "required": [
6814
+ "condition"
6815
+ ],
6816
+ "shortClassName": "singleConditionBean",
6817
+ "type": "object",
6818
+ "title": "Single Condition",
6819
+ "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"
6820
+ },
6613
6821
  {
6614
6822
  "properties": {
6615
6823
  "conditions": {
6616
6824
  "items": {
6617
6825
  "type": "object",
6618
6826
  "anyOf": [
6827
+ {
6828
+ "$ref": "#/definitions/singleCondition"
6829
+ },
6619
6830
  {
6620
6831
  "properties": {
6621
6832
  "conditions": {
@@ -6623,10 +6834,10 @@
6623
6834
  "type": "object",
6624
6835
  "anyOf": [
6625
6836
  {
6626
- "$ref": "#"
6837
+ "$ref": "#/definitions/singleCondition"
6627
6838
  },
6628
6839
  {
6629
- "$ref": "#/definitions/singleCondition"
6840
+ "$ref": "#"
6630
6841
  }
6631
6842
  ]
6632
6843
  },
@@ -6648,9 +6859,6 @@
6648
6859
  "type": "object",
6649
6860
  "title": "Composite Condition",
6650
6861
  "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"
6651
- },
6652
- {
6653
- "$ref": "#/definitions/singleCondition"
6654
6862
  }
6655
6863
  ]
6656
6864
  },
@@ -6672,33 +6880,6 @@
6672
6880
  "type": "object",
6673
6881
  "title": "Composite Condition",
6674
6882
  "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"
6702
6883
  }
6703
6884
  ]
6704
6885
  },
@@ -6925,12 +7106,42 @@
6925
7106
  "items": {
6926
7107
  "type": "object",
6927
7108
  "anyOf": [
7109
+ {
7110
+ "properties": {
7111
+ "condition": {
7112
+ "maxLength": 100,
7113
+ "type": "string",
7114
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
7115
+ },
7116
+ "invert": {
7117
+ "type": "boolean",
7118
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
7119
+ "defaultValue": "false"
7120
+ },
7121
+ "params": {
7122
+ "additionalProperties": true,
7123
+ "type": "object",
7124
+ "fieldTitle": "Object",
7125
+ "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"
7126
+ }
7127
+ },
7128
+ "required": [
7129
+ "condition"
7130
+ ],
7131
+ "shortClassName": "singleConditionBean",
7132
+ "type": "object",
7133
+ "title": "Single Condition",
7134
+ "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"
7135
+ },
6928
7136
  {
6929
7137
  "properties": {
6930
7138
  "conditions": {
6931
7139
  "items": {
6932
7140
  "type": "object",
6933
7141
  "anyOf": [
7142
+ {
7143
+ "$ref": "#/definitions/singleCondition"
7144
+ },
6934
7145
  {
6935
7146
  "properties": {
6936
7147
  "conditions": {
@@ -6938,10 +7149,10 @@
6938
7149
  "type": "object",
6939
7150
  "anyOf": [
6940
7151
  {
6941
- "$ref": "#"
7152
+ "$ref": "#/definitions/singleCondition"
6942
7153
  },
6943
7154
  {
6944
- "$ref": "#/definitions/singleCondition"
7155
+ "$ref": "#"
6945
7156
  }
6946
7157
  ]
6947
7158
  },
@@ -6963,9 +7174,6 @@
6963
7174
  "type": "object",
6964
7175
  "title": "Composite Condition",
6965
7176
  "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"
6966
- },
6967
- {
6968
- "$ref": "#/definitions/singleCondition"
6969
7177
  }
6970
7178
  ]
6971
7179
  },
@@ -6987,33 +7195,6 @@
6987
7195
  "type": "object",
6988
7196
  "title": "Composite Condition",
6989
7197
  "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"
7017
7198
  }
7018
7199
  ]
7019
7200
  },
@@ -7242,23 +7423,8 @@
7242
7423
  "anyOf": [
7243
7424
  {
7244
7425
  "properties": {
7245
- "expression": {
7246
- "type": "string",
7247
- "fieldDescription": "\n\nThe Jira expression that will return an error message if the validator rejects a transition.\n\n"
7248
- }
7249
- },
7250
- "required": [
7251
- "expression"
7252
- ],
7253
- "shortClassName": "validatorJiraExpressionErrorMessage",
7254
- "type": "object",
7255
- "title": "Jira Expression Error Message",
7256
- "description": "\n\nA Jira expression that will be evaluated if the workflow validator fails.\n The string returned by the Jira expression will be displayed as the error message for the failed transition.\n\n"
7257
- },
7258
- {
7259
- "properties": {
7260
- "value": {
7261
- "maxLength": 1500,
7426
+ "value": {
7427
+ "maxLength": 1500,
7262
7428
  "type": "string",
7263
7429
  "fieldDescription": "\n\nThe human-readable default value. This will be used if no translation exists.\n Only the following HTML tags are supported: `b`, `i`, `strong`, `em`, and `code`.\n\n"
7264
7430
  },
@@ -7275,6 +7441,21 @@
7275
7441
  "type": "object",
7276
7442
  "title": "i18n Property",
7277
7443
  "description": "\n\nRepresents a string that can be resolved via a localization properties file. You can use the same `i18n Property` key\n and value in multiple places if you like, but identical keys must have identical values.\n\n <h3>Example</h3>\n\n\n\n\n\n {\n \"value\": \"My text\"\n }\n\n\n"
7444
+ },
7445
+ {
7446
+ "properties": {
7447
+ "expression": {
7448
+ "type": "string",
7449
+ "fieldDescription": "\n\nThe Jira expression that will return an error message if the validator rejects a transition.\n\n"
7450
+ }
7451
+ },
7452
+ "required": [
7453
+ "expression"
7454
+ ],
7455
+ "shortClassName": "validatorJiraExpressionErrorMessage",
7456
+ "type": "object",
7457
+ "title": "Jira Expression Error Message",
7458
+ "description": "\n\nA Jira expression that will be evaluated if the workflow validator fails.\n The string returned by the Jira expression will be displayed as the error message for the failed transition.\n\n"
7278
7459
  }
7279
7460
  ]
7280
7461
  },
@@ -7572,10 +7753,10 @@
7572
7753
  "type": "object",
7573
7754
  "anyOf": [
7574
7755
  {
7575
- "$ref": "#/definitions/singleCondition"
7756
+ "$ref": "#/definitions/compositeCondition"
7576
7757
  },
7577
7758
  {
7578
- "$ref": "#/definitions/compositeCondition"
7759
+ "$ref": "#/definitions/singleCondition"
7579
7760
  }
7580
7761
  ]
7581
7762
  },
@@ -7749,10 +7930,10 @@
7749
7930
  "type": "object",
7750
7931
  "anyOf": [
7751
7932
  {
7752
- "$ref": "#/definitions/singleCondition"
7933
+ "$ref": "#/definitions/compositeCondition"
7753
7934
  },
7754
7935
  {
7755
- "$ref": "#/definitions/compositeCondition"
7936
+ "$ref": "#/definitions/singleCondition"
7756
7937
  }
7757
7938
  ]
7758
7939
  },
@@ -7925,6 +8106,22 @@
7925
8106
  "title": "Dialog Options",
7926
8107
  "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
8108
  },
8109
+ {
8110
+ "properties": {
8111
+ "key": {
8112
+ "maxLength": 100,
8113
+ "type": "string",
8114
+ "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"
8115
+ }
8116
+ },
8117
+ "required": [
8118
+ "key"
8119
+ ],
8120
+ "shortClassName": "dialogModuleOptions",
8121
+ "type": "object",
8122
+ "title": "Dialog Module Options",
8123
+ "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"
8124
+ },
7928
8125
  {
7929
8126
  "properties": {
7930
8127
  "offsetX": {
@@ -7971,22 +8168,6 @@
7971
8168
  "type": "object",
7972
8169
  "title": "Inline Dialog Options",
7973
8170
  "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"
7974
- },
7975
- {
7976
- "properties": {
7977
- "key": {
7978
- "maxLength": 100,
7979
- "type": "string",
7980
- "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"
7981
- }
7982
- },
7983
- "required": [
7984
- "key"
7985
- ],
7986
- "shortClassName": "dialogModuleOptions",
7987
- "type": "object",
7988
- "title": "Dialog Module Options",
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"
7990
8171
  }
7991
8172
  ]
7992
8173
  },
@@ -8043,6 +8224,33 @@
8043
8224
  "items": {
8044
8225
  "type": "object",
8045
8226
  "anyOf": [
8227
+ {
8228
+ "properties": {
8229
+ "condition": {
8230
+ "maxLength": 100,
8231
+ "type": "string",
8232
+ "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
8233
+ },
8234
+ "invert": {
8235
+ "type": "boolean",
8236
+ "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
8237
+ "defaultValue": "false"
8238
+ },
8239
+ "params": {
8240
+ "additionalProperties": true,
8241
+ "type": "object",
8242
+ "fieldTitle": "Object",
8243
+ "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"
8244
+ }
8245
+ },
8246
+ "required": [
8247
+ "condition"
8248
+ ],
8249
+ "shortClassName": "singleConditionBean",
8250
+ "type": "object",
8251
+ "title": "Single Condition",
8252
+ "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"
8253
+ },
8046
8254
  {
8047
8255
  "properties": {
8048
8256
  "conditions": {
@@ -8075,33 +8283,6 @@
8075
8283
  "type": "object",
8076
8284
  "title": "Composite Condition",
8077
8285
  "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"
8105
8286
  }
8106
8287
  ]
8107
8288
  },
@@ -9120,6 +9301,38 @@
9120
9301
  "items": {
9121
9302
  "type": "object",
9122
9303
  "anyOf": [
9304
+ {
9305
+ "properties": {
9306
+ "macroParameter": {
9307
+ "maxLength": 100,
9308
+ "type": "string",
9309
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
9310
+ },
9311
+ "type": {
9312
+ "enum": [
9313
+ "text",
9314
+ "TEXT"
9315
+ ],
9316
+ "type": "string",
9317
+ "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
9318
+ },
9319
+ "key": {
9320
+ "pattern": "^[a-zA-Z0-9-]+$",
9321
+ "maxLength": 100,
9322
+ "type": "string",
9323
+ "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"
9324
+ }
9325
+ },
9326
+ "required": [
9327
+ "macroParameter",
9328
+ "type",
9329
+ "key"
9330
+ ],
9331
+ "shortClassName": "textControlBean",
9332
+ "type": "object",
9333
+ "title": "TextControl",
9334
+ "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"
9335
+ },
9123
9336
  {
9124
9337
  "properties": {
9125
9338
  "label": {
@@ -9276,38 +9489,6 @@
9276
9489
  "type": "object",
9277
9490
  "title": "ToggleGroup",
9278
9491
  "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"
9279
- },
9280
- {
9281
- "properties": {
9282
- "macroParameter": {
9283
- "maxLength": 100,
9284
- "type": "string",
9285
- "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
9286
- },
9287
- "type": {
9288
- "enum": [
9289
- "text",
9290
- "TEXT"
9291
- ],
9292
- "type": "string",
9293
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
9294
- },
9295
- "key": {
9296
- "pattern": "^[a-zA-Z0-9-]+$",
9297
- "maxLength": 100,
9298
- "type": "string",
9299
- "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"
9300
- }
9301
- },
9302
- "required": [
9303
- "macroParameter",
9304
- "type",
9305
- "key"
9306
- ],
9307
- "shortClassName": "textControlBean",
9308
- "type": "object",
9309
- "title": "TextControl",
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"
9311
9492
  }
9312
9493
  ]
9313
9494
  },
@@ -9543,6 +9724,51 @@
9543
9724
  "type": "object",
9544
9725
  "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",
9545
9726
  "anyOf": [
9727
+ {
9728
+ "properties": {
9729
+ "size": {
9730
+ "enum": [
9731
+ "small",
9732
+ "SMALL",
9733
+ "medium",
9734
+ "MEDIUM",
9735
+ "large",
9736
+ "LARGE",
9737
+ "x-large",
9738
+ "X-LARGE",
9739
+ "fullscreen",
9740
+ "FULLSCREEN",
9741
+ "maximum",
9742
+ "MAXIMUM"
9743
+ ],
9744
+ "type": "string",
9745
+ "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"
9746
+ },
9747
+ "chrome": {
9748
+ "type": "boolean",
9749
+ "fieldDescription": "\n\nWhether the dialog should contain the AUI header and buttons.\n\n",
9750
+ "defaultValue": "true"
9751
+ },
9752
+ "width": {
9753
+ "maxLength": 10,
9754
+ "type": "string",
9755
+ "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
9756
+ },
9757
+ "header": {
9758
+ "$ref": "#/definitions/i18nProperty",
9759
+ "fieldDescription": "\n\nThe header text for the dialog, if chrome is enabled.\n\n"
9760
+ },
9761
+ "height": {
9762
+ "maxLength": 10,
9763
+ "type": "string",
9764
+ "fieldDescription": "\n\nSets how high the dialog is in pixels\n\n"
9765
+ }
9766
+ },
9767
+ "shortClassName": "dialogOptions",
9768
+ "type": "object",
9769
+ "title": "Dialog Options",
9770
+ "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"
9771
+ },
9546
9772
  {
9547
9773
  "properties": {
9548
9774
  "offsetX": {
@@ -9590,51 +9816,6 @@
9590
9816
  "title": "Inline Dialog Options",
9591
9817
  "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"
9592
9818
  },
9593
- {
9594
- "properties": {
9595
- "size": {
9596
- "enum": [
9597
- "small",
9598
- "SMALL",
9599
- "medium",
9600
- "MEDIUM",
9601
- "large",
9602
- "LARGE",
9603
- "x-large",
9604
- "X-LARGE",
9605
- "fullscreen",
9606
- "FULLSCREEN",
9607
- "maximum",
9608
- "MAXIMUM"
9609
- ],
9610
- "type": "string",
9611
- "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"
9612
- },
9613
- "chrome": {
9614
- "type": "boolean",
9615
- "fieldDescription": "\n\nWhether the dialog should contain the AUI header and buttons.\n\n",
9616
- "defaultValue": "true"
9617
- },
9618
- "width": {
9619
- "maxLength": 10,
9620
- "type": "string",
9621
- "fieldDescription": "\n\nSets how wide the dialog is in pixels.\n\n"
9622
- },
9623
- "header": {
9624
- "$ref": "#/definitions/i18nProperty",
9625
- "fieldDescription": "\n\nThe header text for the dialog, if chrome is enabled.\n\n"
9626
- },
9627
- "height": {
9628
- "maxLength": 10,
9629
- "type": "string",
9630
- "fieldDescription": "\n\nSets how high the dialog is in pixels\n\n"
9631
- }
9632
- },
9633
- "shortClassName": "dialogOptions",
9634
- "type": "object",
9635
- "title": "Dialog Options",
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
9819
  {
9639
9820
  "properties": {
9640
9821
  "key": {
@@ -10233,7 +10414,6 @@
10233
10414
  "required": [
10234
10415
  "authorization",
10235
10416
  "exchange",
10236
- "revokeToken",
10237
10417
  "retrieveProfile"
10238
10418
  ],
10239
10419
  "additionalProperties": false,