当前位置: 首页 > 知识库问答 >
问题:

报告从Jenkins到Azure DevOps的构建状态

曾德水
2023-03-14

有什么办法可以做到吗?

我在考虑调用一些Azure REST API作为Jenkins中的构建后操作,但是似乎没有API允许设置提交的状态,也没有API允许为从未由Azure DevOps本身启动的构建插入数据。

共有1个答案

洪弘亮
2023-03-14

有一个restful api,它允许您为提交中的提交页面创建git提交状态。

您可以调用以下API作为Jenkins中的构建后操作。

POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}/statuses?api-version=5.1

commitId是提交SHA。您可以从项目设置中Repos下的存储库中获得存储库ID。它在URL中。查看下面的截图。

$url="https://dev.azure.com/Org/Proj/_apis/git/repositories/....-..-442d-9dbe-76debfba1c60/commits/....faac7aafeefb3f1b83c/statuses?api-version=5.1"

$connectionToken ="Person Access Token"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))

$body ='{
  "state": "succeeded",
  "description": "The build is successful",
  "targetUrl": "https://dev.azure.com/.../.../_build/results?buildId=1577",
  "context": {
    "name": "Build123",
    "genre": "continuous-integration"
  }}'

Invoke-RestMethod -Uri $url -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method  Post -ContentType "application/json" -Body $body
 类似资料:
  • 问题内容: 我们已经在内部安装了Jenkins v2.7.3和Bitbucket Server v4.9.1,并希望将构建状态作为通知从Jenkins发送到Bitbucket Server。 到目前为止,我只找到了针对Bitbucket Cloud的解决方案(1和2),但没有找到针对Bitbucket Server的解决方案。关于如何实现这一目标的任何提示? https://wiki.jenkin

  • 问题内容: 我有一个詹金斯实例运行约200个工作。我需要一个插件来显示所有作业的构建统计信息。 每个项目的总构建 失败的 成功 每次构建的平均时间。 搜索了很多,但是找不到合适的报告插件。请帮忙 问题答案: 您可以根据要执行/显示的自定义/功能多少来查看以下几种: https://wiki.jenkins-ci.org/display/JENKINS/Global+Build+Stats+Plug

  • 目前的情况: 每周一早上我都会手动检查周末运行的Jenkins作业jUnit结果,使用Project Health插件我可以过滤时间框运行。然后我将此表复制粘贴到Excel中,并检查每个测试用例的输出日志,以查看失败的原因并记下失败的原因。每个周末在Excel中都有另一个选项卡。所有这些都使可追溯性成为一场噩梦,并导致耗时的体力劳动。 我在寻找什么(并希望在某种程度上已经存在): 存储我指定的所有

  • 我想通过合并来自两个单独的Jenkins maven项目的结果来生成一个统一的报告(我已经读到Allure支持这个特性--合并不同allure-results文件夹的结果),但是它不能正常工作,我将在下面解释。 现在我还安装了Allure2.6.0并将其添加到系统路径上,并正确配置ALLURE_HOME环境var。所以当我在这里运行这个命令时:allure serve 在《我的诱惑--来自我的智能

  • 我试图得到一个一步一步的肥皂测试报告到詹金斯。我已经在jenkins命令链接中添加了soapui testrunner,请参见下面: 开始“C:\程序文件(x86)\smartbear\soapui-5.2.1\bin\testrunner.bat”-R-A-J-“C:\users\cverma\desktop\qa-soapui-project.xml” 我想知道它将junit报告保存在哪里?我

  • 问题内容: 我正在使用groovy脚本获取当前正在运行的jenkins作业的构建状态,作为构建后的动作,如下所示: 现在,我想将“ result”变量的值发送到文件中的特定位置 既然我是groovy的新手,我对此并不了解,有没有办法像在shell脚本中那样做到这一点: 问题答案: 如果只想在文件中写一行,则可以使用下一个调用: