title: TFS ms.vss-work-web - notifications from "board"
body: <p>I´m currently working on an extension for Team Foundation Server 2017.</p>
  
  <p>What the extension eventually should be able to do is move a work item into a specific state and then call a web service somewhere. </p>
  
  <p>However I ran into a problem, it doesn't seem possible to subscribe to whenever a work item is being moved between the different swim lanes.
  <a href="https://i.stack.imgur.com/QvJaN.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/QvJaN.png" alt="enter image description here"></a></p>
  
  <p>My current manifest file(vss-extension.json) looks like the following:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="true" data-console="false" data-babel="false">
  <div class="snippet-code snippet-currently-hidden">
  <pre class="snippet-code-js lang-js prettyprint-override"><code> {
      "manifestVersion": 1,
      "id": "xxxx-mes-assyst-plugin",
      "version": "0.1.6",
      "name": "xxxx MES Assyst plugin",
      "description": "Connects to MES Teams assyst",
      "publisher": "xxxx-System-A-S",
      "targets": [
          {
              "id": "Microsoft.VisualStudio.Services"
              }
          ],
      "icons": {
          "default": "images/logo.png"
       },
      "contributions": [
      {
          "id": "sample-work-item-form-notifications",
          "type": "ms.vss-work-web.work-item-notifications",
          "description": "Gets events about the current work item form",
          "targets": [
              "ms.vss-work-web.work-item-form"
          ],
          "properties": {
              "uri": "workItemNotifications.html"
          }
      }],
      "scopes": [
          "vso.work",
          "vso.work_write"  
      ],
      "files": [
          {
              "path": "workItemNotifications.html", "addressable": true
          },
          {
              "path": "scripts", "addressable": true
          },
          {
              "path": "images", "addressable": true
          },
          {
              "path": "sdk/scripts", "addressable": true
          }
      ]
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p>My workItemNotifications.html looks like the following:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="true" data-console="false" data-babel="false">
  <div class="snippet-code snippet-currently-hidden">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;!DOCTYPE html&gt;
  &lt;html lang="en"&gt;
  
  &lt;head&gt;
      &lt;meta charset="UTF-8"&gt;
      &lt;title&gt;Work item extension page sample&lt;/title&gt;
  &lt;/head&gt;
  
  &lt;body&gt;
      &lt;script src="sdk/scripts/VSS.SDK.js"&gt;&lt;/script&gt;
  
      &lt;script&gt;
          VSS.init({
              explicitNotifyLoaded: true,
              usePlatformScripts: true
          });
  
          VSS.ready(function () {
              // Register a listener for the work item page contribution.
              VSS.register(VSS.getContribution().id, function (context) {
                  return {
                      // Called when the active work item is modified
                      onFieldChanged: function(args) {
                          console.log("onFieldChanged");
                          console.log("----------- ARGS -----------");
                          console.log(args);
                      },
  
                      // Called when a new work item is being loaded in the UI
                      onLoaded: function (args) {
                          console.log("onLoaded");
                          console.log("----------- ARGS -----------");
                          console.log(args);
                      },
  
                      // Called when the active work item is being unloaded in the UI
                      onUnloaded: function (args) {
                          console.log("onUnloaded");
                          console.log("----------- ARGS -----------");
                          console.log(args);
                      },
  
                      // Called after the work item has been saved
                      onSaved: function (args) {
                         console.log("onSaved");
                         console.log("----------- ARGS -----------");
                         console.log(args);
                      },
  
                      // Called when the work item is reset to its unmodified state (undo)
                      onReset: function (args) {
                          console.log("onReset");
                          console.log("----------- ARGS -----------");
                          console.log(args);
                      },
  
                      // Called when the work item has been refreshed from the server
                      onRefreshed: function (args) {
                         console.log("onRefreshed");
                         console.log("----------- ARGS -----------");
                         console.log(args);
                      }
                  }
              });
  
              VSS.notifyLoadSucceeded();    
          });
       &lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;  </code></pre>
  </div>
  </div>
  </p>
  
  <p>This code works, whenever a work item form is changed, however I want to subscribe to the event of an work item moving/changing status between the lanes.</p>
  
  <p>I tried adding a target like "ms.vss-work-web.backlog-item-notifications" - Which just returned and error, because its not a valid target.</p>
  
  <p>Anybody got an idea how to do that?</p>