在VSTS中,我使用PowerShell任务来运行我的一个脚本。该脚本包含以下内容:
Write-Error 'error 1'
Write-Error 'error 2'
由于Write-Error cmdlet在stderr上写入,因此会在VSTS Web界面中报告这些消息:
我想改进这个输出。我正在寻找的改进是:
是否有另一个函数可以从我的脚本中调用以向构建摘要页面添加错误,而不是调用Write-Error?
我看到了函数Write-VstsTaskError但不幸的是它只能从VSTS任务中调用。它不能从我的脚本中调用。
答案 0 :(得分:7)
建议的方法是使用VSO日志记录命令,如下面的GitHub问题中所述。
例如:
Write-Host "##vso[task.logissue type=warning;]Test warning"
Write-Host "##vso[task.logissue type=error;]Test error"
答案 1 :(得分:1)
经过大量的反复试验,我能够解决问题#1。 VSTS构建为stderr中的每个条目显示一个红色X,该条目由stdout上的条目分隔。因此,如果我将脚本更改为以下内容:
Write-Error 'Error 1'
Write-Host '***'
Write-Error 'Error 2'
Write-Host '***'
我现在每个错误都有一个红色X,但我仍然有额外的噪音(以' +'开头的行)。
答案 2 :(得分:0)
在使用Visual Studio 2013的构建中,我已经使用这两种方法进行了测试并且有效:
[Console]::Error.WriteLine("An error occurred.")
$host.ui.WriteErrorLine("Other way to show an error.")
希望有所帮助。