Azure DevOps和Microsoft Teams在不同Tenant做Code Push通知

我想這個問題要碰到人因該不算多,因為,必須是你的Email ID同時是存在兩個不同Organization的Azure DevOps Service和Microsoft Teams下,換句話說,Azure DevOps Service和Microsoft Teams所對應的AAD不同時候的時候。才會有這樣的問題產生。官方文件說明或是直接在Teams內使用Azure DevOps App,可以很順利完成兩者間溝通,這是取決於這兩個服務在同一個Tenant。
而我剛剛上面提到的案例,它的狀況會是下面這樣
- Teams AAD : AAA@Teams.com
- Azure DevOps Service AAD : BBB@Devops.com
當你的Teams的Email ID是屬於Teams AAD下,但是,此時該Email ID又是屬於Azure DevOps Organization中的一員,然後想要讓Teams & Azure DevOps通知能夠關聯起來。
這時候,我們必須要先在Teams中去加入Azure Repos的Bot ( 目的要收到Code push通知)

一旦加入就可以開始使用Azure Repos指令了,但問題沒有這樣簡單,因為,這兩服務在不同tenant,所以,並不會直接幫你Sign in到Azure DevOps服務內。不過,你會發現如果在Teams內,會有這樣指令@Azure Repos signin

輸入完畢會跳出一個Sign in 按鈕,點擊之後,輸入自己的Teams AAD進行登入的動作,一切看似都沒問題時候,這時候又下了@Azure Repos subscribe
指令,這時候出現這樣錯誤,發現似乎又找不到Azure DevOps Org了

因此,在這邊其實操作步驟要改成這樣才會成功,而要執行下面這些步驟前,如果先前有在Teams App做過@Azure Repos signin
,務必要做@Azure Repos signout
登出動作,不然下面操作可能會失敗
- 先在Teams App內加入Azure Repos App
- 打開瀏覽器用InPrivate,打開https://aex.dev.azure.com/me,並在AAD列表找到Azure DevOps的Organization,在旁邊就可以Azure DevOps的網址
- 此時,Azure DevOps這個頁面不要關掉,增加一個Tab,開啟網路版的Teams (https://teams.microsoft.com/),並登入進去。並在網路版的Teams內執行
@Azure Repos signin
,這時候就輸入自己的Teams AAD (Mail ID)登入就可以
基本上執行到這邊就把兩邊的資訊給連接起來。
此時,想要在網路版Teams操作@Azure Repos
或是到Teams App操作都可以了。此時,有更改Code,也會發通知到Teams內
