Saj*_*ath 26 github github-actions
请用一些现实世界的例子解释这两个事件触发器之间的区别。
Von*_*onC 11
显然,repository_dispatch事件只能在默认分支上读取
看:
对于后者,来自威廉·维伦纽夫:
# TODO: replace :token, :user, and :repo
curl -H "Authorization: token :token" \
-H 'Accept: application/vnd.github.everest-preview+json' \
"https://api.github.com/repos/:user/:repo/dispatches" \
-d '{"event_type": "awesomeness", "client_payload": {"foo": "bar"}}'
Run Code Online (Sandbox Code Playgroud)
name: example-client-payload-action
on: repository_dispatch
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: 'echo "field: ${{ github.event.client_payload.foo }}"'
- run: 'echo "payload: ${{ toJson(github.event.client_payload) }}"'
- run: echo baz
if: github.event.action == 'baz'
Run Code Online (Sandbox Code Playgroud)
正如这里所见:
只是在这里发布,因为它似乎没有记录 - 您还可以指定要触发的类型列表:
on:
repository_dispatch:
types:
- manual-trigger-mytest
- manual-trigger-all
Run Code Online (Sandbox Code Playgroud)