共用方式為


整合 Azure Pipelines 與 ServiceNow 變更管理

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

為了改善開發與IT小組之間的共同作業,Azure Pipelines 支援與 ServiceNow 整合。 Teams 可以藉由在發行管線中包含變更管理網關,降低與變更相關聯的風險,並遵循資訊技術基礎結構連結庫 (ITIL) 等服務管理方法。

在本教學課程中,您會了解如何:

  • 設定 ServiceNow 實例。
  • 將 ServiceNow 變更管理程式納入發行閘道。
  • 從發行管線監視變更管理程式。
  • 讓 ServiceNow 變更要求隨著部署結果更新。

必要條件

設定 ServiceNow 實例

  1. ServiceNow 實例上安裝 Azure Pipelines 擴充功能 。 如需從 ServiceNow 市集安裝應用程式的詳細資訊,請參閱 購買概觀 。 您需要 HI 認證才能完成安裝。

  2. 在 ServiceNow 中,為 Azure Pipelines Service 帳戶建立新的使用者,並將 x_mioms_azpipeline.pipelinesExecution 角色授與它

    顯示如何在 ServiceNow 中設定新用戶的螢幕快照。

設定 Azure DevOps 組織和專案

  1. 在您的 Azure DevOps 組織中,安裝 ServiceNow 變更管理延伸模組

    顯示 ServiceNow 變更管理延伸模組的螢幕快照。

  2. 在您的 Azure DevOps 專案中,使用基本身份驗證或 OAuth2 驗證來建立新的 ServiceNow 服務連線。 如需詳細資訊,請參閱 建立服務連線

    顯示如何設定 ServiceNow 服務連線的螢幕快照。

設定管線

您可以將 ServiceNow 整合新增至傳統發行管線或部署至環境的 YAML 管線。

新增 ServiceNow 變更管理預先部署閘道

  1. 在您的 Azure Pipelines 發行管線中,選取 [部署前條件 ] 圖示。

  2. 在 [預先部署條件] 畫面上,展開並啟用 [網關],選取 [部署網關] 旁[新增],然後選取 [ServiceNow 變更管理] 預先部署閘道。

    顯示如何新增預先部署閘道的螢幕快照。

設定 ServiceNow 變更管理設定

  1. 在 [ServiceNow 變更管理設定] 畫面的 [ServiceNow 連線] 底下,選取您稍早建立的 ServiceNow 服務連線。

    顯示如何設定 ServiceNow 變更管理閘道的螢幕快照。

  2. 完成表單的其餘部分,如下所示:

    設定 描述
    動作 選取 [ 建立新的變更要求 ] 或 [使用現有的變更要求]。
    變更類型 選取 [標準]、[標準] 或 [緊急]。
    簡短描述 輸入變更的摘要。
    變更要求的排程 或者,輸入 ServiceNow 工作流程所接受的變更排程。 在 [計劃開始日期] 和 [計劃結束日期] 下,以 yyyy-MM-ddTHH:mm:ssZ 格式輸入 UTC 日期和時間。
    說明 或者,輸入變更的詳細描述。
    類別 選擇性地選取變更的類別,例如 硬體網路軟體
    優先順序 選擇性地選取變更的優先順序。
    風險 選擇性地選取變更的風險層級。
    影響 選擇性地選取變更對企業的影響。
    組態專案 選擇性地選取套用變更的組態專案。
    工作分派群組 選擇性地選取指派變更的群組。
    進階>其他變更要求參數 選取欄位旁的省略號,然後選取 [新增 ] 以新增更多參數。 名稱必須是功能變數名稱,而不是前面加上 u_的標籤,例如 u_backout_plan。 值在 ServiceNow 中必須有效。 忽略無效的專案。
    成功準則 選取 [變更要求所需的狀態] 或 [進階成功準則]。
    變更要求的預期狀態 選取閘道成功和管線繼續所需的變更要求狀態值。
    進階成功準則 輸入表達式,控制閘道何時應該成功。 變更要求在來自 ServiceNow 的回應中定義為 root['result'] 。 例如: and(eq(root['result'].state, 'New'),eq(root['result'].risk, 'Low')) 。 如需詳細資訊,請參閱運算式
    輸出變數>參考名稱 若要能夠在部署工作流程中使用輸出變數,請指定參考名稱。 您可以使用 作為無代理程序作業中的前置詞來存取閘道變數 PREDEPLOYGATE 。 例如,當參考名稱設定為 gate1時,您可以使用變數 $(PREDEPLOYGATE.gate1.CHANGE_REQUEST_NUMBER)來取得變更要求號碼。
    變數清單 CHANGE_REQUEST_NUMBER是變更要求的數目。
    CHANGE_SYSTEM_ID是變更要求的系統標識碼。

更新管線

  1. 在發行管線結束時,新增具有Update ServiceNow變更要求工作的無代理程序作業

  2. 在工作設定表單的 [ServiceNow 連線] 底下,選取您的 ServiceNow 服務連線。

  3. [變更要求號碼] 底下,輸入要更新的 ServiceNow 變更要求號碼。

  4. 選取 [更新狀態],然後在 [變更要求更新狀態] 底下,選擇或輸入要為變更要求設定的狀態。

  5. 在 [進階] 底下的 [工作附注] 中,選擇性地輸入要針對變更要求更新新增的任何工作附註

    顯示如何設定更新服務Now 變更要求工作的螢幕快照。

注意

如果執行期間沒有更新任何變更要求字段,更新 ServiceNow 變更要求工作就會失敗。 ServiceNow 會忽略傳遞至工作的無效欄位和值。

建立版本

選取 [建立發行 ] 以啟動新版本。

您的管線應該會在 ServiceNow 中建立新的變更要求,做為您稍早建立的部署前條件的一部分。

顯示執行部署前閘道的螢幕快照。

管線會等候所有閘道在相同的取樣間隔內成功。 若要檢查變更號碼,請選取狀態圖示以檢視您的管線記錄。

顯示管線記錄的螢幕快照。

變更要求會在 ServiceNow 中排入佇列,而變更擁有者可以檢視它。

顯示 ServiceNow 中新變更要求的螢幕快照。

您可以在 Azure DevOps Pipeline 元數據區段下找到觸發新變更要求的發行管線。

顯示發行管線元數據的螢幕快照。

當變更準備好實作並移至實作狀態時,管線會繼續執行,網關狀態應該會傳回成功

顯示部署閘道狀態的螢幕快照。

變更要求會在部署後自動關閉。

常見問題集

支援哪些版本的 ServiceNow?

Azure Pipelines ServiceNow 延伸模組支援金士頓、倫敦、紐約、巴黎、魁北克、羅馬、聖地牙哥、東京和猶他州版本。

Azure Pipelines ServiceNow 延伸模組支援金士頓、倫敦、紐約、巴黎、魁北克、聖地牙哥、東京和猶他州版本。

Azure Pipelines ServiceNow 延伸模組支援金士頓、倫敦、紐約、巴黎和魁北克版本。

支援哪些類型的變更要求?

Azure Pipelines ServiceNow 整合支援一般、標準和緊急變更要求。

如何? 設定其他變更屬性嗎?

您可以從 [ 其他變更要求參數 ] 字段或在 中 otherParameters指定更多變更屬性。 使用機碼/值組 JSON 格式,其名稱為功能變數名稱,而不是前面加上的 u_標籤。

我是否可以使用更多變更要求參數來更新變更要求中的自定義欄位?

如果您在變更要求中定義自定義欄位,則必須 在匯入集合轉換對應中新增自定義欄位的對應

如何查看已填入 [類別]、[狀態] 和其他字段的下拉式清單值?

變更管理核心和變更管理 - 狀態模型外掛程式必須作用於 ServiceNow 實例上,下拉式清單才能運作。 如需詳細資訊,請參閱升級變更管理和更新變更要求狀態

資源