diff --git a/infra/ci/controller/controller.py b/infra/ci/controller/controller.py
index ef46916..7647fed 100644
--- a/infra/ci/controller/controller.py
+++ b/infra/ci/controller/controller.py
@@ -332,16 +332,16 @@
   if failed_jobs:
     msg += 'FAIL:\n'
     msg += ''.join([
-        ' %s/%s (%s)\n' % (log_url, job_id, status)
+        '- %s/%s (%s)\n' % (log_url, job_id, status)
         for (job_id, status) in failed_jobs.iteritems()
     ])
   if passed_jobs:
     msg += 'PASS:\n'
-    msg += ''.join([' %s/%s\n' % (log_url, job_id) for job_id in passed_jobs])
+    msg += ''.join(['- %s/%s\n' % (log_url, job_id) for job_id in passed_jobs])
   if ui_links:
-    msg += 'Artifacts:\n' + ''.join(' %s\n' % link for link in ui_links)
+    msg += 'Artifacts:\n' + ''.join('- %s\n' % link for link in ui_links)
   msg += 'CI page for this CL:\n'
-  msg += ' https://ci.perfetto.dev/#!/cls/%s\n' % cl_and_ps.split('-')[0]
+  msg += '- https://ci.perfetto.dev/#!/cls/%s\n' % cl_and_ps.split('-')[0]
   body = {'labels': {}, 'message': msg}
   if not cancelled:
     body['labels']['Code-Review'] = cl_vote
