我刚刚开始使用Azure Pipelines,并且刚刚开始使用它。
我一直在创建管道构建,然后使用GET请求将数据发送到网站以显示结果。
我现在已经被问到,如果我可以得到一行代码和代码覆盖率添加到网站。这意味着我需要更新我的GET请求以包含此内容。
通过使用一些更新的yaml代码,我已经能够在管道日志文件中记录代码行。这将在日志中创建一个文本文件。
令人烦恼的是,这些结果不会添加到GET请求中。我用的是端点https://dev.azure.com/{organization}/_apis/public/build/builds/{buildId}/ticketedlogs?projectId={projectId}&api-version=4.1-preview.1
https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs/{runId}/logs/{logId}?api-version=7.1-preview.1
我可以得到所有构建的列表,但没有其他的。我似乎无法瞄准一个确切的构建或项目。
我不能为代码覆盖率工作做任何事情。我试过床单,但没有成功。我一直收到错误消息说请求与net 5不兼容.但我在net 7上,没有什么说net 5。
我需要以某种方式将数据发送到我的网站。
我正在考虑的事情,
1.向yaml管道添加post请求
1.获取日志zip文件,然后处理结果以查找行号
1.将所有内容发送到Google Drive,然后使用API从驱动器中获取文件夹和数据
这是我失败的代码覆盖率:
- stage: 'Test'
displayName: 'Test stage'
jobs:
- job: 'TestWithCodeCoverage'
displayName: 'Test with Code Coverage'
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'test'
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration) /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura'
publishTestResults: true
testRunTitle: 'Code Coverage'
- script: |
dotnet tool install -g coverlet.console
coverlet "$(Build.SourcesDirectory)/PipelineRepo.Tests/bin/$(buildConfiguration)/netcoreappX.Y/PipelineRepo.Tests.dll" --target "dotnet" --targetargs "test PipelineRepo.Tests/PipelineRepo.Tests.csproj --configuration $(buildConfiguration)" --format cobertura
displayName: 'Calculate Code Coverage'
- task: PublishCodeCoverageResults@1
displayName: 'Publish Code Coverage Results'
inputs:
codeCoverageTool: 'Cobertura'
summaryFileLocation: '$(Agent.TempDirectory)/**/*.cobertura.xml'
reportDirectory: '$(Build.SourcesDirectory)/CodeCoverageReports'
//如何将代码行保存到日志中
- powershell: |
$loc = Get-ChildItem -Recurse -File -Path $(System.DefaultWorkingDirectory) -Include *.cs,*.vb,*.js,*.ts,*.html,*.css,*.scss,*.json | Get-Content | Measure-Object -Line
Write-Host "Total lines of code: $($loc.Lines)"
displayName: 'Count Lines of Code xxx'
condition: succeeded()
我很困惑,想知道是否有人知道如何使用API来做到这一点,或者只是有一个巧妙的方法来发送数据给我自己。
1条答案
按热度按时间myzjeezk1#
如果它对您有帮助,则不使用usre,但您可以使用additionalCodeCoverageFiles选项将aQuery文件作为工件发布,使用模式将更多信息上传到报告:
https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/publish-code-coverage-results-v1?view=azure-pipelines