【问题标题】:GitHub action for issue_comment doesn't shown in checks for PRissue_comment 的 GitHub 操作未显示在 PR 检查中
【发布时间】:2020-07-30 18:11:42
【问题描述】:

我在:issue_comment 上创建了一个 GitHub 操作,我只能在操作选项卡中看到流程正在运行,但在我发表评论的 PR 中看不到。 我想在 PR 中发表评论并触发对该 PR 的检查(而不是在 master 上)

这是我的工作流程:

name: issue-comment-CI-test 

on: 
  issue_comment:    
    types: [created]    
jobs:   
  build:    

    runs-on: ubuntu-latest  

    steps:  
    - uses: actions/checkout@v1 
    - name: Run a one-line script   
      run: echo Hello, world!   
    - name: Run a multi-line script 
      run: echo ${{ github.event.comment.body }}

目前,我只是打印评论正文,但我计划检查正文,如果它等于“运行集成测试”,那么我将运行我的集成测试(maven)

【问题讨论】:

  • 您必须获取 PR ID 并手动检查 PR。
  • 您必须出示您的工作流程文件。 GitHub 操作不会在分支、问题或公关的上下文中运行,因此这完全取决于您如何配置工作流程
  • @smac89 我已经添加了工作流
  • @dan1st 你能举个例子吗?我不明白

标签: github github-actions


【解决方案1】:

基本上你需要结帐到 PR 来源。为此,首先向 pr url 发出 API 请求并获取所有 ref。 然后在获取的 repo 和分支上进行结帐。

第一步

- name: Github API Request
    id: request
    uses: octokit/request-action@v2.0.0
    with:
      route: ${{ github.event.issue.pull_request.url }}
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

第 2 步

- name: Checkout PR Branch
    uses: actions/checkout@v2
    with:
      token: ${{ secrets.GITHUB_TOKEN }}
      repository: ${{ fromJson(steps.request.outputs.data).head.repo.full_name }}
      ref: ${{ steps.pr_data.outputs.branch }}

您可以按照以下示例进行操作,特别是 GitHub API Request 部分。 我也在我们的一个工作流程中实现了它,你也可以参考一下。

https://github.com/adrianjost/workflow-trigger-comment-example/blob/master/.github/workflows/demo.yml https://github.com/TeamAmaze/AmazeFileManager/blob/master/.github/workflows/android-debug-artifact-ondemand.yml

【讨论】:

  • 我按照你的例子,工作正常!但是知道如何将动作构建链接到 PR 吗?目前它只显示与 PR 打开的钩子相关的第一个构建
  • 此答案省略了一个步骤,即设置 pr_data 数据的步骤。它出现在两个示例中
  • 只是想知道,为什么这里需要pull_request: types: [opened]
【解决方案2】:

【讨论】:

  • 如果我对 PR/branch 发表评论,GITHUB_REF 也始终是主控
  • {{github.event.id}} 呢?
  • {{github.event.pull_request.id}}
  • 硬编码,但是,检查并没有出现在 PR 检查中,只出现在 git hub repo 操作中
  • 也许使用on:pull_request_review_comment 或类似的东西?
猜你喜欢
  • 2021-08-01
  • 2021-03-02
  • 1970-01-01
  • 2022-01-10
  • 2021-08-11
  • 2022-06-29
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
相关资源
最近更新 更多