23 KiB
Horde > Configuration > *.stream.json
*.stream.json
Config for a stream
Name | Description |
---|---|
id |
string Identifier for the stream |
path |
string Direct 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 |
string Name of the stream |
enginePath |
string Path to the engine directory within the workspace. Used for launching UAT. |
clusterName |
string The perforce cluster containing the stream |
order |
integer Order for this stream |
initialAgentType |
string Default initial agent type for templates |
notificationChannel |
string Notification channel for all jobs in this stream |
notificationChannelFilter |
string Notification channel filter for this template. Can be Success, Failure, or Warnings. |
triageChannel |
string Channel to post issue triage notifications |
jobOptions |
JobOptions Default settings for executing jobs |
telemetryStoreId |
string Telemetry 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 |
string Legacy 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 -> string Global 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 |
string Pause stream builds until specified date |
pauseComment |
string Reason 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 |
string Path to the config data to be included. May be relative to the including file's location. |
ConfigMacro
Declares a config macro
Name | Description |
---|---|
name |
string Name of the macro property |
value |
string Value for the macro property |
JobOptions
Options for executing a job
Name | Description |
---|---|
executor |
string Name of the executor to use |
useWine |
boolean Whether to execute using Wine emulation on Linux |
runInSeparateProcess |
boolean Executes the job lease in a separate process |
workspaceMaterializer |
string What workspace materializer to use in WorkspaceExecutor. Will override any value from workspace config. |
container |
JobContainerOptions Options for executing a job inside a container |
expireAfterDays |
integer Number of days after which to expire jobs |
driver |
string Name of the driver to use |
JobContainerOptions
Options for executing a job inside a container
Name | Description |
---|---|
enabled |
boolean Whether to execute job inside a container |
imageUrl |
string Image URL to container, such as "quay.io/podman/hello" |
containerEngineExecutable |
string Container engine executable (docker or with full path like /usr/bin/podman) |
extraArguments |
string Additional arguments to pass to container engine |
DefaultPreflightConfig
Specifies defaults for running a preflight
Name | Description |
---|---|
templateId |
string The template id to query |
change |
ChangeQueryConfig Query for the change to use |
ChangeQueryConfig
Query selecting the base changelist to use
Name | Description |
---|---|
name |
string Name of this query, for display on the dashboard. |
condition |
string Condition to evaluate before deciding to use this query. May query tags in a preflight. |
templateId |
string The template id to query |
target |
string The target to query |
outcomes |
JobStepOutcome[] Whether to match a job that produced warnings |
commitTag |
string Finds 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 |
string Name of the tag |
base |
string Base 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 |
string Title of this page |
type |
string Type of this tab |
style |
TabStyle Presentation style for this page |
showNames |
boolean Whether to show job names on this page |
showPreflights |
boolean Whether 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 |
string Heading for this column |
category |
string Category of aggregates to display in this column. If null, includes any aggregate not matched by another column. |
parameter |
string Parameter to show in this column |
relativeWidth |
integer Relative 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 |
string Base agent config to inherit settings from |
pool |
string Pool of agents to use for this agent type |
workspace |
string Name of the workspace to sync |
tempStorageDir |
string Path to the temporary storage dir |
environment |
string -> string Environment 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 |
string URL to request tokens from |
clientId |
string Client id to use to request a new token |
clientSecret |
string Client secret to request a new access token |
envVar |
string Environment variable to set with the access token |
WorkspaceConfig
Information about a workspace type
Name | Description |
---|---|
base |
string |
cluster |
string Name of the Perforce server cluster to use |
serverAndPort |
string The Perforce server and port (eg. perforce:1666) |
userName |
string User to log into Perforce with (defaults to buildmachine) |
password |
string Password to use to log into the workspace |
identifier |
string Identifier to distinguish this workspace from other workspaces. Defaults to the workspace type name. |
stream |
string Override for the stream to sync |
view |
string[] Custom view for the workspace |
incremental |
boolean Whether to use an incrementally synced workspace |
useAutoSdk |
boolean Whether to use the AutoSDK |
autoSdkView |
string[] View for the AutoSDK paths to sync. If null, the whole thing will be synced. |
method |
string Method to use when syncing/materializing data from Perforce |
minScratchSpace |
integer Minimum disk space that must be available after syncing this workspace (in megabytes) If not available, the job will be aborted. |
conformDiskFreeSpace |
integer Threshold 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 |
string Optional identifier for this ref. If not specified, an id will be generated from the name. |
base |
string Base template id to copy from |
showUgsBadges |
boolean Whether to show badges in UGS for these jobs |
showUgsAlerts |
boolean Whether to show alerts in UGS for these jobs |
notificationChannel |
string Notification channel for this template. Overrides the stream channel if set. |
notificationChannelFilter |
string Notification channel filter for this template. Can be a combination of "Success", "Failure" and "Warnings" separated by pipe characters. |
triageChannel |
string Triage channel for this template. Overrides the stream channel if set. |
workflowId |
string Workflow to user for this stream |
annotations |
string -> string Default 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 |
string Name for the new template |
description |
string Description for the template |
priority |
Priority Default priority for this job |
allowPreflights |
boolean Whether to allow preflights of this template |
updateIssues |
boolean Whether issues should be updated for all jobs using this template |
promoteIssuesByDefault |
boolean Whether issues should be promoted by default for this template, promoted issues will generate user notifications |
initialAgentType |
string Initial agent type to parse the buildgraph script on |
submitNewChange |
string Path to a file within the stream to submit to generate a new changelist for jobs |
submitDescription |
string Description 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 |
boolean Whether the schedule should be enabled |
maxActive |
integer Maximum number of builds that can be active at once |
maxChanges |
integer Maximum 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 |
boolean Whether 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 -> string Parameters for the template |
patterns |
SchedulePatternConfig[] New patterns for the schedule |
ScheduleGateConfig
Gate allowing a schedule to trigger.
Name | Description |
---|---|
templateId |
string The template containing the dependency |
target |
string Target to wait for |
ScheduleClaimConfig
Claim to grant to leases running a scheduled job
Name | Description |
---|---|
type |
string The claim type |
value |
string The 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 |
string Time during the day for the first schedule to trigger. Measured in minutes from midnight. |
maxTime |
string Time during the day for the last schedule to trigger. Measured in minutes from midnight. |
interval |
string Interval between each schedule triggering |
DayOfWeek (Enum)
Name | Description |
---|---|
Sunday |
|
Monday |
|
Tuesday |
|
Wednesday |
|
Thursday |
|
Friday |
|
Saturday |
ChainedJobTemplateConfig
Trigger for another template
Name | Description |
---|---|
trigger |
string Name of the target that needs to complete before starting the other template |
templateId |
string Id of the template to trigger |
useDefaultChangeForTemplate |
boolean Whether 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 |
boolean Whether 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 |
string The claim type |
value |
string The 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 |
string Identifier 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 |
string Identifier for this parameter |
label |
string Name of the parameter associated with this parameter. |
argument |
string Argument to pass to the executor |
default |
string Default value for this argument |
scheduleOverride |
string Override for the default value for this parameter when running a scheduled build |
hint |
string Hint text for this parameter |
validation |
string Regex used to validate this parameter |
validationError |
string Message displayed if validation fails, informing user of valid values. |
toolTip |
string Tool-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 |
string Label 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 |
string Tool 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 |
string Identifier for this parameter |
group |
string Optional group heading to display this entry under, if the picker style supports it. |
text |
string Name of the parameter associated with this list. |
argumentIfEnabled |
string Argument to pass with this parameter. |
argumentsIfEnabled |
string[] Arguments to pass with this parameter. |
argumentIfDisabled |
string Argument to pass with this parameter. |
argumentsIfDisabled |
string[] Arguments to pass if this parameter is disabled. |
default |
boolean Whether this item is selected by default |
scheduleOverride |
boolean Overridden 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 |
string Identifier for this parameter |
label |
string Name of the parameter associated with this parameter. |
argumentIfEnabled |
string Argument to add if this parameter is enabled |
argumentsIfEnabled |
string[] Argument to add if this parameter is enabled |
argumentIfDisabled |
string Argument to add if this parameter is enabled |
argumentsIfDisabled |
string[] Arguments to add if this parameter is disabled |
default |
boolean Whether this argument is enabled by default |
scheduleOverride |
boolean Override for this parameter in scheduled builds |
toolTip |
string Tool tip text to display |
ReplicatorConfig
Configuration for a stream replicator
Name | Description |
---|---|
id |
string Identifier for the replicator within the current stream |
enabled |
boolean Whether the replicator is enabled |
minChange |
integer Minimum change number to replicate |
maxChange |
integer Maximum change number to replicate |
includeContent |
boolean Whether to include content in the replication, or just metadata |
namespaceId |
string Namespace to replicate data to |
WorkflowConfig
Configuration for an issue workflow
Name | Description |
---|---|
id |
string Identifier for this workflow |
reportTimes |
string[] Times of day at which to send a report |
summaryTab |
string Name of the tab to post summary data to |
reportChannel |
string Channel to post summary information for these templates. |
reportWarnings |
boolean Whether to include issues with a warning status in the summary |
groupIssuesByTemplate |
boolean Whether to group issues by template in the report |
triageChannel |
string Channel to post threads for triaging new issues |
triagePrefix |
string Prefix for all triage messages |
triageSuffix |
string Suffix for all triage messages |
triageInstructions |
string Instructions posted to triage threads |
triageAlias |
string User id of a Slack user/alias to ping if there is nobody assigned to an issue by default. |
triageErrors |
boolean Whether to include issues with an error status in the triage |
triageWarnings |
boolean Whether to include issues with a warning status in the triage |
triageTypeAliases |
string -> string Slack user/alias to ping for specific issue types (such as Systemic), if there is nobody assigned to an issue by default. |
escalateAlias |
string Alias 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 |
integer Maximum number of people to mention on a triage thread |
allowMentions |
boolean Whether to mention people on this thread. Useful to disable for testing. |
inviteRestrictedUsers |
boolean Uses the admin.conversations.invite API to invite users to the channel |
skipWhenEmpty |
boolean Skips sending reports when there are no active issues. |
showMergeWarnings |
boolean Whether to show warnings about merging changes into the origin stream. |
annotations |
string -> string Additional 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 |
string Project key in external issue tracker |
defaultComponentId |
string Default component id for issues using workflow |
defaultIssueTypeId |
string Default issue type id for issues using workflow |
ArtifactTypeConfig
Configuration for an artifact
Name | Description |
---|---|
name |
string Legacy 'Name' property |
type |
string Name of the artifact type |
acl |
AclConfig Acl for the artifact type |
keepCount |
integer Number of artifacts to retain |
keepDays |
integer Number of days to retain artifacts of this type |
namespaceId |
string Storage namespace to use for this artifact types |