5

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

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

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

错误

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

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

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

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

4

3 回答 3

9

推荐的方法是使用 VSO 日志记录命令,如下面的 GitHub 问题中所述。

例如:

Write-Host "##vso[task.logissue type=warning;]Test warning"
Write-Host "##vso[task.logissue type=error;]Test error"
于 2016-04-03T12:28:33.753 回答
1

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

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

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

于 2016-02-10T20:06:57.757 回答
0

在使用 Visual Studio 2013 的构建中,我已经使用这两种方法进行了测试并工作:

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

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

希望有帮助。

于 2017-08-31T19:08:31.940 回答