@@ -124,13 +124,17 @@ def make_branch_status_message(conn, branch_id=None, build_id=None, commit_id=No
124124 filter_column = "commit_id"
125125
126126 cursor = conn .cursor ()
127+ # LEFT JOIN because a branch doesn't have a build until CI reports one
127128 cursor .execute (
128- f"""SELECT id, build_id, commit_id, submission_id, url, status, created, modified,
129+ f"""SELECT branch.id, branch.build_id, branch.commit_id, submission_id,
130+ url, branch.status, branch.created, branch.modified,
129131 version, patch_count,
130132 first_additions, first_deletions,
131- all_additions, all_deletions
133+ all_additions, all_deletions,
134+ build.html_url
132135 FROM branch
133- WHERE { filter_column } = %s""" ,
136+ LEFT JOIN build USING (build_id)
137+ WHERE branch.{ filter_column } = %s""" ,
134138 (branch_id or build_id or commit_id ,),
135139 )
136140 if row := cursor .fetchone ():
@@ -149,6 +153,7 @@ def make_branch_status_message(conn, branch_id=None, build_id=None, commit_id=No
149153 first_deletions ,
150154 all_additions ,
151155 all_deletions ,
156+ build_url ,
152157 ) = row
153158 else :
154159 # for postgres/postgres webhooks, we won't find a branch. the cfapp
@@ -159,6 +164,7 @@ def make_branch_status_message(conn, branch_id=None, build_id=None, commit_id=No
159164 "branch_name" : "cf/%d" % submission_id ,
160165 "branch_id" : branch_id ,
161166 "build_id" : build_id ,
167+ "build_url" : build_url ,
162168 "commit_id" : commit_id ,
163169 "apply_url" : url ,
164170 "status" : status ,
@@ -177,7 +183,7 @@ def make_branch_status_message(conn, branch_id=None, build_id=None, commit_id=No
177183def make_task_status_message (conn , task_id ):
178184 cursor = conn .cursor ()
179185 cursor .execute (
180- """SELECT build_id, build.commit_id, task.task_name, task.position, task.status, task.html_url, build.html_url, task.created, task.modified
186+ """SELECT build_id, build.commit_id, task.task_name, task.position, task.status, task.html_url, task.created, task.modified
181187 FROM task
182188 JOIN build USING (build_id)
183189 WHERE task.task_id = %s""" ,
@@ -190,7 +196,6 @@ def make_task_status_message(conn, task_id):
190196 position ,
191197 status ,
192198 task_url ,
193- build_url ,
194199 created ,
195200 modified ,
196201 ) = cursor .fetchone ()
@@ -202,7 +207,6 @@ def make_task_status_message(conn, task_id):
202207 "position" : position ,
203208 "status" : status ,
204209 "task_url" : task_url ,
205- "build_url" : build_url ,
206210 "created" : created .isoformat (),
207211 "modified" : modified .isoformat (),
208212 }
0 commit comments