Skip to content

tasks.schema.json is incomplete #1041

Closed
@sevaa

Description

@sevaa

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: boolean
    • contentsUploaded: boolean
    • iconUrl: never saw a nonnull
    • hostType: never saw a nonnull
    • definitionType: string, the only value I've seen was "task"
    • ecosystem: string, saw "node" and "dotnet"
    • satisfies: array of strings
    • contributionIdentifier: string, but I only saw it in third party tasks
    • contributionVersion: 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 tasks
    • Node18 - only in third party tasks
    • Node20 - only in third party tasks
  • inputs[].properties.resizable - can be a string with "true" or "false" as opposed to a JSON boolean
  • inputs[].validation - object with string properties expression, message
  • postjobexecution - saw AgentPlugin there
  • version.isTest: boolean
  • visibility - 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions