Are the Azure DevOps extensions for Slack affected by changing the Azure DevOps url? - azure-devops

At the company, we will change the URL for the Azure Devops workspace from https://oldname.visualstudio.com to https://dev.azure.com/newname. We have a lot of connections to Slack in Azure DevOps using two approaches. Older links via service hooks in Azure Devops, new links are via slack applications Azure Repos and Azure Pipelines.
Service hooks in Azure DevOps use Slack's Incoming webhooks, so they will not be affected. However, Microsoft prefers to use its Slack Azure Repos and Azure Pipelines extensions, and the way they work is not clear. E.g. Azure Repos is set up in Slack via /azrepos subscribe [https://oldname.visualstudio.com/projecturl] and this step automatically set the address to azdevchatops.azure.com in Azure Devops Service hooks settings.
So it looks like you need to reconfigure all subscriptions in Azure Repos and Azure Pipelines after changing the Azure DevOps URL. But that is a presumption. It is not mentioned in the documentation and that is why I ask. We have enough connections and that means a lot of manual work to configure everything in Slack via /azrepos subscriptions and /azpipelines subscriptions again.
Does anyone have the experience that when using Azure Repos and Azure Pipelines as Slack Apps, everything has to be reconfigured in Slack as soon as the Azure DevOps workspace address changes?

Notification integration is seamless. Notifications work when you change the name (and URL) of Azure DevOps organisation.
I tested just now and everything is ok.
Note: there are another problem. After Azure Devops organisation URL change you need to reinstall/register build agents again to the new URL. If you use hosted Azure Pipelines in cloud, you need in Project Settings > Agent Pools > Azure Pipelines > Agents disable Hosted Agent and enabled again here. Otherwise, CI / CD pipelines do not work.

Related

Using Jira as Board and Azure Devops as CI/CD

Have you ever tried to use Jira as development board and Azure DevOps as repository + CI/CD Pipelines?
I was wondering if it is possible to link to Jira tasks the results of Azure pipelines deployments and builds, i found this plugin but reviews say is not working properly recently.
EDIT
Using the mentioned plugins seems the right way although they are not working properly at the moment. I will try to contact the support as suggested.
According to your description, you can try to use the plugin for Azure DevOps.
Then you can use the flow: Jira -> GitHub -> Azure Pipelines CI -> Azure Pipelines CD.
For more information, you could refer to the Azure Pipelines integration with Jira Software.

Azure DevOps see included commits in build

we are using Azure Pipelines to build and deploy various projects. We are using Enterprise Github service connection as our git repository source which we are using as part of the build pipelines that are running on on-prem AzureDevops build agent. We are then using on-prem hosted DevOps agents to deploy the service on our on-prem servers.
If we trigger a build we then receive an email notification about all the new commits which are included in the build. Is the same information (what commits are part of the build) included somewhere in the Azure DevOps UI? I was not able to find it and it's really difficult to then determine what I'm actually deploying our various environments as I'm not always the one who triggers each build.
Thanks

Are the Azure DevOps extension for Slack affected by changing the slack workspace url?

In the company, we will change the slack workspace URL from https://oldname.slack.com to https://newname.slack.com. We have a lot of connections from Azure DevOps online service to Slack using two approaches. Older links via service hooks in Azure Devops, new links are via slack applications Azure Repos and Azure Pipelines.
Thanks to Slack support, I know that Slack hooks are not affected if they were created after 2015. Which is the way Azure Devops uses for Service Hooks to Slack.
But I don't know if the Azure Repos and Azure Pipelines configurations will not be affected. E.g. Azure Repos is set up in Slack via /azrepos subscribe [dev.azure.com/projecturl] and this step automatically set the address to azdevchatops.azure.com in Azure Devops Service hooks settings. If Azure Repos is working somewhere with a Slack workspace URL, so I need to set up Azure Repos and Azure Pipelines in Slack again after changing the slack workspace url, that's what I don't know and what I'm asking.
We do not need to reconfigure notification in the slack workspace.
As test result, I create notifications via /azpipelines subscribe [dev.azure.com/projecturl] to check the pipeline status, I can successfully receive the notification in the slack.
Then I changed the workspace name and workspace URL to the new ones, and re-run the pipeline. I can still receive notifications, you could check the pic below.

How to trigger Azure DevOps pipeline when pushing commits to bitbucket custom server?

My company's repository hosted on bitbucket custom server which can be only accessed from intranet.
Therefore, I setup a self-host agent for Azure DevOps and this agent could do a git pull and build and release too.
It works and the problem is I have to manually click RUN pipeline to start, and somehow when I pushing commits to my bitbucket custom server it doesn't trigger the Azure DevOps to kick off a build or release.
Is there some other options I could let it automatically triggers the Azure pipeline to run? Webhooks or Hooks?
I afraid Azure devops pipeline cannot be automatically triggered from a bitbucket custom server. For azure devops server cannot communicate to the bitbucket server hosted in your intranet.
Webhooks or Hooks cannot trigger a build in azure devops pipeline either. Azure devops doesnot have this feature yet. There is an open issue about this.
Currently you might have to trigger your pipeline manually, or create an azure function as mentioned in above link to trigger your pipeline automatically.
Below are some documents about azure function you may find helpful:
Develop Azure Functions using Visual Studio
Continuous deployment for Azure Functions
Azure Functions HTTP trigger:The HTTP trigger lets you invoke a function with an HTTP request.
Best approach to call web api from azure function
Trigger Azure Pipelines build via API

Connect Azure Pipelines to GitHub Enterprise

We have a hosted GitHub Enterprise (GHE) account which needs to integrate with Azure Pipelines. I have installed the Azure Pipelines app from the GitHub Marketplace for our GHE account. The installation of the Azure Pipelines app asks to select an Azure DevOps project and GHE repo to setup the integration. This results in one pipeline being connected to a GHE repo.
But my question is, how to we setup other pipelines within Azure DevOps to use repos in GHE?
Nowhere in the Azure Pipelines interface can I find an option to select a GHE repo. Only public GitHub and GitHub Enterprise (on-prem) server repos. It seems that only the Azure Pipelines app setup wizard allows you to configure a pipeline with a GHE.
I can't imagine that we would have to initiate the setup wizard of the Azure Pipelines app every time we want to connect a pipeline to a GHE repo. That wouldn't even be possible, because most coworkers won't have the permissions to do that. What am I missing?
Remark: I realize that we could create a service connection in Azure DevOps using on a Personal Access Token or username+password. But that's tied to someone's personal account. If that person would leave, the connection is broken. Unless you create a service/dummy account, which doesn't seem very elegant.
If you use GitHub Enterprise, then you can integrate with Azure AD. Then based on group membership you can assign access to repositories with the help of Github Teams.
Then based on those permissions the repos to which somebody has access will be visible during the setup of the Azure DevOps pipeline.
Some useful resources:
https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/github-tutorial
https://github.blog/2019-09-24-azure-active-directory-team-synchronization-now-available-with-enterprise-cloud/
https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams
https://enterprise.github.com/support
I found out the cause of the issue.
First of all, when you install the Azure Pipelines app from the GitHub marketplace, you first need to make sure that you select your GitHub organisation and not your personal account.
Secondly, during the installation you are taken to Azure DevOps to setup your project. Two different authorization pages will be shown; "Azure Pipelines by Microsoft would like to [...]" and the page for OAuth authorization. As can be seen in below image, there is a small grant button that's easily overlooked. You need to press that button before you press the large green that says "Authorize AzurePipelines"
I am now able to select my GitHub Enterprise repositories when I create a new pipeline in Azure DevOps. I simply choose GitHub as the source where my repository lives.