@forge/manifest 3.3.1-next.0 → 3.3.1-next.1

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.
@@ -7749,10 +7749,10 @@
7749
7749
  "type": "object",
7750
7750
  "anyOf": [
7751
7751
  {
7752
- "$ref": "#/definitions/compositeCondition"
7752
+ "$ref": "#/definitions/singleCondition"
7753
7753
  },
7754
7754
  {
7755
- "$ref": "#/definitions/singleCondition"
7755
+ "$ref": "#/definitions/compositeCondition"
7756
7756
  }
7757
7757
  ]
7758
7758
  },
@@ -7925,22 +7925,6 @@
7925
7925
  "title": "Dialog Options",
7926
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
7927
  },
7928
- {
7929
- "properties": {
7930
- "key": {
7931
- "maxLength": 100,
7932
- "type": "string",
7933
- "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"
7934
- }
7935
- },
7936
- "required": [
7937
- "key"
7938
- ],
7939
- "shortClassName": "dialogModuleOptions",
7940
- "type": "object",
7941
- "title": "Dialog Module Options",
7942
- "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"
7943
- },
7944
7928
  {
7945
7929
  "properties": {
7946
7930
  "offsetX": {
@@ -7987,6 +7971,22 @@
7987
7971
  "type": "object",
7988
7972
  "title": "Inline Dialog Options",
7989
7973
  "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
7990
  }
7991
7991
  ]
7992
7992
  },
@@ -8043,33 +8043,6 @@
8043
8043
  "items": {
8044
8044
  "type": "object",
8045
8045
  "anyOf": [
8046
- {
8047
- "properties": {
8048
- "condition": {
8049
- "maxLength": 100,
8050
- "type": "string",
8051
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
8052
- },
8053
- "invert": {
8054
- "type": "boolean",
8055
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
8056
- "defaultValue": "false"
8057
- },
8058
- "params": {
8059
- "additionalProperties": true,
8060
- "type": "object",
8061
- "fieldTitle": "Object",
8062
- "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"
8063
- }
8064
- },
8065
- "required": [
8066
- "condition"
8067
- ],
8068
- "shortClassName": "singleConditionBean",
8069
- "type": "object",
8070
- "title": "Single Condition",
8071
- "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"
8072
- },
8073
8046
  {
8074
8047
  "properties": {
8075
8048
  "conditions": {
@@ -8077,10 +8050,10 @@
8077
8050
  "type": "object",
8078
8051
  "anyOf": [
8079
8052
  {
8080
- "$ref": "#/definitions/singleCondition"
8053
+ "$ref": "#"
8081
8054
  },
8082
8055
  {
8083
- "$ref": "#"
8056
+ "$ref": "#/definitions/singleCondition"
8084
8057
  }
8085
8058
  ]
8086
8059
  },
@@ -8102,6 +8075,33 @@
8102
8075
  "type": "object",
8103
8076
  "title": "Composite Condition",
8104
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"
8105
8105
  }
8106
8106
  ]
8107
8107
  },
@@ -8306,6 +8306,33 @@
8306
8306
  "items": {
8307
8307
  "type": "object",
8308
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
+ },
8309
8336
  {
8310
8337
  "properties": {
8311
8338
  "conditions": {
@@ -8313,10 +8340,10 @@
8313
8340
  "type": "object",
8314
8341
  "anyOf": [
8315
8342
  {
8316
- "$ref": "#/definitions/singleCondition"
8343
+ "$ref": "#"
8317
8344
  },
8318
8345
  {
8319
- "$ref": "#"
8346
+ "$ref": "#/definitions/singleCondition"
8320
8347
  }
8321
8348
  ]
8322
8349
  },
@@ -8338,33 +8365,6 @@
8338
8365
  "type": "object",
8339
8366
  "title": "Composite Condition",
8340
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"
8341
- },
8342
- {
8343
- "properties": {
8344
- "condition": {
8345
- "maxLength": 100,
8346
- "type": "string",
8347
- "fieldDescription": "\n\nA string indicating the name of the condition\n\n"
8348
- },
8349
- "invert": {
8350
- "type": "boolean",
8351
- "fieldDescription": "\n\nA flag indicating whether to invert the boolean result of the condition.\n\n",
8352
- "defaultValue": "false"
8353
- },
8354
- "params": {
8355
- "additionalProperties": true,
8356
- "type": "object",
8357
- "fieldTitle": "Object",
8358
- "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"
8359
- }
8360
- },
8361
- "required": [
8362
- "condition"
8363
- ],
8364
- "shortClassName": "singleConditionBean",
8365
- "type": "object",
8366
- "title": "Single Condition",
8367
- "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"
8368
8368
  }
8369
8369
  ]
8370
8370
  },
@@ -8640,35 +8640,72 @@
8640
8640
  "anyOf": [
8641
8641
  {
8642
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
+ },
8643
8685
  "macroParameter": {
8686
+ "pattern": "[-_a-z0-9\\.]+",
8644
8687
  "maxLength": 100,
8645
8688
  "type": "string",
8646
- "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"
8647
8690
  },
8648
8691
  "type": {
8649
8692
  "enum": [
8650
- "text",
8651
- "TEXT"
8693
+ "togglegroup",
8694
+ "TOGGLEGROUP"
8652
8695
  ],
8653
8696
  "type": "string",
8654
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
8655
- },
8656
- "key": {
8657
- "pattern": "^[a-zA-Z0-9-]+$",
8658
- "maxLength": 100,
8659
- "type": "string",
8660
- "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"
8661
8698
  }
8662
8699
  },
8663
8700
  "required": [
8701
+ "controls",
8664
8702
  "macroParameter",
8665
- "type",
8666
- "key"
8703
+ "type"
8667
8704
  ],
8668
- "shortClassName": "textControlBean",
8705
+ "shortClassName": "macroToggleGroupBean",
8669
8706
  "type": "object",
8670
- "title": "TextControl",
8671
- "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"
8672
8709
  },
8673
8710
  {
8674
8711
  "properties": {
@@ -8728,104 +8765,67 @@
8728
8765
  },
8729
8766
  {
8730
8767
  "properties": {
8731
- "label": {
8732
- "$ref": "#/definitions/i18nProperty",
8733
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
8768
+ "macroParameter": {
8769
+ "maxLength": 100,
8770
+ "type": "string",
8771
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
8734
8772
  },
8735
8773
  "type": {
8736
8774
  "enum": [
8737
- "button",
8738
- "BUTTON"
8775
+ "text",
8776
+ "TEXT"
8739
8777
  ],
8740
8778
  "type": "string",
8741
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
8779
+ "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
8742
8780
  },
8743
8781
  "key": {
8744
8782
  "pattern": "^[a-zA-Z0-9-]+$",
8745
8783
  "maxLength": 100,
8746
8784
  "type": "string",
8747
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
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"
8748
8786
  }
8749
8787
  },
8750
8788
  "required": [
8751
- "label",
8789
+ "macroParameter",
8752
8790
  "type",
8753
8791
  "key"
8754
8792
  ],
8755
- "additionalProperties": true,
8756
- "shortClassName": "buttonControlBean",
8793
+ "shortClassName": "textControlBean",
8757
8794
  "type": "object",
8758
- "title": "ButtonControl",
8759
- "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"
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"
8760
8797
  },
8761
8798
  {
8762
8799
  "properties": {
8763
- "controls": {
8764
- "items": {
8765
- "properties": {
8766
- "macroParameterValue": {
8767
- "maxLength": 10000,
8768
- "type": "string",
8769
- "fieldDescription": "\n\nThe value that will be assigned to a macro parameter when this toggle is clicked\n\n"
8770
- },
8771
- "label": {
8772
- "$ref": "#/definitions/i18nProperty",
8773
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
8774
- },
8775
- "type": {
8776
- "enum": [
8777
- "togglebutton",
8778
- "TOGGLEBUTTON"
8779
- ],
8780
- "type": "string",
8781
- "fieldDescription": "\n\nThe type field must be set to 'togglebutton'\n\n"
8782
- },
8783
- "key": {
8784
- "pattern": "^[a-zA-Z0-9-]+$",
8785
- "maxLength": 100,
8786
- "type": "string",
8787
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8788
- }
8789
- },
8790
- "required": [
8791
- "macroParameterValue",
8792
- "label",
8793
- "type",
8794
- "key"
8795
- ],
8796
- "additionalProperties": true,
8797
- "shortClassName": "macroToggleButtonControlBean",
8798
- "type": "object",
8799
- "title": "ToggleButtonControl",
8800
- "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"
8801
- },
8802
- "type": "array",
8803
- "fieldDescription": "\n\nToggle buttons which will appear in the toggle group\n\n"
8804
- },
8805
- "macroParameter": {
8806
- "pattern": "[-_a-z0-9\\.]+",
8807
- "maxLength": 100,
8808
- "type": "string",
8809
- "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"
8800
+ "label": {
8801
+ "$ref": "#/definitions/i18nProperty",
8802
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
8810
8803
  },
8811
8804
  "type": {
8812
8805
  "enum": [
8813
- "togglegroup",
8814
- "TOGGLEGROUP"
8806
+ "button",
8807
+ "BUTTON"
8815
8808
  ],
8816
8809
  "type": "string",
8817
- "fieldDescription": "\n\nThe type field must be set to 'togglegroup'\n\n"
8810
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
8811
+ },
8812
+ "key": {
8813
+ "pattern": "^[a-zA-Z0-9-]+$",
8814
+ "maxLength": 100,
8815
+ "type": "string",
8816
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
8818
8817
  }
8819
8818
  },
8820
8819
  "required": [
8821
- "controls",
8822
- "macroParameter",
8823
- "type"
8820
+ "label",
8821
+ "type",
8822
+ "key"
8824
8823
  ],
8825
- "shortClassName": "macroToggleGroupBean",
8824
+ "additionalProperties": true,
8825
+ "shortClassName": "buttonControlBean",
8826
8826
  "type": "object",
8827
- "title": "ToggleGroup",
8828
- "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"
8827
+ "title": "ButtonControl",
8828
+ "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"
8829
8829
  }
8830
8830
  ]
8831
8831
  },
@@ -9154,35 +9154,59 @@
9154
9154
  },
9155
9155
  {
9156
9156
  "properties": {
9157
- "macroParameter": {
9158
- "maxLength": 100,
9159
- "type": "string",
9160
- "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
9157
+ "controls": {
9158
+ "items": {
9159
+ "properties": {
9160
+ "label": {
9161
+ "$ref": "#/definitions/i18nProperty",
9162
+ "fieldDescription": "\n\nText which will appear inside the button\n\n"
9163
+ },
9164
+ "type": {
9165
+ "enum": [
9166
+ "button",
9167
+ "BUTTON"
9168
+ ],
9169
+ "type": "string",
9170
+ "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9171
+ },
9172
+ "key": {
9173
+ "pattern": "^[a-zA-Z0-9-]+$",
9174
+ "maxLength": 100,
9175
+ "type": "string",
9176
+ "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
9177
+ }
9178
+ },
9179
+ "required": [
9180
+ "label",
9181
+ "type",
9182
+ "key"
9183
+ ],
9184
+ "additionalProperties": true,
9185
+ "shortClassName": "buttonControlBean",
9186
+ "type": "object",
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"
9189
+ },
9190
+ "type": "array",
9191
+ "fieldDescription": "\n\nControls which will appear in the control group\n\n"
9161
9192
  },
9162
9193
  "type": {
9163
9194
  "enum": [
9164
- "text",
9165
- "TEXT"
9195
+ "group",
9196
+ "GROUP"
9166
9197
  ],
9167
9198
  "type": "string",
9168
- "fieldDescription": "\n\nThe type field must be set to 'text'\n\n"
9169
- },
9170
- "key": {
9171
- "pattern": "^[a-zA-Z0-9-]+$",
9172
- "maxLength": 100,
9173
- "type": "string",
9174
- "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"
9199
+ "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
9175
9200
  }
9176
9201
  },
9177
9202
  "required": [
9178
- "macroParameter",
9179
- "type",
9180
- "key"
9203
+ "controls",
9204
+ "type"
9181
9205
  ],
9182
- "shortClassName": "textControlBean",
9206
+ "shortClassName": "controlGroupBean",
9183
9207
  "type": "object",
9184
- "title": "TextControl",
9185
- "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"
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"
9186
9210
  },
9187
9211
  {
9188
9212
  "properties": {
@@ -9255,59 +9279,35 @@
9255
9279
  },
9256
9280
  {
9257
9281
  "properties": {
9258
- "controls": {
9259
- "items": {
9260
- "properties": {
9261
- "label": {
9262
- "$ref": "#/definitions/i18nProperty",
9263
- "fieldDescription": "\n\nText which will appear inside the button\n\n"
9264
- },
9265
- "type": {
9266
- "enum": [
9267
- "button",
9268
- "BUTTON"
9269
- ],
9270
- "type": "string",
9271
- "fieldDescription": "\n\nThe type field must be set to 'button'\n\n"
9272
- },
9273
- "key": {
9274
- "pattern": "^[a-zA-Z0-9-]+$",
9275
- "maxLength": 100,
9276
- "type": "string",
9277
- "fieldDescription": "\n\nA key to identify the control. Keys must only contain alphanumeric characters and dashes, and must be unique\n\n"
9278
- }
9279
- },
9280
- "required": [
9281
- "label",
9282
- "type",
9283
- "key"
9284
- ],
9285
- "additionalProperties": true,
9286
- "shortClassName": "buttonControlBean",
9287
- "type": "object",
9288
- "title": "ButtonControl",
9289
- "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"
9290
- },
9291
- "type": "array",
9292
- "fieldDescription": "\n\nControls which will appear in the control group\n\n"
9282
+ "macroParameter": {
9283
+ "maxLength": 100,
9284
+ "type": "string",
9285
+ "fieldDescription": "\n\nThe Macro Parameter identifier used to store the text\n\n"
9293
9286
  },
9294
9287
  "type": {
9295
9288
  "enum": [
9296
- "group",
9297
- "GROUP"
9289
+ "text",
9290
+ "TEXT"
9298
9291
  ],
9299
9292
  "type": "string",
9300
- "fieldDescription": "\n\nThe type field must be set to 'group'\n\n"
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"
9301
9300
  }
9302
9301
  },
9303
9302
  "required": [
9304
- "controls",
9305
- "type"
9303
+ "macroParameter",
9304
+ "type",
9305
+ "key"
9306
9306
  ],
9307
- "shortClassName": "controlGroupBean",
9307
+ "shortClassName": "textControlBean",
9308
9308
  "type": "object",
9309
- "title": "ControlGroup",
9310
- "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"
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
9311
  }
9312
9312
  ]
9313
9313
  },
@@ -9510,10 +9510,10 @@
9510
9510
  "type": "object",
9511
9511
  "anyOf": [
9512
9512
  {
9513
- "$ref": "#/definitions/compositeCondition"
9513
+ "$ref": "#/definitions/singleCondition"
9514
9514
  },
9515
9515
  {
9516
- "$ref": "#/definitions/singleCondition"
9516
+ "$ref": "#/definitions/compositeCondition"
9517
9517
  }
9518
9518
  ]
9519
9519
  },
@@ -10982,10 +10982,10 @@
10982
10982
  "type": "object",
10983
10983
  "anyOf": [
10984
10984
  {
10985
- "$ref": "#/definitions/singleCondition"
10985
+ "$ref": "#"
10986
10986
  },
10987
10987
  {
10988
- "$ref": "#"
10988
+ "$ref": "#/definitions/singleCondition"
10989
10989
  }
10990
10990
  ]
10991
10991
  },