Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops VSTS发布管道发布门:如何进行HTTP响应体字符串相等性检查?_Azure Devops_Azure Pipelines Release Pipeline - Fatal编程技术网

Azure devops VSTS发布管道发布门:如何进行HTTP响应体字符串相等性检查?

Azure devops VSTS发布管道发布门:如何进行HTTP响应体字符串相等性检查?,azure-devops,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines Release Pipeline,我想检查我部署的ASP.NET应用程序是否从运行状况检查端点返回健康的health 不幸的是,“调用Rest API”发布门的成功标准示例仅显示如何评估JSON响应,如eq(root['status'],'successful')或eq(count(jsonpath('Items[?(@.price)如果端点仅返回字符串,请尝试以下操作: eq(root, 'SomeString') 这真的很奇怪,你得到这样的错误。它在我的发布管道上工作: 以下是设置: 结果如下: 如果端点只返回一个字符串

我想检查我部署的ASP.NET应用程序是否从运行状况检查端点返回健康的
health


不幸的是,“调用Rest API”发布门的成功标准示例仅显示如何评估JSON响应,如
eq(root['status'],'successful')
eq(count(jsonpath('Items[?(@.price)如果端点仅返回字符串,请尝试以下操作:

eq(root, 'SomeString')
这真的很奇怪,你得到这样的错误。它在我的发布管道上工作:

以下是设置:

结果如下:


如果端点只返回一个字符串,请简单地尝试以下操作:

eq(root, 'SomeString')
这真的很奇怪,你得到这样的错误。它在我的发布管道上工作:

以下是设置:

结果如下:


同意Krzysztof Madej的观点

异常消息:将API响应解析为JSON对象时出错

您可以检查“调用RESTAPI任务”中的“URL后缀和参数”字段

请确保整个URL是有效的

整个URL包含服务器URL(在服务连接中设置)以及URL后缀和参数(在调用RESTAPI任务中设置)


希望这有帮助。

同意Krzysztof Madej的观点

异常消息:将API响应解析为JSON对象时出错

您可以检查“调用RESTAPI任务”中的“URL后缀和参数”字段

请确保整个URL是有效的

整个URL包含服务器URL(在服务连接中设置)以及URL后缀和参数(在调用RESTAPI任务中设置)


希望这能有所帮助。

我刚在私人公关中遇到这个问题,不确定是否相关,因为我不想在任务之外使用身体作为变量:这个问题有任何更新吗?你解决了这个问题吗?如果没有,请让我知道这个问题的最新信息吗?@KevinLu MSFT现在我们只依靠检查whet端点返回200 OK(表示健康或降级)或500(不健康),因为重写健康检查后端以返回有效的JSON而不是text/plain(默认情况下是这样)并不重要所以这个问题仍然存在,我们现在只使用这种解决方案。非常感谢这里共享的解决方案。因为这个问题的根本原因是成功的标准不支持比较规则字符串,也许你可以尝试在我们中提交一个特征请求。那里的团队会检查你的想法并考虑THA。t、 我只是在私人PR中遇到了这个问题,不确定是否相关,因为我不想在任务之外使用body作为变量:这个问题有任何更新吗?你解决了这个问题吗?如果没有,请让我知道关于这个问题的最新信息吗?@KevinLu MSFT现在我们只依靠检查端点retu是否rns为200 OK(表示健康或降级)或500(不健康),因为它对于我们重写健康检查后端以返回有效的JSON(而不是文本/纯文本)(默认情况下是这样)来说不够重要所以这个问题仍然存在,我们现在只使用这种解决方案。非常感谢这里共享的解决方案。因为这个问题的根本原因是成功的标准不支持比较规则字符串,也许你可以尝试在我们中提交一个特征请求。那里的团队会检查你的想法并考虑THA。t、 它会导致“异常消息:将API响应解析为JSON对象时出错”。这可能对您有效,因为
“某些”
是有效的JSON,而
某些”
不是。请参阅我上面的提示“我的端点不返回任何JSON”。您是对的。因此您知道答案。您可以使用
“健康”
作为黑客或完整的json。因为不可能进行常规字符串比较。这是开发人员社区的理想选择。感谢您的教训!它会导致“异常消息:将API响应解析为json对象时出错”。这可能对您有效,因为
“某些”
是有效的json,而
某些
不是。请参阅我的提示上面的“我的端点不返回任何JSON”。你是对的。所以你知道答案。你可以使用
“health”“
作为黑客或完整的json。因为无法进行常规字符串比较。很适合开发人员社区。感谢您的教训!服务器URL有效且可访问。日志输出还显示
响应代码:OK;响应:Health;表达式'eq'的计算(根,'Health')'失败。异常消息:将API响应解析为JSON对象时出错。(类型DistributedTaskException)
-服务器的响应是一个简单的
健康的
字符串,带有
文本/普通内容类型。Krzysztof Madej的字符串周围有引号,这是有效的JSON。我的字符串不是。我理解了差异,并测试了文本/普通内容类型。这确实可能会导致此问题。它似乎无法比较字符串值(文本/普通内容类型)。正如Krzysztof所说,您需要将字符串用作Json类型。服务器URL有效且可访问。日志输出还显示
响应代码:OK;响应:Health;表达式'eq(root,'Health')的计算失败。异常消息:将API响应解析为Json对象时出错。(类型DistributedTaskException)
-服务器的响应是一个简单的
健康的
字符串,带有
文本/普通内容类型。Krzysztof Madej的字符串周围有引号,这是有效的JSON。我的字符串不是。我理解了差异,并测试了文本/普通内容类型。这确实可能会导致此问题。它似乎无法比较字符串值正如Krzysztof所说,您需要将字符串用作Json类型。