【发布时间】:2019-09-04 11:23:45
【问题描述】:
我目前有一个 VSTS/AzureDevOps 任务扩展,它由一个 json 文件和一个 ps1 脚本组成。 json 文件基本上规定了输入,ps1 脚本就是这样做的(它运行一些测试。)我想扩展这个任务以在管道中上传测试结果,AzureDevops 有方便的“发布测试结果”,但那是YAML 的事情。
有没有办法获得与使用预制任务相同的功能,但只能通过 PowerShell?我看了this 之类的东西,但找不到明显的东西。
我认为这样做的唯一其他途径是以某种方式使用 AzureDevops REST api?
【问题讨论】:
-
我不明白你说“发布测试结果”是 YAML 是什么意思?要发布文件和文件夹,您可以使用类似这样的日志记录命令 -> docs.microsoft.com/en-us/azure/devops/pipelines/scripts/… 。只需写信给主机,Pipeline-Agent 就会接收您的命令并处理它
-
您发布的链接已经与我链接的内容相同,但它包含在更易于使用的功能中。我认为“Write-VstsAssociateArtifact”甚至可能是您正在寻找的东西,但我很确定
-
@D.J.我的意思是“发布测试结果”功能在视觉设计器中很容易使用。但我不明白如何使用纯 powershell 完成同样的事情。 GitHub indicates that I can use "artifact.upload",但文档有些欠缺。
-
我可以知道您是如何在您的 ps1 脚本中运行测试的吗?如果您调用 dotnet test 或 vstest 在脚本中运行测试,那么您可以使用 dotnet 或 vstest 发布测试结果。
-
@LeviLu-MSFT 测试由自制的测试框架(一些自定义节点的东西)执行。我已经说服开发人员将 junit xml 输出添加到他的代码中,所以现在我们可以生成一个 junit xml 文件结果文件。目前我从 HTTP 端点获取 xml 文件,现在我想将其推送到 Azure 管道。