Task Schema


Schema for task.extra.treeherder

The following is the JSON schema for the contents of task.extra.treeherder:

Treeherder Configuration (source)

Definition of the Treeherder configuration data that can be contained within a task definition under task.extra.treeherder. This information is useful for determining job properties to report to Treeherder.

reasonstring[1:125]

Examples include:

  • scheduled
  • scheduler
  • Self-serve: Rebuilt by foo@example.com
  • Self-serve: Requested by foo@example.com
  • The Nightly scheduler named 'b2g_mozilla-inbound periodic' triggered this build
  • unknown
tierinteger[1:3]

Tiers are used for classifying jobs according to the Sheriffing policy. These jobs can be hidden based on exclusion profiles within Treeherder and display of these jobs toggled by UI settings.

By default jobs which do not specify a tier will be classified as Tier 1.

jobKindstring
default: other
  • build
  • test
  • other

jobKind specifies the type of task that should be reported to Treeherder. The jobKind could cause Treeherder to display/treat the task differently. For instance, tasks with a jobKind of 'build' will be reported as red when the task fails, 'test' as orange, and any jobs not specifying jobKind or 'other' will be red.

machineObject of
platformstring[1:50]^[A-Za-z0-9_-]+$

The platform specified here maps to platforms that Treeherder recognizes. Jobs with the same platform will be displayed within the same row on Treeherder and obey any ordering that is defined'.

If no build platform is specified, the workerType specified for the job will be used.

osstring[1:25]^[A-Za-z0-9_-]+$
architecturestring[1:25]^[A-Za-z0-9_-]+$
labelsArray of

Labels are a dimension of a platform. The values here can vary wildly, so most strings are valid for this. The list of labels that are used is malleable going forward.

These were formerly known as "Collection" calling labels now so they can be understood to be just strings that denotes a characteristic of the job.

These labels will be used for grouping jobs with a particular job platform. For instance, a job with the label "debug" will be put into the debug platform on Treeherder. By default, if no label is specified, the job will be classified as "opt"

Some examples of labels that have been used: opt Optimize Compiler GCC optimize flags debug Debug flags passed in pgo Profile Guided Optimization - Like opt, but runs with profiling, then builds again using that profiling asan Address Sanitizer tsan Thread Sanitizer Build

string[1:50]^[A-Za-z0-9_-]+$
jobSymbolstring[0:25]

Job Symbol is the symbol that will appear in a Treeherder resultset for a given push. This symbol could be something such as "B" or a number representing the current chunk.

groupNamestring[1:100]
groupSymbolstring[1:25]

Group Symbol is the symbol that job symbols will be grouped under. This is useful if there is a particular group of jobs that should be displayed together. For example, a test suite named "Media Tests" with the group symbol of "ME" would have all jobs with that group symbol appear as ME(symbol 1, symbol 2, ...).

productNamestring[1:125]

Examples include:

  • 'b2g'
  • 'firefox'
  • 'taskcluster'
  • 'xulrunner'
Additional properties are permitted