+{"$schema":"http://json-schema.org/draft-07/schema","title":"Bamboo CI Specification","type":"object","properties":{"default-environment-permissions":{"title":"Default Environment Permissions","type":"array","items":{"$ref":"#/definitions/permission"}},"deployment":{"title":"Deployment","anyOf":[{"type":"string"},{"$ref":"#/definitions/deployment"}]},"deployment-permissions":{"title":"Deployment Permissions","type":"array","items":{"$ref":"#/definitions/permission"}},"docker":{"$ref":"#/definitions/docker"},"environment-permissions":{"title":"Environment Permissions","type":"array","items":{"type":"object","items":{"type":"array","items":{"type":"object","patternProperties":{"[a-zA-Z0-9\\s+_-]":{"$ref":"#/definitions/permission"}}}}}},"environments":{"type":"array","items":{"type":"string"}},"labels":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","properties":{"recipients":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"users":{"type":"array","items":{"type":"string"}},"emails":{"type":"array","items":{"type":"string"}}}}]}},"events":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/events"},{"type":"object"}]}}}}},"plan":{"$ref":"#/definitions/plan"},"plan-permissions":{"title":"Plan Permissions","type":"array","items":{"$ref":"#/definitions/permission"}},"release-naming":{"anyOf":[{"$ref":"#/definitions/releaseNaming"},{"type":"string"}]},"stages":{"type":"array","items":{"type":"object","patternProperties":{"[a-zA-Z0-9\\s+_-]":{"anyOf":[{"type":"array","items":{"type":"string"}},{"$ref":"#/definitions/stage"}]}}}},"triggers":{"$ref":"#/definitions/triggers"},"variables":{"$ref":"#/definitions/keyValue"},"version":{"type":"integer","default":2}},"additionalProperties":{"$ref":"#/definitions/job"},"definitions":{"deployment":{"type":"object","title":"Deployment projects","properties":{"name":{"type":"string"},"source-plan":{"type":"string"}}},"docker":{"title":"Docker","anyOf":[{"type":"string"},{"type":"object","properties":{"image":{"type":"string"},"volumes":{"type":"object","default":{}},"use-default-volumes":{"type":"boolean","default":false}},"required":["image"]}]},"events":{"type":"string","enum":["plan-failed","plan-completed","plan-status-changed","plan-comment-added","plan-responsibility-changed","job-completed","job-status-changed","job-failed","job-error","job-first-failed","job-hung","job-queue-timeout","job-queued-without-capable-agents"]},"job":{"title":"Job","definitions":{"artifact":{"type":"object","title":"Artifact","properties":{"location":{"type":"string"},"name":{"type":"string"},"pattern":{"type":"string"},"required":{"type":"boolean"},"shared":{"type":"boolean","default":false}}},"task":{"type":"object","properties":{"interpreter":{"type":"string"},"clean":{"type":"object"},"checkout":{"type":"object","properties":{"repository":{"type":"string"},"path":{"type":"string"},"force-clean-build":{"type":"string","default":false}}},"inject-variables":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"file":{"type":"string"},"scope":{"type":"string"},"namespace":{"type":"string"}}}]},"test-parser":{"anyOf":[{"$ref":"#/definitions/testParser"},{"type":"object","properties":{"type":{"$ref":"#/definitions/testParser"},"ignore-time":{"type":"boolean"},"test-results":{"type":"array","items":{"type":"string"}}},"required":["type"]}]},"scripts":{"type":"array","minItems":1,"items":{"$ref":"#/definitions/script"}}}}},"type":"object","properties":{"docker":{"$ref":"#/definitions/docker"},"final-tasks":{"type":"array"},"key":{"type":"string"},"other":{"type":"object","properties":{"clean-working-dir":{"type":"boolean"}}},"requirements":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","patternProperties":{".":{"type":"string"}}}]}},"tasks":{"type":"array","items":{"anyOf":[{"$ref":"#/definitions/predefinedTask"},{"$ref":"#/definitions/script"},{"$ref":"#/definitions/job/definitions/task"}]}}}},"keyValue":{"type":"object","patternProperties":{"[a-zA-Z0-9_]":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"boolean"},{"type":"number"}]}}},"notification":{"type":"object","properties":{"recipients":{"type":"array","anyOf":[{"type":"object","properties":{"users":{"type":"array","items":{"type":"string"}}}},{"type":"object","properties":{"groups":{"type":"array","items":{"type":"string"}}}}]},"events":{"type":"array","minLength":1,"items":{"$ref":"#/definitions/events"}}}},"permission":{"type":"object","definitions":{"permission":{"type":"string","enum":["view","edit","build","admin","clone","deploy"]}},"properties":{"groups":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"permissions":{"anyOf":[{"type":"array","items":{"$ref":"#/definitions/permission/definitions/permission"}},{"$ref":"#/definitions/permission/definitions/permission"}]},"roles":{"type":"array","items":{"type":"string"}},"users":{"type":"array","items":{"type":"string"}}}},"plan":{"type":"object","properties":{"project-key":{"type":"string"},"key":{"type":"string"},"name":{"type":"string"}}},"predefinedTask":{"type":"string","enum":["inject-variables","clean","checkout","artifact-download"]},"releaseNaming":{"type":"object","properties":{"next-version-name":{"type":"string"},"applies-to-branches":{"type":"boolean"},"auto-increment":{"type":"boolean"},"auto-increment-variables":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}},"script":{"anyOf":[{"type":"string"},{"type":"object","properties":{"script":{"type":"string"}}}]},"stage":{"title":"Stage","type":"object","additionalProperties":false,"properties":{"manual":{"type":"boolean"},"final":{"type":"boolean"},"jobs":{"type":"array","items":{"type":"string"}}}},"task":{"type":"object","definitions":{"trigger":{"anyOf":[{"type":"object","properties":{"stage":{"type":"string"},"branch":{"type":"string"}}},{"type":"object","patternProperties":{"[a-zA-Z0-9\\s+_-]":{"type":"string"}}}]}},"properties":{"source-plan":{"type":"string"},"artifacts":{"type":"array","items":{"$ref":"#/definitions/job/definitions/artifact"}},"triggers":{"type":"array","items":{"type":"object","patternProperties":{"(build|stage|environment)-success":{"$ref":"#/definitions/task/definitions/trigger"}}}},"notifications":{"type":"array","items":{"$ref":"#/definitions/notification"}}}},"testParser":{"type":"string","enum":["junit","mstest","nunit","mocha","testng"]},"triggers":{"type":"array","definitions":{"polling":{"anyOf":[{"type":"integer"},{"type":"object","properties":{"period":{"type":"integer"}}}]},"remote":{"anyOf":[{"const":"remote"},{"type":"object","properties":{"remote":{"type":"string"}}},{"type":"object","properties":{"remote":{"type":"object","properties":{"ip":{"type":"string"}}}}}]},"cron":{"oneOf":[{"type":"string"},{"type":"object","properties":{"expression":{"type":"string"}}}]}},"items":{"anyOf":[{"$ref":"#/definitions/triggers/definitions/polling"},{"$ref":"#/definitions/triggers/definitions/cron"},{"$ref":"#/definitions/triggers/definitions/remote"}]}}}}
0 commit comments