Is there a way that we can create Azure DevOps work items using Rest API from Azure Logic apps? - azure-devops

I have been researching on how i can create/update a work item in Azure DevOps from logic apps using Azure DevOps rest apis? We need this for an integration with another CRM tool. Please reply if this can be done and how?
Thanks,
Gopal

You can either use this REST API in order to create work item. You will have to maintain PAT:
https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/create?view=azure-devops-rest-7.0&tabs=HTTP
Update work item:
https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/update?view=azure-devops-rest-7.0&tabs=HTTP
Or - what I would recommend - you can use Azure DevOps connector (for Logic App it is part of Standard Class):
https://learn.microsoft.com/en-us/connectors/visualstudioteamservices/
Create Work item task anchor:
https://learn.microsoft.com/en-us/connectors/visualstudioteamservices/#create-a-work-item
Update work item task anchor:
https://learn.microsoft.com/en-us/connectors/visualstudioteamservices/#update-a-work-item
Simple guide how to set up such task in Logic App:
https://codegumbo.com/index.php/2021/05/27/using-an-azure-logic-app-to-create-azuredevops-work-items-from-a-sql-server-dataset/

After reproducing from my end, I have received the same error.
You are receiving this because as soon as you try to hit the endpoint it asks for login which requires token and hence you are getting redirected. One of the workarounds to make this work is to provide required scope as mentioned in this official documentation.
One of the ways that worked for me is to use the DevOps Connector directly from logic apps. Below is the flow of my logic app.

Related

How to audit azure DevOps services and monitor releases?

I have an Azure DevOps instance where I am trying to control and monitor who is doing releases. So, who pressed the button to do the release and what releases have happened.
I tried in Audit options, but it is not satisfying my requirement.
What is the best way to get what I am looking for?
Thanks in advanceā€¦
It's a little unclear what you mean by CONTROL
If you are needing to tighten control of which users are allowed to initiate releases outside of a CI/CD pipeline, this is something you would use the built in object permissions for release pipelines.
I've organized our release pipelines into folders
Each of these folders is treated as an object upon which permissions can be set.
For MONITORING the release pipelines
Again, I tend to just use the All Pipelines folder which gives a list of the releases that happened ordered by date. That view lists the pipeline and gives the users Avatar, which is enough to know who created the release.
Also
There are some out-of-the-box widgets that you can put on your dashboard, but I've found them to be unhelpful on the whole. Not to mention that if you have 100's of pipelines you will want to have something reading from your list of pipelines via REST api and pushing those widgets onto the dashboard via the REST api so that you don't need to manage them all "by hand" through the UI. Then if you're going to get into using the REST api, you might as well write your own tool to report the information you need (and possibly turn it into a widget others can consume from the marketplace). I haven't found anything very effective on reporting/summarizing the collection of release pipelines from the marketplace, but there may be something squirreled away in there somewhere.

ConnectWise <-> TFS synchronization

we are going to use TFS (Azure Devops) and ConnectWise Manage at the same time.
In short, we need to provide synchronization between those two systems when working with a working item / a ticket correspondingly, i.e. we can insert the reference to TFS working item into ConnectWise ticket - then corresponding TFS working item will be updated with ConnectWise ticket reference and vice versa. Also, some fields are to be re-used in both systems and updated.
I've started to look for the information, but seems cannot find anything basic - where to start from and how to implement this (how it will look like - some intermediate listener listening for both servers and updating items here and there or... ? What language to be used - is it some of .NET language using some specific framework? Or just some PowerShell scripts? What authentication is to be used? What settings do I need to ask our organisation to make in their Azure Devops / ConnectWise account? etc.)
Could you please point me in right direction?
I found a way to integrate Azure devops with ConnectWise Manage. You can try connect your Azure DevOps and ConnectWise Manage via Zapier. It's easy to connect Azure DevOps + ConnectWise Manage and requires absolutely zero coding experience.
You can synchronize between the two services by selecting a trigger and then selecting an action.

Automatically update ARM templates when Swagger changes

At the moment if I update my API so that I include a query parameter on one of my endpoints, I also need to update the ARM template that is used during the Azure DevOps release pipeline to update APIM.
Is there a way to automatically update the ARM template json based on the updated action methods?
The end goal is to have APIM reflect the changes I made in my action methods, without me having to update things in multiple places (ie. action method AND ARM template).
Although this doesn't directly answer your question, I'd like to invite you to explore using Azure API Management DevOps Resource Kit instead, an official tool maintained by the APIM team.

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.

Azure Data Factory development with multiple users without using Source Control

While working on a single Azure Data Factory solution with no Source Control. Is it possible to work parallelly for a team of 3 or more developers, without corrupting the main JSON?
Scenario:
All developers are accessing the same ADF and working on different pipelines at the same time. One of the developer publishes his/her updates, does it somehow overwrites or ignores the changes other developers are publishing?
I tested and found that:
Multiple users can access the same Data factory and working with
different pipelines in same time.
Publish only affect the current user and the current pipeline which
user is developing and editing. It won't overwrites other pipelines.
For you question:
Is it possible to work parallelly for a team of 3 or more developers, without corrupting the main JSON?
Yes, it's possible.
One of the developer publishes his/her updates, does it somehow overwrites or ignores the changes other developers are publishing?
No, it doesn't. For example, user A only develop with pipeline A, then publish again. The Publish only affect the current pipeline, won't overwrite or affection other pipelines.
You could test and prove it.
Update:
Thanks #V_Singh for share us the Microsoft suggestion:
Microsoft suggested to use CI/CD only, otherwise there will be some disparity in code.
Reply from Microsoft:
"In Live Mode can hit unexpected errors if you try to publish because you may have not the latest version ( For Example user A publish, user B is using old version and depends on an old resource and try to publish) not possible. Suggested to please use Git, since it is intended for collaborative scenarios."
Hope this helps.