@@ -85,15 +85,19 @@ def parse_route_info(prefix, task_id, routes, task):
85
85
return parsed_route
86
86
87
87
88
- def validate_task (task ):
88
+ def validate_task (task , task_id , run_id ):
89
89
treeherder_metadata = task .get ("extra" , {}).get ("treeherder" )
90
90
if not treeherder_metadata :
91
- logger .debug ("Task metadata is missing Treeherder job configuration." )
91
+ logger .debug (
92
+ f"Task metadata is missing Treeherder job configuration for task { task_id } , run { run_id } "
93
+ )
92
94
return False
93
95
try :
94
96
jsonschema .validate (treeherder_metadata , get_json_schema ("task-treeherder-config.yml" ))
95
97
except (jsonschema .ValidationError , jsonschema .SchemaError ) as e :
96
- logger .error ("JSON Schema validation error during Taskcluser message ingestion: %s" , e )
98
+ logger .error (
99
+ f"JSON Schema validation error during Taskcluser message ingestion for task { task_id } , run { run_id } : { e } "
100
+ )
97
101
return False
98
102
return True
99
103
@@ -168,6 +172,7 @@ async def handle_message(message, task_definition=None):
168
172
async with taskcluster .aio .createSession () as session :
169
173
jobs = []
170
174
task_id = message ["payload" ]["status" ]["taskId" ]
175
+ run_id = message ["payload" ]["runId" ]
171
176
async_queue = taskcluster .aio .Queue ({"rootUrl" : message ["root_url" ]}, session = session )
172
177
task = (await async_queue .task (task_id )) if not task_definition else task_definition
173
178
@@ -183,7 +188,7 @@ async def handle_message(message, task_definition=None):
183
188
logger .debug ("Message received for task %s" , task_id )
184
189
185
190
# Validation failures are common and logged, so do nothing more.
186
- if not validate_task (task ):
191
+ if not validate_task (task , task_id , run_id ):
187
192
return jobs
188
193
189
194
task_type = EXCHANGE_EVENT_MAP .get (message ["exchange" ])
0 commit comments