Azure DevOps Query Dependencies - azure-devops

Using Azure DevOps Dependency Tracking plugin from Microsoft AppStore...
Story 1
I am looking for technical design details that tell me how Dependency data is written to the ADO database so that I may query those fields and relationships directly.
Story 2
As a Product Portfolio Manager, I want to create a Query to create a list of Dependencies across my entire Product portfolio so that I can drive dependency management across product teams within my portfolio.
Assumptions
I'm assuming that the plugin
a) extends existing Entities and relationships within ADO
b) creates a unique Dependency Entity within ADO.
c) Dependency data can be accessed through Odata (PowerBI, Excel ADO Add-in)

I am looking for technical design details that tell me how Dependency data is written to the ADO database so that I may query those fields and relationships directly.
Maybe you can try fiddler or other Web Debugging Proxy Tool to check the requests Dependency Tracking plugin sent to get dependencies.
Here are the detailed steps to use fiddler:
Launch your fiddler and choose “Tools” -> “Clean WinINET cache”, then go to “Tools” menu -> “Options” -> HTTPS tab -> enable “Decrypt HTTPS Traffic” ->select “…from all processes” in the dropdown list, then close the fiddler.
Launch and minimize Fiddler to tray, then send your query.
Check the requests to find out which ones you need.
Also, you can look for clues in the API references:
REST API browser for Azure DevOps.
.NET API browser for Azure DevOps.

Related

How to upgrade a Team project to use the Inheritance model

We are using Azure Devops Server 2020 and have a project using the XML process model. The project belongs to an old collection which do not support the Inheritance model. When reading the article below I get the feeling it's possible to upgrade to use the Inheritance model. But my options in the administration UI are not the same as in the article. I guess it's because the collection itself does not support the inheritance model. Therefore I have created a new collection which supports the Inheritance model and wonder if there is a way to move my project to the new collection? Or is there any other way to upgrade my project to use the Inheritance model? The UI for the new collection does by the way look like the UI in the article.
https://learn.microsoft.com/en-us/azure/devops/organizations/settings/work/upgrade-hosted-to-inherited?view=azure-devops
I am afraid that this feature: Clone a Hosted XML process to an Inheritance process cannot be implemented in azure devops server.
According to the doc, this feature only exists in the Azure Devops Service. When you select azure devops server 2020 in the drop-down box in the upper left corner, you can directly see that it is not supported.
Here is a suggestion ticket about this feature. Our product group has decided not to implement this feature on azure devops server.
For those customers who wish to go to Inherited, you have the
following choices.
Move to the Azure DevOps Service
Create a new inherited collection and continue your project work
within that collection
On the other hand, you cannot directly move the team project to Inheritance Process Collection.
Azure Devops also does not support the movement of team projects between collections.
Here is a suggestion ticket about this feature: make it possible to move a Team Project between Team Project Collections
So if you want to create a new inherited collection and continue your project work within that collection, you could try to use the third party tools to migrate content of the project to new collection. For example:
Migration Tools for Azure DevOps
WIMigrator
This can get complicated. But you could refer to this ticket:
Currently there is no way to convert from XML to inherited on Azure DevOps Server (on-prem). Or next step is going to be able to allow mixed mode collections. Then figure out the right migration path from XML to Inherited. We are expecting to have mixed mode available some time on the Azure DevOps Server 2020 release. Probably update 1 or 2.
It seems that the mixed mode process can meet your needs. But this function has not yet been implemented,you may still need to wait for the implementation of this feature.

Organizing Microsoft Azure DevOps Projects

I have a question about Microsoft DevOps (formerly Visual Studio Team Services or VSTS). I have multiple applications that are set up as separate projects, but we have basically one team of devs. Some of the older projects are TFS based some are git.
Ideally I would like to create a board based on the team and 'attach' projects to the board. Or something that ends up being roughly the equivalent of this.
I can't seem to find anything close to this. Does anyone have any ideas? Or any suggestions?
Thanks for your help!
As I mentioned in my comment you can use the AzureDevOps Rest API.
Representational State Transfer (REST) APIs are service endpoints that
support sets of HTTP operations (methods), which provide create,
retrieve, update, or delete access to the service's resources
Most REST APIs are accessible through our client
libraries,
which can be used to greatly simplify your client code.
Once you created your own board, you can fill up the details using the REST API response.

apply WebServices into VSTS on modified field

I have a question regarding VSTS,
Let's assume that I have a requirement which says when a user modifies a field in WorkItem then automatically should update an other field in external database.
I do not have experience at all with VSTS and is not clear to me yet how I can do this.
Already I created webservices in order to write to the field in the external database and then the big question is how to call this webservices each time that a field is modified.
Does someone have a suggestion or an example?
The simple way is using VSTS web hook:
Go to service hooks page (https://[account].visualstudio.com/[team project]/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project)
Click + > Select Web Hooks > Select Work Item updated event > Specify Field and other filters > Next
Specify your web services URL and other settings (the web services need to be accessible from internet)
After that, when the specified work item updated and meet other filters (specified in web hook), it will send the request to target service with json data.
Well, first you are talking about VSTS (Cloud) not TFS (On-premises), the only option to create extension which listen to work-item update once it happen, it will call your web service
I created series of videos on how to develop VSTS extension, how to publish it and you can see it as a starting point.
http://mohamedradwan.com/2017/12/29/develop-vsts-extension-and-configure-ci-continuous-integration-and-cd-continuous-delivery-pipeline/

How to move team services backlog work items to another tenant

I would like to move the backlog items and any related linked items to another tenant, any ideas?
There's nothing built in that does this.
You'll either have to write your own solution or look into one of the various migration or integration tools that are available on the market. None of them provide full fidelity migration, however.
As Daniel said that there isn’t built-in tool.
You can build an application with REST API to create the new workitems per to the workitems in another VSTS. Regarding Work Item creating REST API, there is bypass rules that can remain System.CreatedDate and System.CreatedBy value: Make an update bypassing rules.
On the other hand, there is 3rd tool: OpsHub Visual Studio Online Migration Utility

How to query RTC builds?

We are using RTC for version control and build system.
RTC's web interface allow user to create custom queries for work items - good.
How about creating custom queries to the builds (or other RTC items maybe)?
Let's say I want to know in what builds this particular file was modified or in what builds this particular team member contributed something.
Definitely there is no web interface to do this.
Maybe some other tool? .. Something...
BTW, I didn't find it in scm.exe tool provided with eclipse.
Thanks
While there is no web GUI for building such a query, there is a REST API for querying Build Results:
See "Report REST API" (you need a -- free -- jazz.net account to access it), for com.ibm.team.build.BuildResult, that you can access as in this thread, for instance:
https://<host>:<port>/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_uKcncTTuEeOy2d_WN7u_Bg