Bug 1490515: add "on-completed" notify route to try push decision tasks r=tomprince

Buildbot had a feature where a notification email would be sent to
the user who triggered the build jobs once Buildbot had begun
processing the request. Since we have migrated off Buildbot, we
have lost this much-appreciated functionality. Taskcluster
allows us to send emails when a task fails, raises an exception
or completes successfully. We already send notification emails
out for the first two cases, sending an email on completion of
the Gecko decision task would essentially replicate the Buildbot
functionality. This commit adds the "on-completed" notification
route when the repository project alias corresponds to a known
try repo. In that case, we also add data to the
`extra.notification.email` section which creates a link to the
Treeherder view for the scheduled jobs.

Differential Revision: https://phabricator.services.mozilla.com/D6253

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Connor Sheehan 2018-09-24 13:46:55 +00:00
parent 19cc8cf31c
commit f8eb1abca2

View File

@ -77,6 +77,10 @@ tasks:
- "index.gecko.v2.${repository.project}.pushlog-id.${_pushId}.decision"
- "notify.email.${ownerEmail}.on-failed"
- "notify.email.${ownerEmail}.on-exception"
# Send a notification email if the push comes from try
- $if: 'repository.project == "try"'
then:
"notify.email.${ownerEmail}.on-completed"
# These are the old index routes for the decision task.
# They are still here so external tools that referenced them continue to work.
- "index.gecko.v2.${repository.project}.latest.firefox.decision"
@ -229,3 +233,14 @@ tasks:
then:
cron: {$json: {$eval: 'cron'}}
- tasks_for: '${tasks_for}'
# Email format for try pushes
- $if: 'tasks_for == "hg-push" && repository.project == "try"'
then:
notify:
email:
subject: "Thank you for your try submission of ${push.revision}. It's the best!"
content: "Your try push has been submitted. Use the link to view the status of your jobs."
link:
text: "Treeherder Jobs"
href: "https://treeherder.mozilla.org/#/jobs?repo=${repository.project}&revision=${push.revision}"