Skip to content

Commit 0063038

Browse files
authored
Add support for top level keys groups and display_config (#9)
1 parent df4e355 commit 0063038

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## [Unreleased]
44
### Added
5+
- Add support for top level keys `groups` and `display_config
56

67
### Changed
78

src/main/resources/schema/pipeline.json

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
"title": "Concourse CI Pipeline",
44
"type": "object",
55
"properties": {
6+
"display": {
7+
"$ref": "#/definitions/display_config"
8+
},
69
"resource_types": {
710
"title": "Concourse CI pipeline resource types",
811
"description": "Each resource in a pipeline has a type. The resource's type determines what versions are detected, the bits that are fetched when the resource's get step runs, and the side effect that occurs when the resource's put step runs.\n\nConcourse comes with a few \"core\" resource types to cover common use cases like git and s3 - the rest are developed and supported by the Concourse community. An exhaustive list of all resource types is available in the Resource Types catalog.",
@@ -19,6 +22,14 @@
1922
"$ref": "#/definitions/resource"
2023
}
2124
},
25+
"groups": {
26+
"title": "A list of job groups to use for organizing jobs in the web UI.",
27+
"description": "Groups have no functional effect on your pipeline. They are purely for making it easier to grok large pipelines in the web UI.\n\nNote: once you have added groups to your pipeline, all jobs must be in a group.",
28+
"type": "array",
29+
"items": {
30+
"$ref": "#/definitions/group_config"
31+
}
32+
},
2233
"jobs": {
2334
"title": "Concourse CI pipeline jobs",
2435
"description": "Jobs determine the actions of your pipeline. They determine how resources progress through it, and how the pipeline is visualized.\n\nThe most important attribute of a job is its build plan, configured as job.plan. This determines the sequence of Steps to execute in any builds of the job.",
@@ -29,6 +40,33 @@
2940
}
3041
},
3142
"definitions": {
43+
"display_config": {
44+
"title": "Visual configurations for personalizing your pipeline.",
45+
"type": "object",
46+
"properties": {
47+
"background_image": {
48+
"description": "Allow users to specify a custom background image which is put at 30% opacity, grayscaled and blended into existing background. Must be an http, https, or relative URL.",
49+
"type": "string"
50+
}
51+
}
52+
},
53+
"group_config": {
54+
"properties": {
55+
"name": {
56+
"title": "A unique name for the group.",
57+
"description": "This should be short and simple as it will be used as the tab name for navigation.",
58+
"$ref": "#/definitions/identifier"
59+
},
60+
"jobs": {
61+
"title": "A list of jobs that should appear in this group",
62+
"description": "A job may appear in multiple groups. Neighbours of jobs in the current group will also appear on the same page in order to give context of the location of the group in the pipeline.",
63+
"type": "array",
64+
"items": {
65+
"$ref": "#/definitions/identifier"
66+
}
67+
}
68+
}
69+
},
3270
"job": {
3371
"type": "object",
3472
"required": [

0 commit comments

Comments
 (0)