Unreal SubmitTool and Horde Preflight tests

Hey Jerek, here’s an example config for preflight support in submit tool, you need a tag that has an InputSubtype=“Preflight”, specifying Horde urls and preflight template definitions and provide the path and args to the OIDCToken in order to allow communication with Horde

`[Tags.Preflight]
TagId=“#preflight
TagLabel=“Preflight”
InputType=“FreeText”
InputSubType=“Preflight”
AllowedSpecialCharacters=“-:/.”
OrdinalOverride=1
MinValues=1
MaxValues=5
Validation=(
bIsMandatory=“false”,\ ; by default, tag is not mandatory
RegexValidation=“^((https://)?[\w.]+/job/)?[0-9a-f]{24}$|^skip$|^none$”,
RegexErrorMessage=“Preflight tag valid values are the full preflight URL (https://…/job/{jobid}), just the job id (24 hexadecimal characters), ‘skip’ or ‘none’”
)
ValidationOverrides=(\ ; this is optional
(
RegexPath=“Regex”,\ ; if at least one file matches the regex use this validation instead (make it mandatory)
ConfigOverride=(
bIsMandatory=“true”,
RegexValidation=“^((https://)?[\w.]+/job/)?[0-9a-f]{24}$|^skip$|^none$”,
RegexErrorMessage=“Preflight tag valid values are the full preflight URL (https://…/job/{jobid}), just the job id (24 hexadecimal characters), ‘skip’ or ‘none’”
)
)
)

[SubmitTool.Horde]
HordeServerAddress=“BASE URL PATH” ; base url to your horde server
StartPreflightURLFormat=“{URL}preflight?stream={Stream}&change={CLID}&templateId={Template}&version=2{AdditionalTasks}”
FindSinglePreflightURLFormat=“{URL}api/v1/jobs/{PreflightId}”
FindPreflightURLFormat=“{URL}api/v1/jobs?includePreflight=true&preflightOnly=true&preflightChange={CLID}”
DefaultPreflightTemplate=“PF template name” ; template to use when starting a preflight that doesn’t match any of the Definitions below
Definitions=(\ ; this is a list of preflights templates that can be suggested according to the file contents of the CL, the list returns the first match, reverting back to the DefaultPreflightTemplate, complex logic of AND/OR are not supported outside of Regex testing atm
(
RegexPath=“Regex
Template=“code PF template name
)
)

[SubmitTool.OAuthToken]
OAuthTokenTool=“$(root)/Engine/Binaries/DotNET/OidcToken/win-x64/OidcToken.exe” ; this is windows-only if you need Linux/Mac support you’ll need to override this property in LinuxSubmitTool.ini and MacSubmitTool.ini
OAuthArgs=“–Mode GetToken --Service Service Name* --ResultToConsole true”`