[Azure Pipelines] Add wpt.fyi hooks for each individual job/run (#15498)

* [Azure Pipelines] Add wpt.fyi hooks for each individual job/run

* Make job name unique

* No dashes in job names
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index cb204ca..95879fd 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -31,6 +31,10 @@
   - template: tools/ci/azure/affected_tests.yml
     parameters:
       artifactName: 'safari-preview-affected-tests'
+- template: tools/ci/azure/fyi_hook.yml
+  parameters:
+    dependsOn: affected_safari_preview
+    artifactName: safari-preview-affected-tests
 
 - job: affected_without_changes_safari_preview
   displayName: 'affected tests without changes (Safari Technology Preview)'
@@ -43,6 +47,10 @@
       checkoutCommit: 'HEAD^1'
       affectedRange: 'HEAD@{1}'
       artifactName: 'safari-preview-affected-tests-without-changes'
+- template: tools/ci/azure/fyi_hook.yml
+  parameters:
+    dependsOn: affected_without_changes_safari_preview
+    artifactName: safari-preview-affected-tests-without-changes
 
 # The decision jobs runs `./wpt test-jobs` to determine which jobs to run,
 # and all following jobs wait for it to finish and depend on its output.
@@ -184,6 +192,10 @@
     inputs:
       artifactName: 'edge-results'
   - template: tools/ci/azure/cleanup_win10.yml
+- template: tools/ci/azure/fyi_hook.yml
+  parameters:
+    dependsOn: results_edge
+    artifactName: edge-results
 
 # All `./wpt run` tests are run from epochs/* branches on a schedule. See
 # documentation at the top of this file for required setup.
@@ -211,3 +223,7 @@
     displayName: 'Publish results'
     inputs:
       artifactName: 'safari-preview-results'
+- template: tools/ci/azure/fyi_hook.yml
+  parameters:
+    dependsOn: results_safari_preview
+    artifactName: safari-preview-results
diff --git a/tools/ci/azure/fyi_hook.yml b/tools/ci/azure/fyi_hook.yml
new file mode 100644
index 0000000..bcad6c3
--- /dev/null
+++ b/tools/ci/azure/fyi_hook.yml
@@ -0,0 +1,18 @@
+# This job is used to get a run into wpt.fyi and staging.wpt.fyi, by notifying
+# them with the build number and artifact to use.
+
+parameters:
+  dependsOn: ''
+  artifactName: ''
+
+jobs:
+- job: ${{ parameters.dependsOn }}_hook
+  displayName: 'wpt.fyi hook: ${{ parameters.artifactName }}'
+  dependsOn: ${{ parameters.dependsOn }}
+  pool:
+    vmImage: 'ubuntu-16.04'
+  steps:
+  - script: curl -s -S https://wpt.fyi/api/checks/azure/$(Build.BuildId)?artifact=${{ parameters.artifactName }}
+    displayName: 'Invoke wpt.fyi hook'
+  - script: curl -s -S https://staging.wpt.fyi/api/checks/azure/$(Build.BuildId)?artifact=${{ parameters.artifactName }}
+    displayName: 'Invoke staging.wpt.fyi hook'