releases/openstack_releases/schema.yaml
Jeremy Stanley b84749b4e2 Support StoryBoard project names in place of IDs
Now that storyboard-webclient no longer displays the project id
number in project URLs by default, it is harder for people to look
them up without referring to the API. Conversely, we could just use
the newer name-based project query support in the API instead. As a
transitional step, support both. Also switch openstack-infra/shade
from id to name to prove that the validate tool change is effective.

Change-Id: I9da97a1af40bb3527c1c7e8a66a267c76b9db564
2018-09-08 20:58:58 +00:00

120 lines
3.0 KiB
YAML

---
$schema: "http://json-schema.org/schema#"
$id: "http://git.openstack.org/cgit/openstack/releases/tree/README.rst"
# Do not allow any properties not defined here. This lets us catch
# typos.
additionalProperties: false
required:
- team
- type
properties:
team:
type: "string"
launchpad:
type: "string"
storyboard:
# TODO(fungi): Previously this was an integer but now we
# want to support strings. This can be changed to "string"
# later if all the data gets updated from numbers to names.
type: ["integer", "string"]
release-notes:
oneOf:
- type: "string"
# We don't include any details about the object form of the
# release notes because the keys are the repository names.
- type: "object"
include-pypi-link:
type: "boolean"
release-model:
type: "string"
enum: ["cycle-with-intermediary", "cycle-with-milestones", "cycle-trailing", "untagged"]
type:
type: "string"
enum: ["horizon-plugin", "library", "client-library", "service", "tempest-plugin", "other"]
artifact-link-mode:
type: "string"
enum: ["tarball", "none"]
repository-settings:
type: "object"
properties:
additionalProperties: False
pypi-name:
type: "string"
flags:
type: "array"
items:
type: "string"
enum: [ "no-artifact-build-job", "retired" ]
tarball-base:
type: "string"
release-type:
type: "string"
enum: [ "python-service", "python-pypi", "xstatic", "fuel",
"nodejs", "puppet", "neutron", "horizon", "openstack-manuals",
"manila-image-elements" ]
stable-branch-type:
type: "string"
enum: [ "std", "tagless", "upstream" ]
cycle-highlights:
type: "array"
items:
type: "string"
releases:
type: "array"
items:
type: "object"
properties:
version:
type: "string"
projects:
type: "array"
items:
type: "object"
required:
- repo
- hash
properties:
repo:
type: "string"
hash:
type: "string"
comment:
type: "string"
tarball-base:
type: "string"
additionalProperties: False
diff-start:
type: "string"
flags:
type: "array"
items:
type: "string"
enum: [ "forced" ]
required: ["version", "projects"]
additionalProperties: False
branches:
type: "array"
items:
type: "object"
properties:
name:
type: "string"
location:
oneOf:
- type: "string"
- type: "object"
required: ["name", "location"]
additionalProperties: False
stable-status:
type: "string"
enum:
- future
- development
- maintained
- extended maintenance
- unmaintained
- end of life