0

我正在尝试创建一个ServiceNow变更请求作为我发布中的步骤之一。我正在尝试Agentless阶段步骤(调用 Rest API:发布)。

我在网上找到一篇文章,建议为ServiceNow. 我在步骤失败中尝试过,我确定我没有正确设置它。

2019-11-12T12:55:28.8833838Z POST https://xyzhelpdesk.service-now.com/api/now/table/change_request 响应代码:0 响应:处理请求时遇到错误。

异常: {"error":{"message":"Exception while reading request","detail":"Cannot decode: java.io.StringReader@90f857"},"status":"failure"} 异常消息:远程服务器返回错误:(400) 错误请求。(类型 WebException)

端点定义了用户名和密码,但我认为在步骤的设置中,我可能需要在 Header 部分中提供更多信息。

在此处输入图像描述

我可以通过Powershell脚本创建 CR,我想我可以使用它,但不确定正确的方法。

基本上我想创建一个ServiceNowCR 作为我的部署过程的一部分。然后有一个TFS插件门控步骤,它将检查 CR 上的状态,当它批准时,流程会继续进行。

谁有例子?

谢谢

4

1 回答 1

2

实际上有一个内置的扩展——微软提供的ServiceNow变更管理几乎可以满足你的需求。

这包括:

  • 一个发布门,用于保持管道直到变更管理流程发出变更请求的实施信号。您可以为每个部署创建新的更改请求或使用现有的更改请求。
  • 在部署过程中更新更改请求的无代理任务。它通常用作阶段中的最后一个任务。

但是,此扩展仅适用于 Azure DevOps Services 和 Azure DevOps Server 2019 Update 1 及更高版本。无法在 tfs2018 上使用。您可以考虑将您的 TFS 升级到最新的 Azure DevOps 版本。

对于 TFS 2018,建议您使用 powershell 脚本来处理此问题。它能够使用 ServiceNow 和 Azure DevOps Rest API。您还可以查看精彩的文章博客(TFS 类似):

使用 Deployment Gate 将 VSTS 发布管理与 ServiceNow 集成以进行变更管理

为 ServiceNow 实施 Azure DevOps Release Gate

于 2019-11-13T09:20:24.283 回答