编辑以获得更多详细信息/说明。
您可以做的一件事是致电repository_dispatch
。您可以在repository_dispatch
此处查看GitHub文档以使用。
例如,如果您的GitHub Actions工作流程如下所示:
on:
repository_dispatch:
types: [run_tests]
name: Run tests
jobs:
test:
name: Run your tests
runs-on: ubuntu-latest
steps:
- run: |
echo "I just ran all your tests!"
您可以按照GitHub v3 API文档中说明的步骤创建存储库调度事件。
首先,在GitHub上创建个人访问令牌(PAT)进行身份验证。
然后,您可以curl
像这样运行:
curl \
-H "Authorization: token $YOUR_PAT" \
--request POST \
--data '{"event_type": "run_tests"}' \
https://api.github.com/repos/$USER/$REPOSITORY/dispatches
同时,我还想分享一个我正在与一个伙伴一起解决这个确切问题的小项目。
https://www.actionspanel.app/
ActionsPanel使用相同的repository_dispatch
API,但是使用GitHub App令牌这样做,因此您无需担心管理自己的PAT。这也使跨多人团队触发您的行动变得更加容易。
根据用户的请求和反馈,我们内置了一些功能以指定要将其发送repository_dispatch
到的分支,并且甚至构建了一种在您要执行操作时注入参数的方式。
您使用在回购中保留的声明性yaml文件配置按钮,ActionsPanel将读取该文件并动态创建UI来触发您的操作。
repository_dispatch
除此之外,可以结合watch
使用if: github.actor == 'hackerman'
以过滤掉随机的陌生人。还是更好-if: github.actor == github.event.repository.owner.login
额外的“安全性”:D