Daa*_*aan 16 github-api github-actions
GitHub Action“dotnet-tests-report”将包含测试结果的 Markdown 页面附加到 Github Action 工作流程运行摘要。这真的很好。工作流程完成后,结果会立即变得清晰。以视觉方式清晰。
它是开源的,但代码很复杂,所以我仍然不知道如何做到这一点。
我想要的是这样的:
riQ*_*iQQ 10
它使用 GitHub API创建检查运行。
POST https://api.github.com/repos/{owner}/{repo}/check-runs
创建或更新检查运行时,您可以output
在请求正文中指定参数。该操作使用报告参数dotnet-tests-report
的文本属性:output
输出对象的属性 | 描述 |
---|---|
title (细绳) |
必需的。检查运行的标题。 |
summary (细绳) |
必需的。检查运行的摘要。该参数支持Markdown。 |
text (细绳) |
检查运行的详细信息。该参数支持Markdown。 |
annotations (对象数组) |
将分析中的信息添加到特定代码行。注释在 GitHub 上拉取请求的“检查和文件更改”选项卡中可见。Checks API 将每个 API 请求的注释数量限制为最多 50 个。要创建超过 50 个注释,您必须向更新检查运行端点发出多个请求。每次更新检查运行时,注释都会附加到检查运行已存在的注释列表中。有关如何在 GitHub 上查看注释的详细信息,请参阅“关于状态检查”。有关如何使用此参数的详细信息,请参阅annotations 对象描述。 |
images (对象数组) |
将图像添加到 GitHub 拉取请求 UI 中显示的输出。有关详细信息,请参阅images 对象描述。 |
$url = "https://api.github.com/repos/$repoFullName/check-runs"
$hdr = @{
Accept = 'application/vnd.github.antiope-preview+json'
Authorization = "token $ghToken"
}
$bdy = @{
name = $report_name
head_sha = $ref
status = 'completed'
conclusion = $conclusion
output = @{
title = $report_title
summary = "This run completed at ``$([datetime]::Now)``"
text = $reportData
}
}
Invoke-WebRequest -Headers $hdr $url -Method Post -Body ($bdy | ConvertTo-Json)
Run Code Online (Sandbox Code Playgroud)
Von*_*onC 10
Konrad Pabjan于 2022 年 5 月发布的帖子“通过工作摘要增强 GitHub 操作”确实提到:
\n\n\n\nActions 用户长期以来一直要求此类功能。
\n
\n操作中用户生成的内容以前仅限于日志和注释。聚合和分组大量信息可能很困难。注释在突出显示错误和警告等内容时非常重要,但不适合丰富的输出,例如测试摘要或构建报告。
\n为了解决这些问题,我们\xe2\x80\x99甚至看到用户使用我们的 API(使用作为运行的一部分提供的 API)手动创建检查运行
\nGITHUB_TOKEN
,这会导致生产力下降。
\n\n很明显,存在功能差距,迫使用户即兴创作不太理想的解决方案,这就是我们开发工作摘要的原因!
\n
所以:
\n\n\nGitHub Actions 作业摘要允许在每个作业生成的运行摘要上自定义 Markdown 内容。
\n自定义 Markdown 内容可用于各种创意目的,例如:
\n\n
\n- 聚合并显示测试结果
\n- 生成报告
\n- 独立于日志的自定义输出
\n创建摘要
\n只需将 Markdown 内容输出到我们引入的名为 的新环境变量
\n$GITHUB_STEP_SUMMARY
。
\n添加到此文件的任何 Markdown 内容都将显示在“操作运行摘要”页面上。
\n那\xe2\x80\x99就是它!
steps:\n - name: Adding markdown\n run: echo \xe2\x80\x98### Hello world! :rocket:\xe2\x80\x99 >> $GITHUB_STEP_SUMMARY\n
Run Code Online (Sandbox Code Playgroud)\n\n或者,将测试作为 CI 的一部分运行:
\n\n 归档时间: |
|
查看次数: |
6115 次 |
最近记录: |