@@ -2748,7 +2748,7 @@ Properties
2748
2748
IsOutputSchema = 'false'
2749
2749
SourceURL = ''
2750
2750
Property 'task' =
2751
- Ref = 'http://schemas.taskcluster.net/queue /v1/create- task-request .json#'
2751
+ Ref = 'http://schemas.taskcluster.net/hooks /v1/task-template .json#'
2752
2752
TypeName = 'task'
2753
2753
IsInputSchema = 'false'
2754
2754
IsOutputSchema = 'false'
@@ -2886,6 +2886,271 @@ IsOutputSchema = 'false'
2886
2886
SourceURL = 'http://schemas.taskcluster.net/hooks/v1/schedule.json#'
2887
2887
2888
2888
2889
+ http://schemas.taskcluster.net/hooks/v1/task-template.json#
2890
+ ===========================================================
2891
+ Additional Properties = 'false'
2892
+ Description = 'Definition of a task embedded in a hook
2893
+ '
2894
+ ID = 'http://schemas.taskcluster.net/hooks/v1/task-template.json#'
2895
+ Properties
2896
+ Property 'extra' =
2897
+ Default = 'map[]'
2898
+ Description = 'Object with properties that can hold any kind of extra data that should be
2899
+ associated with the task. This can be data for the task which doesn't
2900
+ fit into `payload`, or it can supplementary data for use in services
2901
+ listening for events from this task. For example this could be details to
2902
+ display on _treeherder_, or information for indexing the task. Please, try
2903
+ to put all related information under one property, so `extra` data keys
2904
+ for treeherder reporting and task indexing don't conflict, hence, we have
2905
+ reusable services. **Warning**, do not stuff large data-sets in here,
2906
+ task definitions should not take-up multiple MiBs.
2907
+ '
2908
+ Title = 'Extra Data'
2909
+ Type = 'object'
2910
+ TypeName = 'extra'
2911
+ IsInputSchema = 'false'
2912
+ IsOutputSchema = 'false'
2913
+ SourceURL = ''
2914
+ Property 'metadata' =
2915
+ Additional Properties = 'false'
2916
+ Description = 'Required task metadata
2917
+ '
2918
+ Properties
2919
+ Property 'description' =
2920
+ Description = 'Human readable description of the task, please **explain** what the
2921
+ task does. A few lines of documentation is not going to hurt you.
2922
+ '
2923
+ MaxLength = '32768'
2924
+ Title = 'Description'
2925
+ Type = 'string'
2926
+ TypeName = 'description'
2927
+ IsInputSchema = 'false'
2928
+ IsOutputSchema = 'false'
2929
+ SourceURL = ''
2930
+ Property 'name' =
2931
+ Description = 'Human readable name of task, used to very briefly given an idea about
2932
+ what the task does.
2933
+ '
2934
+ MaxLength = '255'
2935
+ Title = 'Name'
2936
+ Type = 'string'
2937
+ TypeName = 'name'
2938
+ IsInputSchema = 'false'
2939
+ IsOutputSchema = 'false'
2940
+ SourceURL = ''
2941
+ Property 'owner' =
2942
+ Description = 'E-mail of person who caused this task, e.g. the person who did
2943
+ `hg push`. The person we should contact to ask why this task is here.
2944
+ '
2945
+ Format = 'email'
2946
+ MaxLength = '255'
2947
+ Title = 'Owner'
2948
+ Type = 'string'
2949
+ TypeName = 'owner'
2950
+ IsInputSchema = 'false'
2951
+ IsOutputSchema = 'false'
2952
+ SourceURL = ''
2953
+ Property 'source' =
2954
+ Description = 'Link to source of this task, should specify a file, revision and
2955
+ repository. This should be place someone can go an do a git/hg blame
2956
+ to who came up with recipe for this task.
2957
+ '
2958
+ Format = 'uri'
2959
+ MaxLength = '4096'
2960
+ Title = 'Source'
2961
+ Type = 'string'
2962
+ TypeName = 'source'
2963
+ IsInputSchema = 'false'
2964
+ IsOutputSchema = 'false'
2965
+ SourceURL = ''
2966
+ Required = '[name description owner source]'
2967
+ Title = 'Meta-data'
2968
+ Type = 'object'
2969
+ TypeName = 'metadata'
2970
+ IsInputSchema = 'false'
2971
+ IsOutputSchema = 'false'
2972
+ SourceURL = ''
2973
+ Property 'payload' =
2974
+ Description = 'Task-specific payload following worker-specific format. For example the
2975
+ `docker-worker` requires keys like: `image`, `commands` and
2976
+ `features`. Refer to the documentation of `docker-worker` for details.
2977
+ '
2978
+ Title = 'Task Payload'
2979
+ Type = 'object'
2980
+ TypeName = 'payload'
2981
+ IsInputSchema = 'false'
2982
+ IsOutputSchema = 'false'
2983
+ SourceURL = ''
2984
+ Property 'priority' =
2985
+ Default = 'normal'
2986
+ Description = 'Priority of task, this defaults to `normal`. Additional levels may be
2987
+ added later.
2988
+ **Task submitter required scopes** `queue:task-priority:high` for high
2989
+ priority tasks.
2990
+ '
2991
+ Enum = '[high normal]'
2992
+ Title = 'Task Priority'
2993
+ Type = 'string'
2994
+ TypeName = 'priority'
2995
+ IsInputSchema = 'false'
2996
+ IsOutputSchema = 'false'
2997
+ SourceURL = ''
2998
+ Property 'provisionerId' =
2999
+ Description = 'Unique identifier for a provisioner, that can supply specified
3000
+ `workerType`
3001
+ '
3002
+ MaxLength = '22'
3003
+ MinLength = '1'
3004
+ Pattern = '^([a-zA-Z0-9-_]*)$'
3005
+ Title = 'Provisioner Id'
3006
+ Type = 'string'
3007
+ TypeName = 'provisionerId'
3008
+ IsInputSchema = 'false'
3009
+ IsOutputSchema = 'false'
3010
+ SourceURL = ''
3011
+ Property 'retries' =
3012
+ Default = '5'
3013
+ Description = 'Number of times to retry the task in case of infrastructure issues.
3014
+ An _infrastructure issue_ is a worker node that crashes or is shutdown,
3015
+ these events are to be expected.
3016
+ '
3017
+ Maximum = '49'
3018
+ Minimum = '0'
3019
+ Title = 'Retries'
3020
+ Type = 'integer'
3021
+ TypeName = 'retries'
3022
+ IsInputSchema = 'false'
3023
+ IsOutputSchema = 'false'
3024
+ SourceURL = ''
3025
+ Property 'routes' =
3026
+ Default = '[]'
3027
+ Description = 'List of task specific routes, AMQP messages will be CC'ed to these routes.
3028
+ **Task submitter required scopes** `queue:route:<route>` for
3029
+ each route given.
3030
+ '
3031
+ Items
3032
+ Description = 'A task specific route, AMQP messages will be CC'ed with a routing key
3033
+ matching `route.<task-specific route>`. It's possible to dot (`.`) in
3034
+ the task specific route to make sub-keys, etc. See the RabbitMQ
3035
+ [tutorial](http://www.rabbitmq.com/tutorials/tutorial-five-python.html)
3036
+ for examples on how to use routing-keys.
3037
+ '
3038
+ MaxLength = '249'
3039
+ MinLength = '1'
3040
+ Title = 'Task Specific Route'
3041
+ Type = 'string'
3042
+ TypeName = 'routes'
3043
+ IsInputSchema = 'false'
3044
+ IsOutputSchema = 'false'
3045
+ SourceURL = ''
3046
+ Title = 'Task Specific Routes'
3047
+ Type = 'array'
3048
+ TypeName = 'routes'
3049
+ IsInputSchema = 'false'
3050
+ IsOutputSchema = 'false'
3051
+ SourceURL = ''
3052
+ Property 'schedulerId' =
3053
+ Default = '-'
3054
+ Description = 'Identifier for the scheduler that _defined_ this task, this can be an
3055
+ identifier for a user or a service like the `"task-graph-scheduler"`.
3056
+ **Task submitter required scopes**
3057
+ `queue:assume:scheduler-id:<schedulerId>/<taskGroupId>`.
3058
+ This scope is also necessary to _schedule_ a defined task, or _rerun_ a
3059
+ task.
3060
+ '
3061
+ MaxLength = '22'
3062
+ MinLength = '1'
3063
+ Pattern = '^([a-zA-Z0-9-_]*)$'
3064
+ Title = 'Scheduler Identifier'
3065
+ Type = 'string'
3066
+ TypeName = 'schedulerId'
3067
+ IsInputSchema = 'false'
3068
+ IsOutputSchema = 'false'
3069
+ SourceURL = ''
3070
+ Property 'scopes' =
3071
+ Default = '[]'
3072
+ Description = 'List of scopes (or scope-patterns) that the task is
3073
+ authorized to use.
3074
+ '
3075
+ Items
3076
+ Description = 'A scope (or scope-patterns) which the task is
3077
+ authorized to use. This can be a string or a string
3078
+ ending with `*` which will authorize all scopes for
3079
+ which the string is a prefix. Scopes must be composed of
3080
+ printable ASCII characters and spaces.
3081
+ **Task submitter required scopes** The same scope-pattern(s) given
3082
+ (otherwise a task could be submitted to perform an action that the
3083
+ task submitter is not authorized to perform).
3084
+ '
3085
+ Pattern = '^[\x20-\x7e]*$'
3086
+ Title = 'Scope'
3087
+ Type = 'string'
3088
+ TypeName = 'scopes'
3089
+ IsInputSchema = 'false'
3090
+ IsOutputSchema = 'false'
3091
+ SourceURL = ''
3092
+ Title = 'Scopes'
3093
+ Type = 'array'
3094
+ TypeName = 'scopes'
3095
+ IsInputSchema = 'false'
3096
+ IsOutputSchema = 'false'
3097
+ SourceURL = ''
3098
+ Property 'tags' =
3099
+ Additional Properties = 'MaxLength = '4096'
3100
+ Type = 'string'
3101
+ TypeName = ''
3102
+ IsInputSchema = 'false'
3103
+ IsOutputSchema = 'false'
3104
+ SourceURL = ''
3105
+ '
3106
+ Default = 'map[]'
3107
+ Description = 'Arbitrary key-value tags (only strings limited to 4k). These can be used
3108
+ to attach informal meta-data to a task. Use this for informal tags that
3109
+ tasks can be classified by. You can also think of strings here as
3110
+ candidates for formal meta-data. Something like
3111
+ `purpose: 'build' || 'test'` is a good example.
3112
+ '
3113
+ Title = 'Tags'
3114
+ Type = 'object'
3115
+ TypeName = 'tags'
3116
+ IsInputSchema = 'false'
3117
+ IsOutputSchema = 'false'
3118
+ SourceURL = ''
3119
+ Property 'taskGroupId' =
3120
+ Description = 'Identifier for a group of tasks scheduled together with this task, by
3121
+ scheduler identified by `schedulerId`. For tasks scheduled by the
3122
+ task-graph scheduler, this is the `taskGraphId`. Defaults to `taskId` if
3123
+ property isn't specified.
3124
+ '
3125
+ Pattern = '^[A-Za-z0-9_-]{8}[Q-T][A-Za-z0-9_-][CGKOSWaeimquy26-][A-Za-z0-9_-]{10}[AQgw]$'
3126
+ Title = 'Task-Group Identifier'
3127
+ Type = 'string'
3128
+ TypeName = 'taskGroupId'
3129
+ IsInputSchema = 'false'
3130
+ IsOutputSchema = 'false'
3131
+ SourceURL = ''
3132
+ Property 'workerType' =
3133
+ Description = 'Unique identifier for a worker-type within a specific provisioner
3134
+ '
3135
+ MaxLength = '22'
3136
+ MinLength = '1'
3137
+ Pattern = '^([a-zA-Z0-9-_]*)$'
3138
+ Title = 'Worker Type'
3139
+ Type = 'string'
3140
+ TypeName = 'workerType'
3141
+ IsInputSchema = 'false'
3142
+ IsOutputSchema = 'false'
3143
+ SourceURL = ''
3144
+ Required = '[provisionerId workerType payload metadata]'
3145
+ Schema = 'http://json-schema.org/draft-04/schema#'
3146
+ Title = 'Task Template'
3147
+ Type = 'object'
3148
+ TypeName = 'TaskTemplate'
3149
+ IsInputSchema = 'false'
3150
+ IsOutputSchema = 'false'
3151
+ SourceURL = 'http://schemas.taskcluster.net/hooks/v1/task-template.json#'
3152
+
3153
+
2889
3154
http://schemas.taskcluster.net/queue/v1/create-task-request.json#
2890
3155
=================================================================
2891
3156
Additional Properties = 'false'
0 commit comments