从 VSTS 中的 PowerShell 脚本 运行 添加错误以构建摘要

Adding errors to build summary from PowerShell script running in VSTS

在 VSTS 中,我使用 PowerShell 任务 运行 我的脚本之一。该脚本包含以下内容:

Write-Error 'error 1'
Write-Error 'error 2'

由于 Write-Error cmdlet 在 stderr 上写入,这些消息会在 VSTS Web 界面中报告:

我想改进这个输出。我正在寻找的改进是:

  1. 我希望每个错误都有一个红色的 X。
  2. 我想去除所有噪音,即去除以“+”开头的行

除了调用 Write-Error,是否可以从我的脚本中调用另一个函数来向构建摘要页面添加错误?

我看到了函数 Write-VstsTaskError,但不幸的是它只能从 VSTS 任务中调用。它无法从我的脚本中调用。

经过反复试验,我解决了问题 #1。 VSTS 构建为 stderr 中的每个条目显示一个红色 X,这些条目由 stdout 上的条目分隔。因此,如果我将脚本更改为以下内容:

Write-Error 'Error 1'
Write-Host '***'
Write-Error 'Error 2'
Write-Host '***'

我现在每个错误都有一个红色的 X,但我仍然有额外的噪音(以“+”开头的行)。

推荐的方法是使用下面 GitHub 问题中讨论的 VSO 日志记录命令。

例如:

Write-Host "##vso[task.logissue type=warning;]Test warning"
Write-Host "##vso[task.logissue type=error;]Test error"

在 Visual Studio 2013 的构建中,我测试了这两种方法并有效:

[Console]::Error.WriteLine("An error occurred.")

$host.ui.WriteErrorLine("Other way to show an error.")

希望对您有所帮助。