在GitHub API中,有一个API用于创建问题评论。我希望在GitHub Actions CI/CD管道中使用它。
我创建了工作流程。
GitHub机器人不会展示Jest测试覆盖率结果,而是添加了评论。
如何获取实际结果?
我创建了工作流程。
name: Workflow
on:
push:
branches:
- main
pull_request:
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run jest coverage and log the result to GitHub summary
run: |
npm run test-coverage >> $GITHUB_STEP_SUMMARY
echo "UNITTESTCOVERAGE=$GITHUB_STEP_SUMMARY" >> $GITHUB_ENV
echo "" >> $GITHUB_STEP_SUMMARY
- name: Post jest coverage comments
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
REPO: ${{ github.repository }}
SUMMARY_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
https://api.github.com/repos/$REPO/issues/$PR_NUMBER/comments \
-d '{"body":"# Job Summary\n'$SUMMARY_URL'\n'$UNITTESTCOVERAGE'\n"}'
deploy:
...
GitHub机器人不会展示Jest测试覆盖率结果,而是添加了评论。
Job Summary
...
/home/runner/work/_temp/_runner_file_commands/step_summary_d0****01-f**9-4**7-b**7-f0******dc3f
如何获取实际结果?
更新1
我移除了不相关的步骤以使其更加清晰。
回应
更新2
我设置了jest --coverage
以创建文本格式的覆盖率报告(和其他格式,这里不重要),我想创建一个评论来显示文本格式的报告。
在package.json
中,我添加了npm run test-coverage
来运行Jest
覆盖率报告。因此,npm run test-coverage
将在终端中打印结果。
我使用了npm run test-coverage >> $GITHUB_STEP_SUMMARY
将结果重定向到GitHub步骤摘要,这样我就可以在GitHub步骤摘要中看到覆盖率报告。
我想使用GitHub API创建一条评论,在PR中显示覆盖率报告。我使用echo "UNITTESTCOVERAGE=$GITHUB_STEP_SUMMARY" >> $GITHUB_ENV
设置环境变量UNITTESTCOVERAGE
为$GITHUB_STEP_SUMMARY
,并希望UNITTESTCOVERAGE
可以获取覆盖率报告。
发布 jest 覆盖率评论
无法获取覆盖率报告。GitHub API 创建的评论显示了一个文件/目录路径,而不是报告。如何通过 GitHub API 将覆盖率报告添加到评论中?