summaryrefslogtreecommitdiffstats
path: root/src/ansiblelint/schemas/changelog.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/ansiblelint/schemas/changelog.json')
-rw-r--r--src/ansiblelint/schemas/changelog.json262
1 files changed, 262 insertions, 0 deletions
diff --git a/src/ansiblelint/schemas/changelog.json b/src/ansiblelint/schemas/changelog.json
new file mode 100644
index 0000000..ec0d896
--- /dev/null
+++ b/src/ansiblelint/schemas/changelog.json
@@ -0,0 +1,262 @@
+{
+ "$defs": {
+ "plugin-descriptions": {
+ "items": {
+ "properties": {
+ "description": {
+ "markdownDescription": "Value of `short_description` from plugin `DOCUMENTATION`.",
+ "title": "Description",
+ "type": "string"
+ },
+ "name": {
+ "markdownDescription": "It must not be the FQCN, but the name inside the collection.",
+ "pattern": "[a-zA-Z0-9_]+",
+ "title": "Name",
+ "type": "string"
+ },
+ "namespace": {
+ "type": "null"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "release": {
+ "additionalProperties": false,
+ "properties": {
+ "changes": {
+ "additionalProperties": false,
+ "properties": {
+ "breaking_changes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "bugfixes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "deprecated_features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "known_issues": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "major_changes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "minor_changes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "release_summary": {
+ "markdownDescription": "This must be valid [reStructuredText](https://en.wikipedia.org/wiki/ReStructuredText).",
+ "title": "Release Summary",
+ "type": "string"
+ },
+ "removed_features": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "security_fixes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "trivial": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "codename": {
+ "type": "string"
+ },
+ "fragments": {
+ "items": {
+ "type": "string"
+ },
+ "markdownDescription": "List of strings representing filenames of changelog framents.",
+ "type": "array"
+ },
+ "modules": {
+ "items": {
+ "properties": {
+ "description": {
+ "markdownDescription": "Value of `short_description` from plugin `DOCUMENTATION`.",
+ "title": "Description",
+ "type": "string"
+ },
+ "name": {
+ "markdownDescription": "It must not be the FQCN, but the name inside the collection.",
+ "pattern": "[a-zA-Z0-9_]+",
+ "title": "Short module name",
+ "type": "string"
+ },
+ "namespace": {
+ "markdownDescription": "Must be `''` for modules directly in `plugins/modules/`, or the dot-separated list of directories the module is in inside the `plugins/modules/` directory. The namespace is used to group new modules by their namespace inside the collection.",
+ "title": "Namespace",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "objects": {
+ "additionalProperties": false,
+ "properties": {
+ "playbook": {
+ "items": {
+ "properties": {
+ "description": {
+ "markdownDescription": "A short description of what the playbook does.",
+ "title": "Description",
+ "type": "string"
+ },
+ "name": {
+ "markdownDescription": "It must not be the FQCN, but the name inside the collection.",
+ "pattern": "[a-zA-Z0-9_]+",
+ "title": "Short playbook name",
+ "type": "string"
+ },
+ "namespace": {
+ "type": "null"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "role": {
+ "items": {
+ "properties": {
+ "description": {
+ "markdownDescription": "Value of `short_description` from role's argument spec.",
+ "title": "Description",
+ "type": "string"
+ },
+ "name": {
+ "markdownDescription": "It must not be the FQCN, but the name inside the collection.",
+ "pattern": "[a-zA-Z0-9_]+",
+ "title": "Short role name",
+ "type": "string"
+ },
+ "namespace": {
+ "type": "null"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "plugins": {
+ "additionalProperties": false,
+ "properties": {
+ "become": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "cache": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "callback": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "cliconf": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "connections": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "filter": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "httpapi": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "inventory": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "lookup": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "netconf": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "shell": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "strategy": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "test": {
+ "$ref": "#/$defs/plugin-descriptions"
+ },
+ "vars": {
+ "$ref": "#/$defs/plugin-descriptions"
+ }
+ },
+ "type": "object"
+ },
+ "release_date": {
+ "format": "date",
+ "markdownDescription": "Use ISO-8601 date format, like 2020-12-31",
+ "pattern": "\\d\\d\\d\\d-\\d\\d-\\d\\d",
+ "title": "Date of the release.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "semver": {
+ "pattern": "\\d+.\\d+.\\d+.*",
+ "title": "Version string following SemVer specification.",
+ "type": ["string", "null"]
+ }
+ },
+ "$id": "https://raw.githubusercontent.com/ansible-lint/main/src/ansiblelint/schemas/changelog.json",
+ "$schema": "http://json-schema.org/draft-07/schema",
+ "additionalProperties": false,
+ "examples": ["changelogs/changelog.yaml"],
+ "markdownDescription": "Antsibull Changelog Schema is based on [changelog.yaml-format.md](https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelog.yaml-format.md).",
+ "properties": {
+ "ancestor": {
+ "$ref": "#/$defs/semver"
+ },
+ "releases": {
+ "patternProperties": {
+ "\\d+.\\d+.\\d+.*": {
+ "$ref": "#/$defs/release",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "title": "Antsibull Changelog Schema",
+ "type": "object"
+}