Skip to content

Commit edb88fa

Browse files
committed
Add resource-types registry for domainId type segment
Mirrors the provider registry pattern in schemas/registry/providers.json, giving SDKs a governed enum to validate the type segment of domainId URIs against. Signed-off-by: xibz <bjp@apple.com>
1 parent 29b9481 commit edb88fa

1 file changed

Lines changed: 63 additions & 0 deletions

File tree

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://cdevents.dev/0.6.0-draft/schema/links/resource-types",
4+
"description": "Registry of known CDEvents domainId resource type identifiers. Known resource types are listed below. To register a new resource type, submit a pull request adding an entry below and to the Common Resource Types table in links.md.",
5+
"type": "string",
6+
"pattern": "^[a-z][a-z0-9-]*(\\.[a-z][a-z0-9-]*)*$",
7+
"oneOf": [
8+
{
9+
"const": "pr",
10+
"description": "A pull or merge request",
11+
"examples": ["42"]
12+
},
13+
{
14+
"const": "commit",
15+
"description": "A source code commit",
16+
"examples": ["abc123def456"]
17+
},
18+
{
19+
"const": "issue",
20+
"description": "An issue or ticket in a tracking system",
21+
"examples": ["1234"]
22+
},
23+
{
24+
"const": "branch",
25+
"description": "A source code branch",
26+
"examples": ["main", "feature/my-branch"]
27+
},
28+
{
29+
"const": "tag",
30+
"description": "A source code tag or release",
31+
"examples": ["v1.2.3"]
32+
},
33+
{
34+
"const": "definition",
35+
"description": "Abstract parent. MUST NOT be used directly — use a concrete subtype."
36+
},
37+
{
38+
"const": "definition.workflow",
39+
"description": "An automation or pipeline definition — any template that describes a sequence of steps to be executed (e.g. a GitHub Actions workflow file, a CircleCI pipeline config, a Jenkinsfile).",
40+
"examples": [".github%2Fworkflows%2Fci.yml"]
41+
},
42+
{
43+
"const": "execution",
44+
"description": "A top-level run of a pipeline, workflow, or build. Always refers to the top-level execution — stages, jobs, and steps are out of scope.",
45+
"examples": ["789"]
46+
},
47+
{
48+
"const": "artifact",
49+
"description": "A build artifact (binary, container image, package, etc.). The resource id SHOULD be a PURL (https://github.com/package-url/purl-spec), URL-encoded.",
50+
"examples": ["pkg%3Adocker%2Fmyapp%401.0.0"]
51+
},
52+
{
53+
"const": "environment",
54+
"description": "A target deployment environment",
55+
"examples": ["production", "staging"]
56+
},
57+
{
58+
"const": "alert",
59+
"description": "A monitoring or observability alert",
60+
"examples": ["98765"]
61+
}
62+
]
63+
}

0 commit comments

Comments
 (0)