[Horde](../../../README.md) > [Configuration](../../Config.md) > *.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](#configinclude)`[]`
Includes for other configuration files `macros` | [ConfigMacro](#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](#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](#defaultpreflightconfig)
Default template for running preflights `commitTags` | [CommitTagConfig](#committagconfig)`[]`
List of tags to apply to commits. Allows fast searching and classification of different commit types (eg. code vs content). `tabs` | [TabConfig](#tabconfig)`[]`
List of tabs to show for the new stream `environment` | `string` `->` `string`
Global environment variables for all agents in this stream `agentTypes` | `string` `->` [AgentConfig](#agentconfig)
Map of agent name to type `workspaceTypes` | `string` `->` [WorkspaceConfig](#workspaceconfig)
Map of workspace name to type `templates` | [TemplateRefConfig](#templaterefconfig)`[]`
List of templates to create `acl` | [AclConfig](#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](#replicatorconfig)`[]`
Configuration for workers to replicate commit data into Horde Storage. `workflows` | [WorkflowConfig](#workflowconfig)`[]`
Workflows for dealing with new issues `tokens` | [TokenConfig](#tokenconfig)`[]`
Tokens to create for each job step `artifactTypes` | [ArtifactTypeConfig](#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](#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](#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](#jobstepoutcome-enum)`[]`
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](#tabstyle-enum)
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](#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](#tabcolumntype-enum)
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](#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](#scheduleconfig)
Schedule to execute this template `chainedJobs` | [ChainedJobTemplateConfig](#chainedjobtemplateconfig)`[]`
List of chained job triggers `acl` | [AclConfig](#aclconfig)
The ACL for this template `name` | `string`
Name for the new template `description` | `string`
Description for the template `priority` | [Priority](#priority-enum)
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](#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](#templatetextparameterconfig)/[TemplateListParameterConfig](#templatelistparameterconfig)/[TemplateBoolParameterConfig](#templateboolparameterconfig)`[]`
Parameters for this template `jobOptions` | [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](#schedulegateconfig)
Gate allowing the schedule to trigger `commits` | `string[]`
Commit tags for this schedule `claims` | [ScheduleClaimConfig](#scheduleclaimconfig)`[]`
Roles to impersonate for this schedule `filter` | [ChangeContentFlags](#changecontentflags-enum)`[]`
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](#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](#dayofweek-enum)`[]`
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](#aclentryconfig)`[]`
Entries to replace the existing ACL `profiles` | [AclProfileConfig](#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](#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](#templatelistparameterstyle-enum)
The type of list parameter `items` | [TemplateListParameterItemConfig](#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](#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](#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