Closed
Description
Tried to validate the manifests of actual tasks in the AzDevOps Services database against tasks.schema.json as posted here. There are several fields that are present in task.json
files of actual tasks but are missing in the schema:
- In the task manifest root:
serverOwned
: booleancontentsUploaded
: booleaniconUrl
: never saw a nonnullhostType
: never saw a nonnulldefinitionType
: string, the only value I've seen was "task"ecosystem
: string, saw "node" and "dotnet"satisfies
: array of stringscontributionIdentifier
: string, but I only saw it in third party taskscontributionVersion
: string, but I only saw it in third party tasks
- Under
category
, enum option "Tool" - Under
execution
, the following options can be found:AgentPlugin
HttpRequest
HttpRequestChain
Delay
ManualValidation
Process
PowerShellExe
ServiceBus
RM:ManualIntervention
Node14
- only in third party tasksNode18
- only in third party tasksNode20
- only in third party tasks
inputs[].properties.resizable
- can be a string with "true" or "false" as opposed to a JSON booleaninputs[].validation
- object with string propertiesexpression
,message
postjobexecution
- sawAgentPlugin
thereversion.isTest
: booleanvisibility
- enum option "Preview"
Also, JSON schemata and JSON in general are case sensitive. There are some instances where the casing of a property doesn't match.
If the schema was meant to be open ended, with nonstandard fields supported seamlessly, then there was no need to put additionalProperties:false
into it.