共用方式為


Azure DevOps 服務更新和整合改善

為了協助確保您的 Azure DevOps 環境保持安全,我們會進行重要的服務更新。 這包括從 2025 年 4 月開始終止對新 OAuth 應用程式註冊的支持,不過現有的應用程式將繼續運作,直到 2026 年完全淘汰為止。 此外,從 2025 年 4 月 23 日起,所有 HTTPS 連線都需要伺服器名稱指示 (SNI),以及 Azure Repos 中 TFVC 簽入原則的更新。

除了這些更新之外,我們很高興宣佈 Azure Boards + GitHub 整合的最新改進,讓您更輕鬆地連結分支、提取要求和提交到工作專案。 此外,管線現在可更深入瞭解 YAML 階段相依性,協助小組以提升效率來管理更複雜的工作流程。

請參閱發行說明以獲取詳細資訊。

一般

Azure Boards:

Azure Repos

Azure Pipelines

Azure 測試計劃:

一般

自 2025 年 4 月起沒有新的 Azure DevOps OAuth 應用程式

從 2025 年 4 月開始,我們不再支援新的 Azure DevOps OAuth 應用程式註冊。 這是我們淘汰 Azure DevOps OAuth 平台的長期願景的第一步。 我們建議所有在 Azure DevOps REST API 上建置應用程式的開發人員探索 Microsoft 識別平台,並改註冊 新的 Entra 應用程式

所有現有的 Azure DevOps OAuth 應用程式都會繼續運作,直到平臺在 2026 年正式淘汰為止。 在這裡的部落格文章中深入瞭解。

Azure DevOps Services 現在強制使用伺服器名稱指示 (SNI)

從 2025 年 4 月 23 日起,我們將要求所有進入 Azure DevOps Services 的 HTTPS 連線使用 伺服器名稱指示(SNI)

SNI 是 TLS 通訊協定的延伸模組,可讓用戶端指定其所連線的主機名。 所有新式瀏覽器和用戶端軟體都支援 SNI,並預設使用它,以確保大部分使用者都能順暢地轉換。 事實上,超過 99.995% 的客戶流量已達伺服器,並支持 SNI。

不過,某些用戶端軟體可能會因為各種因素而與 SNI 不相容,例如過時、設定錯誤的網路連結庫、運行時間或作系統。 Proxy 或 NGFW 防火牆也可能產生問題。 下列與 Azure DevOps 搭配使用的工具可能會受到 SNI 問題的影響:

  • Git 用戶端
  • IDE 外掛程式和擴充功能 (Team ExplorerWhere)
  • 在不支援 SNI 的舊版 Java 版本上執行的軟體(Java 6 和更早版本)或預設未啟用 SNI(某些版本的 Java 7 和 8)
  • 舊瀏覽器版本 (請參閱 https://caniuse.com/sni

SNI 問題通常會以連線錯誤來顯示,例如:

  • ERR_SSL_PROTOCOL_ERROR 、ERR_CERT_COMMON_NAME_INVALID
  • javax.net.ssl.SSLHandshakeException, javax.net.ssl.SSLException
  • 無法建立 SSL/TLS 安全通道的信任關係

您可以呼叫我們設定為需要 SNI 的 Azure DevOps 狀態端點,以驗證系統的 SNI 相容性。 如果此呼叫成功,表示主機,包括其作系統和網路環境,與 SNI 相容。 如需如何測試的詳細指示,請瀏覽我們的 部落格文章

Azure Boards

GitHub 集成:改進連結至提交、分支和拉取請求的功能

我們會持續改善 Boards + GitHub 整合,以縮小可用性差距,並配合您在 Azure Repos 中熟悉的體驗。

透過此更新,我們引進了數項改善,以簡化分支、拉取請求和提交與工作項目連結的方式。

  • 當 GitHub 分支連結到工作專案時,現在會自動連結任何相關聯的提取要求。 不需要手動使用AB#。

  • 合併拉取請求之後,合併提交會自動連結到工作項目。

  • 如果在合併提取要求之後刪除分支,則會從工作項目自動移除分支連結。

這些改進可讓您更輕鬆地追蹤您的開發進度,並維護整潔、最新的工作項目關聯性。

Gif 至 GitHub Boards 整合改進。

GitHub 整合:顯示 YAML 管線的組建狀態

我們致力於在 YAML 與傳統管線之間達成功能同位。 當存儲庫託管於 GitHub 時,其中一項關鍵缺少的功能是提供「內建整合」連結。 在最新版本中,我們已藉由在 YAML 管線設定中新增選項來解決此差距,以便您檢查:

建置完成後,對應的連結會自動出現在相關聯的工作專案上,以改善整體可追蹤性的故事。

交付計劃限制提高

先前,我們將每個項目的交付計劃限制為 1,000。 透過這次更新,我們已將每個專案的最大交付計劃增加到1,500。 您可以在 這裡的檔中深入瞭解如何新增和編輯傳遞計劃。

Azure Repos

TFVC 簽入原則變更

新版本的 Microsoft.TeamFoundationServer.ExtendedClient NuGet 套件 (19.255.0-preview)

NuGet Microsoft.TeamFoundationServer.ExtendedClient 套件已更新為新的 TFVC 原則類別和方法。

原則變更

我們正在變更在 Azure DevOps 中存儲 TFVC 簽入原則的方式,這也表示對 NuGet Microsoft.TeamFoundationServer.ExtendedClient 與服務通訊方式的更新。

如果您的 TFVC 專案使用簽入原則,請將這些原則移轉至新的格式。 有兩種方式可以執行這項作:

  1. 使用 Visual Studio。

警告

某些動作可能產生危險後果:請確保您已將 Visual Studio 更新至最新版本再繼續進行(VS 2022、VS 2019 和 VS 2017,最小版本 17.14 Preview 317.13.617.12.717.10.1317.8.2016.11.4615.9.72 支援新原則)。

若要使用 Visual Studio 專案管理員建立新原則,請開啟 [設定 - Team Project ->> 原始檔控制 -> 簽入原則] 並新增原則(不含 [已過時] 標記,且參數與舊原則相同:

  1. 如果您使用的 Microsoft.TeamFoundationServer.ExtendedClient 自定義實作來與伺服器通訊,請遵循 移轉指南

需要移轉,才能讓 TFVC 簽入與未來的 Azure DevOps 版本相容。 目前,舊的(過時)和新的原則仍然有效且功能正常。 如需未來方案的資訊,請參閱我們的 部落格文章

增強 GetRepository API 功能

我們已在存放庫 - 取得存放庫 API 的回應中新增creationDate屬性,以傳回存放庫建立日期。 屬性可在 API 版本和更新版本 7.2-preview 上使用。

增強 Pull Requests 查詢 API 功能

我們在提取要求查詢 - 取得 API 的響應中引進了新的 Label 屬性。 您現在可以指定是否要在每次查詢中包含相關拉取請求的標籤。 有新的 Include 屬性可供使用 - 如果設定為 [標籤],回應會包含指定 PR 的標籤。 如果保留為 null,則不會包含標籤。 若要防止非預期的錯誤,請確定 NotSet 未明確指派 - 這會導致 Bad Request

備註

標籤增強資源使用率取決於指派的標籤數量及其長度。 要求標籤可能會影響節流並增加網路負載。 若要將效能優化,建議您避免不必要的標籤要求。

要求承載範例:

{
    "queries": [
        {
            "type": "lastMergeCommit",
            "include": "Labels",
            "items": [ 
                "0d6c9b2b524113113fced41aecbf8631a4649dec"
            ]
        },
        {
            "type": "lastMergeCommit",
            "items": [
                "b524113113f0dd41aecbf8631a4649dec6c9b2ce"
            ]
        }
    ]
}

Azure Pipelines

改善 YAML 管線階段相依性的可見度

YAML 管線提供管理複雜工作流程的彈性,但可視化階段相依性是一項挑戰,特別是在多區域部署中。

一直以來,階段之間的連接並不明確。 例如,為了判斷 CUS3 是否除了依賴 WUS2 和 WUS3 外,也依賴於 WUS1,需要直接檢閱 YAML。

在此迭代中,當展開階段時,階段相依性現在會顯示出來,提供對執行順序和上游需求的即時洞察。

新的代理CDN

由於 Edgio CDN 即將淘汰,Edgio https://vstsagentpackage.azureedge.net 所擁有的網域 URL 也會淘汰。 我們正在新增新 CDN 所支援的新網域 URL https://download.agent.dev.azure.com 。 請務必將這個新的網域 URL 新增至防火牆允許清單。 一旦舊網域 URL 被移除,自行裝載代理程式的套件下載將會失敗。 如需詳細資訊,請參閱 文章

節點 16 將會從 pipelines-* 管線代理程式包中移除

代理程式工作可以在PowerShell或 Node 中實作。 代理程式隨附多個 Node.js 版本,任務可以選擇目標版本。

隨著新的 Node.js 版本發行,工作會更新為使用新的 Node.js 版本。 運行時間會隨附於代理程式。

當 Node.js 版本退出上游維護期時,某些管線任務仍然依賴其。 Azure DevOps 會把支援的工作更新為支援的 Node.js 版本。 第三方工作可能仍然需要較舊的節點版本才能執行。

為了配合這一點,我們有兩種類型的管線代理程式 套件

套件 節點版本 說明
vsts-agent-* 6, 10, 16, 20 包含所有可用作任務執行處理器的 Node 版本
pipelines-agents-* 20 只包含最新的節點版本。 這些套件的目標是不要包含任何已結束支援的 Node 版本。

如果您想要在沒有包含 Node.js 16 的代理程式上執行需要 Node.js 16 執行處理程式的工作,您可以在管線中插入 NodeTaskRunnerInstaller@0 工作來安裝執行處理程式:

  steps:
  - task: NodeTaskRunnerInstaller@0
    inputs:
      runnerVersion: 16

Azure Test Plans

停用動作記錄並切換至螢幕錄製

我們的傳統型 Azure 測試執行器用戶端依賴 問題步驟錄製器 (PSR),這是 Windows 7 中引進的工具,目前在較新的 Windows 版本中 已被取代 。 因此,我們的桌面測試執行器中的動作記錄功能在未來更新中可能無法再運作。

為了確保測試追蹤不受干擾,建議您切換至 Web 執行器中的螢幕錄製 Test & Feedback Extension,以提供新式、可靠的方法來擷取和管理測試步驟。 如果您需要轉換至測試與意見反應延伸模組的協助,請連絡我們的支援小組。

自動暫停手動測試回合

使用自動暫停的測試案例執行功能,確保測試回合的進度不會丟失。 如果您的工作中斷,這項新功能會自動暫停測試案例執行,確保儲存部分進度而不需手動暫停。 不論您離開或關閉會話,您都可以在離開的地方輕鬆繼續測試案例,降低數據遺失和改善工作流程的風險。 藉由簡化暫停和繼續程式,自動暫停可協助您專注於測試,而不必擔心失去進度。 試試看,透過電子郵件 告訴我們您對 的看法!

Gif 以示範 Web 和桌面執行器中的復原測試步驟。

後續步驟

備註

這些功能將在未來兩到三周內推出。

打開 Azure DevOps 去看看吧。

如何提供意見反應

我們很樂意聽到您對於這些功能的看法。 使用說明功能表來回報問題或提供建議。

提供建議

您可以在 Stack Overflow 的社群中獲得建議,並得到您的問題解答。

謝謝

西爾維·安德里卡