@forge/manifest

12.4.1-next.012.5.0-next.1
out/schema/manifest-schema.json
~out/schema/manifest-schema.jsonModified
+218−6
Index: package/out/schema/manifest-schema.json
===================================================================
--- package/out/schema/manifest-schema.json
+++ package/out/schema/manifest-schema.json
@@ -9763,14 +9763,9 @@
                         "required": [
                             "resource",
                             "title",
                             "key"
-                        ],
-                        "not": {
-                            "required": [
-                                "unlicensedAccess"
-                            ]
-                        }
+                        ]
                     },
                     "minItems": 1
                 },
                 "jira:issueGlance": {
@@ -29769,8 +29764,225 @@
                             ]
                         }
                     },
                     "minItems": 1
+                },
+                "global:ui": {
+                    "type": "array",
+                    "items": {
+                        "oneOf": [
+                            {
+                                "type": "object",
+                                "additionalProperties": false,
+                                "properties": {
+                                    "title": {
+                                        "oneOf": [
+                                            {
+                                                "type": "object",
+                                                "additionalProperties": false,
+                                                "properties": {
+                                                    "i18n": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "i18n"
+                                                ]
+                                            },
+                                            {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 255
+                                            }
+                                        ]
+                                    },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
+                                    "routePrefix": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255,
+                                        "pattern": "^[a-z0-9\\-]+$"
+                                    },
+                                    "icon": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255
+                                    },
+                                    "resource": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 23,
+                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                    },
+                                    "resourceUploadId": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255
+                                    },
+                                    "resolver": {
+                                        "anyOf": [
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "endpoint": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "endpoint"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "key": {
+                                        "$ref": "#/definitions/ModuleKeySchema"
+                                    }
+                                },
+                                "required": [
+                                    "resource",
+                                    "routePrefix",
+                                    "key"
+                                ]
+                            },
+                            {
+                                "type": "object",
+                                "additionalProperties": false,
+                                "properties": {
+                                    "title": {
+                                        "oneOf": [
+                                            {
+                                                "type": "object",
+                                                "additionalProperties": false,
+                                                "properties": {
+                                                    "i18n": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 300,
+                                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "i18n"
+                                                ]
+                                            },
+                                            {
+                                                "type": "string",
+                                                "minLength": 1,
+                                                "maxLength": 255
+                                            }
+                                        ]
+                                    },
+                                    "title__i18n": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 300,
+                                        "pattern": "^[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)*$"
+                                    },
+                                    "resolver": {
+                                        "anyOf": [
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "function": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "function"
+                                                ]
+                                            },
+                                            {
+                                                "additionalProperties": false,
+                                                "type": "object",
+                                                "properties": {
+                                                    "endpoint": {
+                                                        "type": "string",
+                                                        "minLength": 1,
+                                                        "maxLength": 255,
+                                                        "pattern": "^[a-zA-Z0-9-_]+$"
+                                                    }
+                                                },
+                                                "required": [
+                                                    "endpoint"
+                                                ]
+                                            }
+                                        ]
+                                    },
+                                    "resource": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 23,
+                                        "pattern": "^[a-zA-Z0-9_\\-]+$"
+                                    },
+                                    "resourceUploadId": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255
+                                    },
+                                    "render": {
+                                        "enum": [
+                                            "native",
+                                            "default"
+                                        ],
+                                        "type": "string",
+                                        "default": "default"
+                                    },
+                                    "routePrefix": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255,
+                                        "pattern": "^[a-z0-9\\-]+$"
+                                    },
+                                    "icon": {
+                                        "type": "string",
+                                        "minLength": 1,
+                                        "maxLength": 255
+                                    },
+                                    "key": {
+                                        "$ref": "#/definitions/ModuleKeySchema"
+                                    }
+                                },
+                                "required": [
+                                    "resource",
+                                    "routePrefix",
+                                    "render",
+                                    "key"
+                                ]
+                            }
+                        ]
+                    },
+                    "minItems": 1
                 }
             },
             "title": "ModuleSchema",
             "type": "object"