uses: xt0rted/slash-command-action@v1
https://github.com/xt0rted/slash-command-action
を使ったらいい感じだった。
GitHub Actions slash command
と検索するといくつか出てくる。
xt0rted/slash-command-action はyamlにコマンド名を書いてフィルタ出来るのがお手軽でいい。 (IssueとPRにも出ているけれど、コマンドになってなかったり違ったりするとfailしちゃうけれど。。)
全体像はこんな具合。
name: test command on issue
on:
issue_comment:
types: [created]
jobs:
issue-commented:
name: Issue comment
if: ${{ !github.event.issue.pull_request }}
runs-on: ubuntu-latest
steps:
- name: Check publish command
uses: xt0rted/slash-command-action@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
command: test
reaction: "true"
reaction-type: "eyes"
- name: Do something
run: |
echo $ISSUE_JSON
env:
ISSUE_JSON: ${{ toJson(github.event.issue) }}
if で、PRのコメントなのか、Issueのコメントなのかでフィルタができるのでやっている。 あとはコメント編集時はやらなくていいと思うので、createdでトリガーにした。 それと toJson を使ったほうが扱いが楽っぽい感じ。改行がうまくrunに渡せかった。。