Bug 1373043 - Make taskcluster backfill use the treeherder /jobs/ endpoint r?garndt draft
authorWilliam Lachance <wlachance@mozilla.com>
Wed, 14 Jun 2017 16:55:43 -0400
changeset 594304 e272bce4d37caff3d85ceacdad9747c4b6466d03
parent 590317 a49112c7a5765802096b3fc298069b9495436107
child 633390 b6520c80815e4880edbaf6c0f627853ca91654e0
push id63992
push userwlachance@mozilla.com
push dateWed, 14 Jun 2017 21:51:33 +0000
reviewersgarndt
bugs1373043
milestone55.0a1
Bug 1373043 - Make taskcluster backfill use the treeherder /jobs/ endpoint r?garndt MozReview-Commit-ID: JM4BXjrsNLh
taskcluster/taskgraph/action.py
--- 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