I am trying to write a VSTS Extension which allows me to clone a set of work items including links to a different area path.
To do this I have created an extension that uses the "ms.vss-work-web.work-item-query-results-toolbar-menu" contribution to create a toolbar menu item in the work item query results.
Ideally I would like to know the set of selected work items from the query to perform my clone on, but from what I have read this is not possible. I can live with running the clone on the whole query set, but I have not been able to figure out how to know what query was run from my extension.
How can you access the parent of the extension to know which query was run? I should be fine with running the TFS code to get the query results and perform the clone operation once I have that information.
The documentation for the client APIs is lacking, and the "hello world" examples they always provide do nothing but show the basics of the creation of the toolbar item and not any integration. I have checked through the Core client VSS SDK and could not find any object that contained the parent query.
I am also not able to access the parent URL to get the query from that as the extension runs in an IFRAME and that would be cross site scripting.
I appreciate any help with this.
Well I figured it out. You have to use the actionContext from the callback that gets invoked when your extension is invoked. I haven't found a reference for the actionContext, but by inspecting it in the browser, for the query toolbar menu item you get properties for the query, queryText and workItemIds.
This documentation has an example for the team information:
https://learn.microsoft.com/en-us/azure/devops/extend/develop/web-navigation?view=azure-devops