Get GitHub commit contributions from commits to Azure DevOps repository - github

My wish is to have the contributions I make to a repo in Azure DevOps show up on my GitHub profile.
Is there a way to link this up properly?
The email I use for credentials when authenticating towards Azure DevOps is different than my GitHub connected email.
I have tried to use the same credentials for both but to no avail. Maybe I'm missing something.
Hopefully, someone out there has got this working.
Thanks a bunch in advance!

Firstly, you should understand that GitHub and Azure DevOps are independent systems. Azure DevOps has provided some functions e.g REST API,UI function to get repository from GitHub. But It’s a one-way data transfer from GitHub to Azure DevOps.
There is no supported REST API or UI functions that can sync repo changes from to Azure DevOps to your GitHub according DevOps documents at present.
I am afraid that your GitHub contributions graph can’t get credited when you push a change to the Azure DevOps repo.

Related

Is there any way to maintain a remote connection when forking from Github to Azure DevOps?

I have used Azure DevOps 'Import Repository' to clone a repo from GitHub so that I can maintain a personal copy. I don't see any way to maintain the remote connection to GitHub so that I can merge in upstream changes.
Does Azure DevOps have such functionality or will I need to do this merging manually/locally?
No there is no way to treat Azure DevOps as a fork for GitHub. You need to manually perform merges and push/pull to and from both GitHub and Azure DevOps.
Not sure why you'd want to use Azure DevOps for your personal clone. As an alternative you can use GitHub for source code repository and link Azure Boards to GitHub and use Azure Pipelines to build, if those are your primary reason to use Azure DevOps.

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.

Version Controling: connect a Databricks Notebook and all of its versions/revision history with DevOps

Hi Databricks and DevOps gurus,
I want to connect a Databricks Notebook and all of its versions/revision history with DevOps.
I follow the Microsoft documentation and just before the end I get an error in Databricks:
First I thought maybe I am not providing the right link but after I click "Create PR" it leads me to my DevOps environment(so the link is the right one) and it asks me to make a new pull request.
As you can see my only branch at the moment is master.
I am not new to Databricks, but I am new to DevOps and version controlling, and I don't know any way of proceeding from here. Any help would be highly appreciated.
If you see this error Error while listing Git repo branches: Failed to retrieve repo branch list: com.databricks.webapp.versioning.BadAzureDevOpsCredential:... It is because your azure devops services organization and the azure databricks are not in the same Azure AD tenant.
See below extract from document here.
Authentication with Azure DevOps Services is done automatically when you authenticate using Azure Active Directory (Azure AD). The Azure DevOps Services organization must be linked to the same Azure AD tenant as Databricks.
See the similar reported issues here and here for more information.

Azure Devops Branches tab not displaying anything in the build pipelines

Azure Devops Branches tab not displaying anything in the build pipelines .
enter image description here
The issue has been reported to Azure DevOps product team, please track it: Pipeline Branches tab missing branches
What access do you have on your org or project?
Usually for Basic Access, there might be a blocked permission for your account that denies your access to see branches.

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.