23 KiB
Horde > Configuration > *.stream.json
*.stream.json
Config for a stream
| Name | Description |
|---|---|
id |
stringIdentifier for the stream |
path |
stringDirect include path for the stream config. For backwards compatibility with old config files when including from a ProjectConfig object. |
include |
ConfigInclude[]Includes for other configuration files |
macros |
ConfigMacro[]Macros within this stream |
name |
stringName of the stream |
enginePath |
stringPath to the engine directory within the workspace. Used for launching UAT. |
clusterName |
stringThe perforce cluster containing the stream |
order |
integerOrder for this stream |
initialAgentType |
stringDefault initial agent type for templates |
notificationChannel |
stringNotification channel for all jobs in this stream |
notificationChannelFilter |
stringNotification channel filter for this template. Can be Success, Failure, or Warnings. |
triageChannel |
stringChannel to post issue triage notifications |
jobOptions |
JobOptions Default settings for executing jobs |
telemetryStoreId |
stringTelemetry store for Horde data for this stream |
autoSdkView |
string[]View for the AutoSDK paths to sync. If null, the whole thing will be synced. |
defaultPreflightTemplate |
stringLegacy name for the default preflight template |
defaultPreflight |
DefaultPreflightConfig Default template for running preflights |
commitTags |
CommitTagConfig[]List of tags to apply to commits. Allows fast searching and classification of different commit types (eg. code vs content). |
tabs |
TabConfig[]List of tabs to show for the new stream |
environment |
string -> stringGlobal environment variables for all agents in this stream |
agentTypes |
string -> AgentConfigMap of agent name to type |
workspaceTypes |
string -> WorkspaceConfigMap of workspace name to type |
templates |
TemplateRefConfig[]List of templates to create |
acl |
AclConfig Custom permissions for this object |
pausedUntil |
stringPause stream builds until specified date |
pauseComment |
stringReason for pausing builds of the stream |
replicators |
ReplicatorConfig[]Configuration for workers to replicate commit data into Horde Storage. |
workflows |
WorkflowConfig[]Workflows for dealing with new issues |
tokens |
TokenConfig[]Tokens to create for each job step |
artifactTypes |
ArtifactTypeConfig[]Permissions for artifact types |
ConfigInclude
Directive to merge config data from another source
| Name | Description |
|---|---|
path |
stringPath to the config data to be included. May be relative to the including file's location. |
ConfigMacro
Declares a config macro
| Name | Description |
|---|---|
name |
stringName of the macro property |
value |
stringValue for the macro property |
JobOptions
Options for executing a job
| Name | Description |
|---|---|
executor |
stringName of the executor to use |
useWine |
booleanWhether to execute using Wine emulation on Linux |
runInSeparateProcess |
booleanExecutes the job lease in a separate process |
workspaceMaterializer |
stringWhat workspace materializer to use in WorkspaceExecutor. Will override any value from workspace config. |
container |
JobContainerOptions Options for executing a job inside a container |
expireAfterDays |
integerNumber of days after which to expire jobs |
driver |
stringName of the driver to use |
JobContainerOptions
Options for executing a job inside a container
| Name | Description |
|---|---|
enabled |
booleanWhether to execute job inside a container |
imageUrl |
stringImage URL to container, such as "quay.io/podman/hello" |
containerEngineExecutable |
stringContainer engine executable (docker or with full path like /usr/bin/podman) |
extraArguments |
stringAdditional arguments to pass to container engine |
DefaultPreflightConfig
Specifies defaults for running a preflight
| Name | Description |
|---|---|
templateId |
stringThe template id to query |
change |
ChangeQueryConfig Query for the change to use |
ChangeQueryConfig
Query selecting the base changelist to use
| Name | Description |
|---|---|
name |
stringName of this query, for display on the dashboard. |
condition |
stringCondition to evaluate before deciding to use this query. May query tags in a preflight. |
templateId |
stringThe template id to query |
target |
stringThe target to query |
outcomes |
JobStepOutcome[]Whether to match a job that produced warnings |
commitTag |
stringFinds the last commit with this tag |
JobStepOutcome (Enum)
Outcome for a jobstep
| Name | Description |
|---|---|
Unspecified |
Outcome is not known |
Failure |
Step failed |
Warnings |
Step completed with warnings |
Success |
Step succeeded |
CommitTagConfig
Configuration for custom commit filters
| Name | Description |
|---|---|
name |
stringName of the tag |
base |
stringBase tag to copy settings from |
filter |
string[]List of files to be included in this filter |
TabConfig
Information about a page to display in the dashboard for a stream
| Name | Description |
|---|---|
title |
stringTitle of this page |
type |
stringType of this tab |
style |
TabStyle Presentation style for this page |
showNames |
booleanWhether to show job names on this page |
showPreflights |
booleanWhether to show all user preflights |
jobNames |
string[]Names of jobs to include on this page. If there is only one name specified, the name column does not need to be displayed. |
templates |
string[]List of job template names to show on this page. |
columns |
TabColumnConfig[]Columns to display for different types of aggregates |
TabStyle (Enum)
Style for rendering a tab
| Name | Description |
|---|---|
Normal |
Regular job list |
Compact |
Omit job names, show condensed view |
TabColumnConfig
Describes a column to display on the jobs page
| Name | Description |
|---|---|
type |
TabColumnType The type of column |
heading |
stringHeading for this column |
category |
stringCategory of aggregates to display in this column. If null, includes any aggregate not matched by another column. |
parameter |
stringParameter to show in this column |
relativeWidth |
integerRelative width of this column. |
TabColumnType (Enum)
Type of a column in a jobs tab
| Name | Description |
|---|---|
Labels |
Contains labels |
Parameter |
Contains parameters |
AgentConfig
Mapping from a BuildGraph agent type to a set of machines on the farm
| Name | Description |
|---|---|
base |
stringBase agent config to inherit settings from |
pool |
stringPool of agents to use for this agent type |
workspace |
stringName of the workspace to sync |
tempStorageDir |
stringPath to the temporary storage dir |
environment |
string -> stringEnvironment variables to be set when executing the job |
tokens |
TokenConfig[]Tokens to allocate for this agent type |
TokenConfig
Configuration for allocating access tokens for each job
| Name | Description |
|---|---|
url |
stringURL to request tokens from |
clientId |
stringClient id to use to request a new token |
clientSecret |
stringClient secret to request a new access token |
envVar |
stringEnvironment variable to set with the access token |
WorkspaceConfig
Information about a workspace type
| Name | Description |
|---|---|
base |
string |
cluster |
stringName of the Perforce server cluster to use |
serverAndPort |
stringThe Perforce server and port (eg. perforce:1666) |
userName |
stringUser to log into Perforce with (defaults to buildmachine) |
password |
stringPassword to use to log into the workspace |
identifier |
stringIdentifier to distinguish this workspace from other workspaces. Defaults to the workspace type name. |
stream |
stringOverride for the stream to sync |
view |
string[]Custom view for the workspace |
incremental |
booleanWhether to use an incrementally synced workspace |
useAutoSdk |
booleanWhether to use the AutoSDK |
autoSdkView |
string[]View for the AutoSDK paths to sync. If null, the whole thing will be synced. |
method |
stringMethod to use when syncing/materializing data from Perforce |
minScratchSpace |
integerMinimum disk space that must be available after syncing this workspace (in megabytes) If not available, the job will be aborted. |
conformDiskFreeSpace |
integerThreshold for when to trigger an automatic conform of agent. Measured in megabytes free on disk. Set to null or 0 to disable. |
TemplateRefConfig
Parameters to create a template within a stream
| Name | Description |
|---|---|
id |
stringOptional identifier for this ref. If not specified, an id will be generated from the name. |
base |
stringBase template id to copy from |
showUgsBadges |
booleanWhether to show badges in UGS for these jobs |
showUgsAlerts |
booleanWhether to show alerts in UGS for these jobs |
notificationChannel |
stringNotification channel for this template. Overrides the stream channel if set. |
notificationChannelFilter |
stringNotification channel filter for this template. Can be a combination of "Success", "Failure" and "Warnings" separated by pipe characters. |
triageChannel |
stringTriage channel for this template. Overrides the stream channel if set. |
workflowId |
stringWorkflow to user for this stream |
annotations |
string -> stringDefault annotations to apply to nodes in this template |
schedule |
ScheduleConfig Schedule to execute this template |
chainedJobs |
ChainedJobTemplateConfig[]List of chained job triggers |
acl |
AclConfig The ACL for this template |
name |
stringName for the new template |
description |
stringDescription for the template |
priority |
Priority Default priority for this job |
allowPreflights |
booleanWhether to allow preflights of this template |
updateIssues |
booleanWhether issues should be updated for all jobs using this template |
promoteIssuesByDefault |
booleanWhether issues should be promoted by default for this template, promoted issues will generate user notifications |
initialAgentType |
stringInitial agent type to parse the buildgraph script on |
submitNewChange |
stringPath to a file within the stream to submit to generate a new changelist for jobs |
submitDescription |
stringDescription for new changelists |
defaultChange |
ChangeQueryConfig[]Default change to build at. Each object has a condition parameter which can evaluated by the server to determine which change to use. |
arguments |
string[]Fixed arguments for the new job |
parameters |
TemplateTextParameterConfig/TemplateListParameterConfig/TemplateBoolParameterConfig[]Parameters for this template |
jobOptions |
JobOptions Default settings for jobs |
ScheduleConfig
Parameters to create a new schedule
| Name | Description |
|---|---|
enabled |
booleanWhether the schedule should be enabled |
maxActive |
integerMaximum number of builds that can be active at once |
maxChanges |
integerMaximum number of changes the schedule can fall behind head revision. If greater than zero, builds will be triggered for every submitted changelist until the backlog is this size. |
requireSubmittedChange |
booleanWhether the build requires a change to be submitted |
gate |
ScheduleGateConfig Gate allowing the schedule to trigger |
commits |
string[]Commit tags for this schedule |
claims |
ScheduleClaimConfig[]Roles to impersonate for this schedule |
filter |
ChangeContentFlags[]The types of changes to run for |
files |
string[]Files that should cause the job to trigger |
templateParameters |
string -> stringParameters for the template |
patterns |
SchedulePatternConfig[]New patterns for the schedule |
ScheduleGateConfig
Gate allowing a schedule to trigger.
| Name | Description |
|---|---|
templateId |
stringThe template containing the dependency |
target |
stringTarget to wait for |
ScheduleClaimConfig
Claim to grant to leases running a scheduled job
| Name | Description |
|---|---|
type |
stringThe claim type |
value |
stringThe claim value |
ChangeContentFlags (Enum)
Flags identifying content of a changelist
| Name | Description |
|---|---|
ContainsCode |
The change contains code |
ContainsContent |
The change contains content |
SchedulePatternConfig
Parameters to create a new schedule
| Name | Description |
|---|---|
daysOfWeek |
DayOfWeek[]Days of the week to run this schedule on. If null, the schedule will run every day. |
minTime |
stringTime during the day for the first schedule to trigger. Measured in minutes from midnight. |
maxTime |
stringTime during the day for the last schedule to trigger. Measured in minutes from midnight. |
interval |
stringInterval between each schedule triggering |
DayOfWeek (Enum)
| Name | Description |
|---|---|
Sunday |
|
Monday |
|
Tuesday |
|
Wednesday |
|
Thursday |
|
Friday |
|
Saturday |
ChainedJobTemplateConfig
Trigger for another template
| Name | Description |
|---|---|
trigger |
stringName of the target that needs to complete before starting the other template |
templateId |
stringId of the template to trigger |
useDefaultChangeForTemplate |
booleanWhether to use the default change for the template rather than the change for the parent job. |
AclConfig
Parameters to update an ACL
| Name | Description |
|---|---|
entries |
AclEntryConfig[]Entries to replace the existing ACL |
profiles |
AclProfileConfig[]Defines profiles which allow grouping sets of actions into named collections |
inherit |
booleanWhether to inherit permissions from the parent ACL |
exceptions |
string[]List of exceptions to the inherited setting |
AclEntryConfig
Individual entry in an ACL
| Name | Description |
|---|---|
claim |
AclClaimConfig Name of the user or group |
actions |
string[]Array of actions to allow |
profiles |
string[]List of profiles to grant |
AclClaimConfig
New claim to create
| Name | Description |
|---|---|
type |
stringThe claim type |
value |
stringThe claim value |
AclProfileConfig
Configuration for an ACL profile. This defines a preset group of actions which can be given to a user via an ACL entry.
| Name | Description |
|---|---|
id |
stringIdentifier for this profile |
actions |
string[]Actions to include |
excludeActions |
string[]Actions to exclude from the inherited actions |
extends |
string[]Other profiles to extend from |
Priority (Enum)
Priority of a job or step
| Name | Description |
|---|---|
Unspecified |
Not specified |
Lowest |
Lowest priority |
BelowNormal |
Below normal priority |
Normal |
Normal priority |
AboveNormal |
Above normal priority |
High |
High priority |
Highest |
Highest priority |
TemplateTextParameterConfig
Free-form text entry parameter
| Name | Description |
|---|---|
type |
Text Type discriminator |
id |
stringIdentifier for this parameter |
label |
stringName of the parameter associated with this parameter. |
argument |
stringArgument to pass to the executor |
default |
stringDefault value for this argument |
scheduleOverride |
stringOverride for the default value for this parameter when running a scheduled build |
hint |
stringHint text for this parameter |
validation |
stringRegex used to validate this parameter |
validationError |
stringMessage displayed if validation fails, informing user of valid values. |
toolTip |
stringTool-tip text to display |
TemplateListParameterConfig
Allows the user to select a value from a constrained list of choices
| Name | Description |
|---|---|
type |
List Type discriminator |
label |
stringLabel to display next to this parameter. Defaults to the parameter name. |
style |
TemplateListParameterStyle The type of list parameter |
items |
TemplateListParameterItemConfig[]List of values to display in the list |
toolTip |
stringTool tip text to display |
TemplateListParameterStyle (Enum)
Style of list parameter
| Name | Description |
|---|---|
List |
Regular drop-down list. One item is always selected. |
MultiList |
Drop-down list with checkboxes |
TagPicker |
Tag picker from list of options |
TemplateListParameterItemConfig
Possible option for a list parameter
| Name | Description |
|---|---|
id |
stringIdentifier for this parameter |
group |
stringOptional group heading to display this entry under, if the picker style supports it. |
text |
stringName of the parameter associated with this list. |
argumentIfEnabled |
stringArgument to pass with this parameter. |
argumentsIfEnabled |
string[]Arguments to pass with this parameter. |
argumentIfDisabled |
stringArgument to pass with this parameter. |
argumentsIfDisabled |
string[]Arguments to pass if this parameter is disabled. |
default |
booleanWhether this item is selected by default |
scheduleOverride |
booleanOverridden value for this property in schedule builds |
TemplateBoolParameterConfig
Allows the user to toggle an option on or off
| Name | Description |
|---|---|
type |
Bool Type discriminator |
id |
stringIdentifier for this parameter |
label |
stringName of the parameter associated with this parameter. |
argumentIfEnabled |
stringArgument to add if this parameter is enabled |
argumentsIfEnabled |
string[]Argument to add if this parameter is enabled |
argumentIfDisabled |
stringArgument to add if this parameter is enabled |
argumentsIfDisabled |
string[]Arguments to add if this parameter is disabled |
default |
booleanWhether this argument is enabled by default |
scheduleOverride |
booleanOverride for this parameter in scheduled builds |
toolTip |
stringTool tip text to display |
ReplicatorConfig
Configuration for a stream replicator
| Name | Description |
|---|---|
id |
stringIdentifier for the replicator within the current stream |
enabled |
booleanWhether the replicator is enabled |
minChange |
integerMinimum change number to replicate |
maxChange |
integerMaximum change number to replicate |
includeContent |
booleanWhether to include content in the replication, or just metadata |
namespaceId |
stringNamespace to replicate data to |
WorkflowConfig
Configuration for an issue workflow
| Name | Description |
|---|---|
id |
stringIdentifier for this workflow |
reportTimes |
string[]Times of day at which to send a report |
summaryTab |
stringName of the tab to post summary data to |
reportChannel |
stringChannel to post summary information for these templates. |
reportWarnings |
booleanWhether to include issues with a warning status in the summary |
groupIssuesByTemplate |
booleanWhether to group issues by template in the report |
triageChannel |
stringChannel to post threads for triaging new issues |
triagePrefix |
stringPrefix for all triage messages |
triageSuffix |
stringSuffix for all triage messages |
triageInstructions |
stringInstructions posted to triage threads |
triageAlias |
stringUser id of a Slack user/alias to ping if there is nobody assigned to an issue by default. |
triageErrors |
booleanWhether to include issues with an error status in the triage |
triageWarnings |
booleanWhether to include issues with a warning status in the triage |
triageTypeAliases |
string -> stringSlack user/alias to ping for specific issue types (such as Systemic), if there is nobody assigned to an issue by default. |
escalateAlias |
stringAlias to ping if an issue has not been resolved for a certain amount of time |
escalateTimes |
integer[]Times after an issue has been opened to escalate to the alias above, in minutes. Continues to notify on the last interval once reaching the end of the list. |
maxMentions |
integerMaximum number of people to mention on a triage thread |
allowMentions |
booleanWhether to mention people on this thread. Useful to disable for testing. |
inviteRestrictedUsers |
booleanUses the admin.conversations.invite API to invite users to the channel |
skipWhenEmpty |
booleanSkips sending reports when there are no active issues. |
showMergeWarnings |
booleanWhether to show warnings about merging changes into the origin stream. |
annotations |
string -> stringAdditional node annotations implicit in this workflow |
externalIssues |
WorkflowExternalIssuesConfig External issue tracking configuration for this workflow |
issueHandlers |
string[]Additional issue handlers enabled for this workflow |
WorkflowExternalIssuesConfig
External issue tracking configuration for a workflow
| Name | Description |
|---|---|
projectKey |
stringProject key in external issue tracker |
defaultComponentId |
stringDefault component id for issues using workflow |
defaultIssueTypeId |
stringDefault issue type id for issues using workflow |
ArtifactTypeConfig
Configuration for an artifact
| Name | Description |
|---|---|
name |
stringLegacy 'Name' property |
type |
stringName of the artifact type |
acl |
AclConfig Acl for the artifact type |
keepCount |
integerNumber of artifacts to retain |
keepDays |
integerNumber of days to retain artifacts of this type |
namespaceId |
stringStorage namespace to use for this artifact types |