为什么需要通过快捷指令实现自动化
- 最初的 Github Actions 需要 crontab 来定时进行自动化,这样做不仅消耗过多资源,而且在完成某个任务时不会立即获取新生成的数据。
- 如果我可以完成某个特定动作,例如关闭闹钟、充电、关闭 APP 时自动进行 Actions时,这样做非常高效,方法是可以利用快捷指令触发 Actions 同步数据
- 下面拿跑步举例,一般会用 app(我用的是 keep)来记录跑步数据,实现的操作是当关闭 keep 时会自动进行 Actions,更新数据
如何触发 Actions
-
首先在 yml 文件中增加
workflow_dispatch
: 可以手动触发 -
先拿到这个项目的 actions id (需要自行申请 token)
- 在个人的 settings 中申请 项目的token,然后在项目里的 Secrets and variables 里的 Actions 设置密钥,内容为刚刚申请的 token
- 执行下面代码获取 actionid
curl https://api.github.com/repos/jujimeizuo/running_page/actions/workflows -H "Authorization: token d8xxxxxxxxxx" # change to your config
-
拿到 action id 就可以利用 api post 触发 action 啦
curl -H "Content-Type:application/json" -X POST -d '{"inputs": {}, "ref":"master"}' https://api.github.com/repos/jujimeizu/running_page/actions/workflows/: ${actionid}/dispatches -H "Authorization: token d8e03d6xxxxxxxxxxxx" # change to your config
结合快捷指令
快捷指令
- 通过 icloud 获取 running-page-template
- 修改下面图片中字典的值即可
自动化
其他
- 可以通过关闭闹钟来同步自己的起床记录——这也是 yihong 大神写的
- 可以利用一个 action 触发另一个项目的 action,实现另一个 repo 的更新
- ...
Comments | NOTHING