How to detect events in an Azure Devops Board extension - azure

I'm trying to create an Azure DevOps Board extension that detects the main work item events: item created, assigned/unassined to user, added to sprint, state change (todo -> wip -> finished), etc.
The equivalent Jira plugin can be easily developed following this guide: https://developer.atlassian.com/server/jira/platform/writing-jira-event-listeners-with-the-atlassian-event-library/
However in the case of Azure Devops Boards I can't finde any clear indication to do this. Could you provide some sample/hint/documentation to implement this?

You won't be able to use an extension to do this. Extensions are really just front end components. You'll have to use a service hook with a webhook.
https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops

Related

How to add a new tab in pull requests in Azure-Devops

In below image I can see that there are multiple tabs when we create pull request like Overview, Files, Update, Commits, etc. I want to add a new tab in pull request. I tried searching on internet but was not able to find much. It will be great if someone can help me with it.
Thank you
I agree with #4c74356b41 AFAIK that's not possible without creating a full-blown extension\addon.
Reference taken from :
Azure DevOps-Add extension that adds custom tab to Pipeline / Release Definition page (not the summary page) - Stack Overflow
. I don't know the term I should use to search for it.I am just not sure what to search in google to learn more about it.
you can search for the following terms on Google :
Azure DevOps extension samples
Azure DevOps extension custom tab
Azure Devops Extensions Overview
I am ok with adding addon\extension. I actually want to know some document references that can be useful in this scenario
As you are ok with extension you can refer this MS document Extensions overview.
To create a new tab in a pull request, you need to create an extension that adds the new functionality to Azure DevOps. You can use Visual Studio to create a new Azure DevOps extension project.
Reference for Working with Pull Requests in Visual Studio Code and Azure DevOps
Reference SO thread

Azure Pipelines conditions

I have setup a flow where azure release definition makes to an agentless API call to azure build pipeline which performs a list of tasks which trigger a release.
I would like to add a condition to the azure build pipeline to differentiate between a user running the build pipeline manually (through portal) or if the pipeline was triggered via an api call.
What is the neatest way to do this? Ideally I expect a condition something like
eq(triggered-by, "Joe") -> not ideal, I don't want to attach condition based on a users name
eq(build-reason, "api") -> ideal but is there some in-build condition for something like this?
One other options which passes through my mind is passing a custom runtime variable through the api call, but I was wondering if there was a more in-built approach.
Thanks in advance.
Currently, there's no build-in feature in Azure DevOps to achieve this.
We cannot judge whether it is triggered by manually or API. If you are using an API call, the token also stands for a single user.
Also, you could raise a feedback ticket for your demand: Suggest a feature - Visual Studio (Windows) | Microsoft Docs

Using LogicApp to make post in Teams with link to open pipeline

I know it's possible to create Logic App in Azure to send message in Teams after completing pipeline. I don't know how can I add hash with completed pipeline as clickable link to open.
I couldn't find any information how can I do this.
I will be grateful for your help.
Azure DevOps Pipelines already have official support to integrate into Microsoft Teams that you could use directly, even without a Logic App.
But if you still need to use a Logic App, then what you could do is use the Invoke a REST API task to call your Logic App, and then send an Adaptive Card which you can design to have a button which links to the pipline.

Azure Update Management - Automated VMs onboarding

I am trying to automate VMs onboarding process for Azure Update Management. I am wondering if it possible, I didnt find solution which I can use to full onboard VM to Update Management, from A-Z. I mean I need MMA agent installation (i have script prepared, for installing mma vm extension with workspace ID and Key). Problem is that thare I didn't find a way to perform rest of the steps. Did anyone try to do this, I know that Ms give the runbook form this but I am not sure if its working as expected, link here --> https://learn.microsoft.com/en-us/azure/automation/update-management/enable-from-runbook
You can automate it by configuring UM to automatically enable for all existing and future VMs using this method - Enable Machine in the workspace
But keep in mind that using this method doesn't allow you to have the control an enterprise customer would want.
We don't have an out of the box method to configure from the VM, onboarding it to UM in an automated manner. Based on how it is designed, the only way out of the box is from the portal, or runbook as described in docs.
Programatically to work around this (and I'm thinking out loud here) you could update the saved search query - MicrosoftDefaultComputerGroup in the workspace with the UUID of the VM and that would automate onboarding it to the feature. I don't have a working example to share but I think the approach is sound and can be included in the workflow to onboard it.

Azure DevOps - Create a work item from incoming email

I'm in the process of setting up an in-house Azure DevOps environment. But I'm stuck at a point where I need to set up an email integration.
Question: is it possible within Azure DevOps to create a work item (in general/specific to a project) upon receiving an email?
Trigger: Users report issues via a generic email address (like support email)
Manage: Azure DevOps to capture this email (monitor inbox of this generic email address)
Output: A new work item is created with the contents/subject from the captured email.
Note: Issues could either be a bug, minor usability or other supports
I did look into MS Power Automate using flow. But not ideal in my
case
Searched market place for a possible plugin. But couldn't find one
which does this
Thanks in advance for any help or direction.
Thanks you for all fellow contributors who suggested alternative approach. Unfortunately, these suggestions doesn't solve my concern at its level and hence I raised a feature request in Azure DevOps Server forum. You may find the request here and please vote it if you think it is relevant to you.
The easy way is to use the TFS Work Items from Outlook tool.
It's give you the ability to create a work item from outlook and also create rules for create work items automatically (with templates).
Note: the name is TFS Work Items but it should works also with ADO.
Azure DevOps does not contain feature to create work items through email. You can try:
TeamBox (pop3)
As you mentioned MS Power Automate or Azure Logic App.
Create your solution with existing resources. As example: Mail.dll - .NET email component (IMAP, POP3, S/MIME), Create Work Item in Team Services Through API
As Shamrai Aleksander mentioned above, for now Azure Devops Service doesn't support creating WITs from email.
Not sure if above extensions shared by Shamrai Aleksander and Shayki Abramczyk meet your needs well, I think you can also consider posting a feature request if you do want such feature comes true in Azure Devops Service. Since it's a good idea, feel free to suggest a feature to User Voice Forum of ADO.
Your requirements seems to be similar to this one which is posted in 2019, I recommend you can post a new one to share your feedback. Also, share the link in your question and members who interested in that would vote for you! Hope it helps.
This is a good use case for a Logic App. You can create an app that triggers on a new email, using the Outlook connector, and then create a work item using the DevOps connector.
You can also add logic in the middle (using the Control connector and variables, for instance), to assess the content of the email and dynamically set the target project, work item type, or tags.
You can user Microsoft Power Automate to do that.
You activator would be receiving an email and the rest of the workflow is up to you. It creates issues correctly and there is even a workaround to add files to the issue with power automate.

Resources