从 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 界面中报告:
我想改进这个输出。我正在寻找的改进是:
- 我希望每个错误都有一个红色的 X。
- 我想去除所有噪音,即去除以“+”开头的行
除了调用 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.")
希望对您有所帮助。
在 VSTS 中,我使用 PowerShell 任务 运行 我的脚本之一。该脚本包含以下内容:
Write-Error 'error 1'
Write-Error 'error 2'
由于 Write-Error cmdlet 在 stderr 上写入,这些消息会在 VSTS Web 界面中报告:
我想改进这个输出。我正在寻找的改进是:
- 我希望每个错误都有一个红色的 X。
- 我想去除所有噪音,即去除以“+”开头的行
除了调用 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.")
希望对您有所帮助。