Bug 1373043 - Make taskcluster backfill use the treeherder /jobs/ endpoint r?garndt
MozReview-Commit-ID: JM4BXjrsNLh
--- a/taskcluster/taskgraph/action.py
+++ b/taskcluster/taskgraph/action.py
@@ -113,17 +113,16 @@ def add_talos(decision_task_id, times=1)
def load_decisions(s, project, resultsets, filters):
"""
Given a project, a list of revisions, and a dict of filters, return
a list of taskIds from decision tasks.
"""
project_url = "{}/project/{}/jobs/".format(TREEHERDER_URL, project)
- decision_url = "{}/jobdetail/".format(TREEHERDER_URL)
decisions = []
decision_ids = []
for resultset in resultsets:
unfiltered = []
offset = 0
jobs_per_call = 250
while True:
@@ -135,16 +134,13 @@ def load_decisions(s, project, resultset
offset += jobs_per_call
filtered = [j for j in unfiltered if all([j[k] == filters[k] for k in filters])]
if filtered and all([j["result"] == "success" for j in filtered]):
logger.info("Push found with all green jobs for this type. Continuing.")
break
decisions += [t for t in unfiltered if t["job_type_name"] == "Gecko Decision Task"]
for decision in decisions:
- params = {"job_guid": decision["job_guid"]}
- details = s.get(url=decision_url, params=params).json()["results"]
- inspect = [detail["url"] for detail in details if detail["value"] == "Inspect Task"][0]
+ job_url = project_url + '{}/'.format(decision["id"])
+ taskcluster_metadata = s.get(url=job_url).json()["taskcluster_metadata"]
+ decision_ids.append(taskcluster_metadata["task_id"])
- # Pull out the taskId from the URL e.g.
- # oN1NErz_Rf2DZJ1hi7YVfA from tools.taskcluster.net/task-inspector/#oN1NErz_Rf2DZJ1hi7YVfA/
- decision_ids.append(inspect.partition('#')[-1].rpartition('/')[0])
return decision_ids