與 ServiceNow 變更管理整合
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines 支援與 ServiceNow 整合,以改善開發與 IT 小組之間的共同作業。 藉由在發行管線中包含變更管理,小組可以降低與變更相關聯的風險,並遵循 ITIL 等服務管理方法,同時充分利用 Azure Pipelines。
在本文中,您將學會如何:
- 設定 ServiceNow 實例。
- 將 ServiceNow 變更管理程式納入發行閘道。
- 從發行管線監視變更管理程式。
- 讓 ServiceNow 變更要求隨著部署結果更新。
必要條件
設定 ServiceNow 實例
在 ServiceNow 實例上安裝 Azure Pipelines 擴充功能。 您需要 Hi 認證才能完成安裝。 如需從 ServiceNow 市集安裝應用程式的詳細資訊,請參閱 購買概觀 。
在 ServiceNow 中建立新使用者,並授與下列角色:
x_mioms_azpipeline.pipelinesExecution
。
設定 Azure DevOps 組織
在 Azure DevOps 組織上安裝 ServiceNow 變更管理延伸模組 。
在 Azure DevOps 專案中建立新的 ServiceNow 服務連線 ,如下所示。 或者,您也可以使用 OAuth2 驗證。
設定發行管線
流覽至您的發行管線,然後選取 [部署前條件] 圖示。 選取 [網關 ] 和 [ServiceNow 變更管理 ] 預先部署網關。
選取您稍早建立的服務連線,並填寫必要的欄位,如下所示:
- ServiceNow 連線:對用於變更管理的 ServiceNow 實例 連線。
- 簡短描述:變更的摘要。
- 描述:變更的詳細描述。
- 類別:變更的類別。 範例:硬體、網路、軟體。
- 優先順序:變更的優先順序。
- 風險:變更的風險層級。
- 影響:變更對企業的影響。
- 組態專案:套用變更的組態專案 (CI)。
- 指派群組:指派變更的群組。
- 變更要求的排程:ServiceNow 工作流程所接受的變更排程。 日期和時間應為 UTC,格式應為 yyyy-MM-ddTHH:mm:ssZ。 範例:2018-01-31T07:56:59Z。
- 其他變更要求參數:名稱必須是前面加上 『u_』 的功能變數名稱(而非標籤)。 範例: u_backout_plan。 Value 必須是 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:變更要求的系統標識碼。
在發行管線結束時,新增具有更新 ServiceNow 變更要求工作的無代理程序作業。
- ServiceNow 連線:對用於變更管理的 ServiceNow 實例 連線。
- 變更要求號碼:要更新的變更要求數目。
- 已更新變更要求 的狀態:要為變更要求設定的狀態。 如果 已選取 [更新狀態 ],則此輸入可供使用。
- 關閉程式代碼並關閉附註:傳回狀態。
注意
如果執行期間沒有更新任何變更要求字段,更新 ServiceNow 變更要求工作將會失敗。 ServiceNow 會忽略傳遞至工作的無效欄位和值。
建立發行管線
選取 [建立發行 ] 以啟動新的發行管線。
您的管線應該會在 ServiceNow 中建立新的變更要求,做為您稍早建立的部署前條件的一部分。
管線會等候所有閘道在相同的取樣間隔內成功。 若要檢查變更號碼,請選取狀態圖示以檢視您的管線記錄。
變更要求會在 ServiceNow 中排入佇列,並可由變更擁有者檢視。
您可以在 Azure DevOps Pipeline 元數據區段下找到觸發新變更要求的發行管線。
當變更準備好實作時(移至 實 作狀態),管線將會繼續執行,網關狀態應該會傳回 成功。
變更要求會在部署後自動關閉。
Yaml 管線
本教學課程假設您有一個 yaml 管線,其中包含部署至「最新」環境的單一階段。
新增檢查
流覽至您的環境「最新」,選取省略號按鈕,然後選取 [核准 並檢查]。
選取加號以新增檢查,然後將 ServiceNow 變更管理檢查新增至您的環境。 使用您用於部署前閘道的相同組態。
新增 yaml 工作
將伺服器作業新增至您的階段,以更新變更要求。
儲存並執行您的管線。 系統會自動建立新的變更要求,管線將會暫停並等待檢查完成。
檢查完成後,管線應該會繼續執行。 變更要求會在部署後自動關閉。
常見問題集
問:支援哪些版本的 ServiceNow?
答:我們支援下列版本:金士頓、倫敦、紐約、巴黎、魁北克、羅馬、聖地牙哥和東京。
答:我們支援下列版本:金士頓、倫敦、紐約、巴黎和魁北克。
答:我們支援下列版本:聖地牙哥、東京和猶他州版本。
問:支援哪些類型的變更要求?
答:這項整合支援標準、標準和緊急變更要求。
問:如何? 設定其他變更屬性嗎?
答:您可以從 [其他變更要求參數] 欄位指定其他變更屬性。 使用機碼/值組 JSON 格式,其名稱是前面加上 u_
的功能變數名稱(而非標籤)。
問:我是否可以使用其他變更要求參數來更新變更要求中的自定義欄位?
答:如果在變更要求中定義自定義欄位,您必須 在匯入集合轉換對應中新增自定義欄位的對應。
問:我看不到已填入 [類別]、[狀態] 和其他字段的下拉式清單值。 我該怎麼做?
答:變更管理核心和變更管理 - 狀態模型外掛程式必須作用於您的 ServiceNow 實例上,下拉式清單才能運作。 如需詳細資訊,請參閱升級變更管理和更新變更要求狀態。