要在README上显示VSTS构建结果(例如代码覆盖率结果),您需要使用自己的脚本来处理它 .
主要思想是获取构建日志的相关信息,并在README中提交信息 .
详细步骤如下:
在CI构建定义的末尾添加PowerShell任务
在powershell脚本中,您需要从构建日志中获取测试结果,格式化并在README中提交信息 . 最后将更改推送到您的github仓库 . PowerShell脚本中的函数需要按照以下步骤来实现 .
获取相关的构建日志
GET https://account.visualstudio.com/project/_apis/build/builds/$(Build.BuildId)/timeline?api-version=4.1
并且您可以按任务名称(例如 VSTest )搜索特定测试的日志:
{
"id": "407545ba-79a9-55a7-47dd-583380011305",
"parentId": "df143ba0-1c7a-5b21-02e1-d41a394e29c9",
"type": "Task",
"name": "VsTest - testAssemblies",
"startTime": "2018-05-01T08:20:45.3233333Z",
"finishTime": "2018-05-01T08:21:55.3733333Z",
"currentOperation": null,
"percentComplete": null,
"state": "completed",
"result": "succeeded",
"resultCode": null,
"changeId": 14,
"lastModified": "0001-01-01T00:00:00",
"workerName": "WXV-XINDO-12R2",
"order": 4,
"details": null,
"errorCount": 0,
"warningCount": 0,
"url": null,
"log": {
"id": 5,
"type": "Container",
"url": "https://marinaliu.visualstudio.com/f7855e29-6f8d-429d-8c9b-41fd4d7e70a4/_apis/build/builds/2897/logs/5"
},
"task": {
"id": "ef087383-ee5e-42c7-9a53-ab56c98420f9",
"name": "VSTest",
"version": "1.0.86"
}
收集信息并格式化自述文件
您可以获取满足需求的信息,并格式化README文件 .
提交并推送更改到您的github仓库
git checkout $(Build.SourceBranchName)
git add .
git commit -m 'update README'
git push origin $(Build.SourceBranchName)
Note:
由于您需要在CI构建期间推送README的更改,因此最好在CI构建定义中添加一个步骤,以检查README更新是否触发了构建 .
由于git命令通常显示非标准输出,因此您需要为PowerShell任务取消选择“标准错误时失败”选项 .