在GitHub api中,有一个api接口来创建问题注释。我想在GitHub操作CI/CD管道中使用它。
我创建工作流。
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 bot没有显示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能够得到覆盖报告。
但是,步骤Post jest coverage comments无法获得覆盖率报告。而不是报告,由GitHub api创建的注释显示了一个文件/目录路径。
如何将覆盖率报告添加到GitHub api的注释中?
发布于 2022-06-08 05:31:08
环境变量$GITHUB_STEP_SUMMARY是一个文件名。
你的代码是做什么的:
npm run test-coverage >> $GITHUB_STEP_SUMMARY echo "UNITTESTCOVERAGE=$GITHUB_STEP_SUMMARY" >> $GITHUB_ENV UNITTESTCOVERAGE设置为与GITHUB_STEP_SUMMARY相同(文件名)echo "" >> $GITHUB_STEP_SUMMARY 但是,您可能想要的是将文件的内容设置在步骤摘要env变量后面,作为新的env变量:
echo "UNITTESTCOVERAGE=$(cat $GITHUB_STEP_SUMMARY)" >> $GITHUB_ENV
https://stackoverflow.com/questions/72445812
复制相似问题