如何使用 GitHub 操作访问 GitHub 问题评论正文?

Jan*_*har 6 github-actions

这是为 GitHub 问题评论设置操作触发器的方式.github/workflows/main.yml

on:
  issue_comment:
    types: [created, edited]
Run Code Online (Sandbox Code Playgroud)

假设我也可以阅读里面的问题评论main.yml并将其作为输入参数传递给我的操作。

我如何实际阅读问题评论body

Sam*_*ira 10

对于两种事件类型:

- run: echo ${{ github.event.comment.body }}

仅用于edited;编辑前获取评论正文:

- run: echo ${{ github.event.changes.body.from }}

您还可以在工作时向工作流程中添加一项额外的作业...

jobs:
 dump:
  runs-on: ubuntu-latest
  steps:
  - name: $github
    run:   echo "$GITHUB_CONTEXT"
    env:
     GITHUB_CONTEXT: ${{ toJson(github) }}

 # ...
Run Code Online (Sandbox Code Playgroud)

...这样您就可以轻松查看与触发事件相关的所有类型的数据。


gec*_*655 5

您不应该运行echo ${{ github.event.comment.body }},因为它可能会导致 shell 注入,从而允许攻击者执行任意代码。

改为运行:

- name: print body
  env:
    BODY: ${{ github.event.comment.body }}
  run: echo "$BODY"
Run Code Online (Sandbox Code Playgroud)

值得一读:https ://securitylab.github.com/research/github-actions-untrusted-input/#remediation