Build Azure DevOps中拉取请求中的表面编译警告

Build Azure DevOps中拉取请求中的表面编译警告,build,azure-devops,pull-request,Build,Azure Devops,Pull Request,我的目标是在pull请求中获得警告,比如实际的编译警告或叮当声输出 输出被正确地注释,并且在构建中警告都被显著地显示。但不幸的是,大多数开发人员不检查构建,他们主要关心它是否是绿色的。并非在所有情况下都可以犯警告错误 我想提出需要积极承认的警告审查意见。我将把它实现为一个小型服务,它监听web钩子,并通过RESTAPI获取输出和发布到PR。(由于其他原因,我已经有了一个做类似事情的服务。) 对我来说,这听起来像是一个应该解决的问题,就像在现有的插件中一样。是否有一个简单的解决方案 是否有一个简单

我的目标是在pull请求中获得警告,比如实际的编译警告或叮当声输出

输出被正确地注释,并且在构建中警告都被显著地显示。但不幸的是,大多数开发人员不检查构建,他们主要关心它是否是绿色的。并非在所有情况下都可以犯警告错误

我想提出需要积极承认的警告审查意见。我将把它实现为一个小型服务,它监听web钩子,并通过RESTAPI获取输出和发布到PR。(由于其他原因,我已经有了一个做类似事情的服务。)

对我来说,这听起来像是一个应该解决的问题,就像在现有的插件中一样。是否有一个简单的解决方案

是否有一个简单的解决方案

据我所知,目前还没有现成的方法(现有任务或扩展)向pull-request注释发送警告

正如您所说,您可以使用
webhook+restapi
来实现它

另一种方法是使用获取警告消息,并使用另一个RESTAPI:对请求创建注释

然后在管道中(pullreuqest触发器),您可以添加一个Powershell任务来同时运行两个RESTAPI

例如:

- task: PowerShell@2
  condition: eq(variables['Build.Reason'], 'PullRequest')
  displayName: Post Message to PR
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)  
  inputs:
      targetType: filePath
      filePath: Comment.ps1
在这种情况下,当Pull Reuqest触发管道时,任务将运行并向comment发送警告消息

获取警告消息示例的Powershell:

$token = "PAT"

$url="https://dev.azure.com/{OrganizationNAME}/{ProjectName}/_apis/build/builds/{Build.buildid}/timeline?api-version=6.0"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))


$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method GET  -ContentType application/json

echo $response.records.issues.message 

..... Send the message to PR Comment....
...
这是,你可以参考一下

另一方面,这一要求很有价值


您可以在上添加此功能的请求,这是我们提供产品建议的主要论坛。希望此功能可以成为现成的工具。

Hi@rioki。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒一下。谢谢你的回答,我的直觉是正确的,没有现成的解决办法;真可惜。