gitblog icon indicating copy to clipboard operation
gitblog copied to clipboard

巧妙利用 iOS 的快捷指令配合 GitHub Actions 实现自动化

Open yihong0618 opened this issue 3 years ago • 23 comments

之前一直在利用 Actions 的 crontab 每一个小时跑一次。但我一直在思考,能不能我只要跑完步就触发,那样可以节省很多资源,还可以跑完就能看到自己新生成的数据。

于是想到了,可以利用捷径啊!我们一般利用 app 记录跑步,如果能用某种手段跑完步,触发 Actions 就可以同步数据,或是完成其它功能了。

这样就不用 crontab 了,只要能利用手机触发就可以了。

那么怎么触发呢?

  • 最开始我知道 Actions 能手动触发是来自 @laixintao 的一篇博客 -- 玩了一下 Github 个人首页的 Profile 中的一个回复,原来是可以给 actions 增加手动触发选项的。 image
  • 如果可以手动触发,那么有没有 api 呢?搜索了下 GitHub API 文档,并没有发现这个。尝试搜索了一下 GitHub 嗯,在某个项目下发现某个人做过类似的想法。好了,api 有了。试试能不能触发。
  • 首先在 yml 文件中增加 workflow_dispatch: 可以手动触发
  • 先拿到这个项目的 actions id (需要自行申请 token)
 curl https://api.github.com/repos/yihong0618/blog/actions/workflows -H "Authorization: token d8xxxxxxxxxx" # change to your config

image

  • 拿到 action id 就可以利用 api post 触发 action 啦
 curl -H "Content-Type:application/json" -X POST -d '{"inputs": {}, "ref":"master"}' https://api.github.com/repos/yihong0618/blog/actions/workflows/: actionid/dispatches -H "Authorization: token d8e03d6xxxxxxxxxxxx"  # change to your config

那么怎么结合捷径呢?

  1. 捷径打开或关闭 app 运行,那么,跑完步一般会关闭 app, 只要关闭 app 触发就可以 image
  2. 增加捷径中的网络请求条件 image
  3. 填写你之前获取到的 url 和 payload (触发捷径的api) image
  4. 你跑完步关闭跑步 app 时候就可以触发这个捷径了。之后就可以把原来 crontab 的一小时一次,改成一天一次了。 image

还可以做什么呢?

  1. 利用 shanbay_remember 扇贝背完今日单词,关闭 app 时触发捷径自动发送今日的单词 mp3 和单词整理到 tg
  2. 利用地理位置或 wifi 触发,到公司自动发送每日 GitHub status
  3. 可以利用一个 action 触发另一个项目的 action,实现另一个 repo 的更新
  4. 利用关闭闹钟同步自己起床记录
  5. ..........欢迎大家想到好玩的补充
  6. 记录展示自己的心跳 -- iBeats image

另外

  1. 目前主分支可能是 main 而不是 master
  2. 可能需要 inputs 请按下图配置
  3. yml 中的 inputs 也可以按下图配置

image image

yihong0618 avatar Dec 23 '20 03:12 yihong0618

捷徑好像很好用的樣子,我也想用iphone...

frostming avatar Dec 23 '20 03:12 frostming

捷徑好像很好用的樣子,我也想用iphone...

我拍脑袋感觉安卓应该有替代品。

yihong0618 avatar Dec 23 '20 05:12 yihong0618

感谢分享😄

beyoung avatar Apr 07 '21 03:04 beyoung

感谢分享😄

谢谢哈哈。

yihong0618 avatar Apr 07 '21 05:04 yihong0618

慕名而来,这个用github issue写博客这个思路简直是妙啊!

W4J1e avatar Aug 18 '21 06:08 W4J1e

慕名而来,这个用github issue写博客这个思路简直是妙啊!

谢谢哈哈哈

yihong0618 avatar Aug 18 '21 06:08 yihong0618

里面说的 需要自行申请 token,是去哪里申请呢?

phh95 avatar Sep 27 '21 02:09 phh95

里面说的 需要自行申请 token,是去哪里申请呢?

就是你 gitblog 的 token

yihong0618 avatar Sep 27 '21 02:09 yihong0618

如果要让触发后的结果显示在 GitHub ID 同名的 profile 页面中,是不是要把 workflow 文件放在 GitHub ID 同名的仓库中呢?看到你之前的 workflow 文件删除了 https://github.com/yihong0618/gitblog/blob/master/.github/workflows/generate_kb.yml 访问不了

phh95 avatar Sep 27 '21 02:09 phh95

如果要让触发后的结果显示在 GitHub ID 同名的 profile 页面中,是不是要把 workflow 文件放在 GitHub ID 同名的仓库中呢?看到你之前的 workflow 文件删除了 https://github.com/yihong0618/gitblog/blob/master/.github/workflows/generate_kb.yml 访问不了

可以参考这个 https://github.com/yihong0618/iBeats

yihong0618 avatar Sep 27 '21 03:09 yihong0618

蟹蟹分享

ygbingo avatar Nov 24 '21 03:11 ygbingo

感谢yihong大哥的分享!

lofiCafe avatar Nov 29 '21 10:11 lofiCafe

感谢yihong大哥的分享!

客气了。

yihong0618 avatar Nov 30 '21 01:11 yihong0618

蟹蟹分享

客气~

yihong0618 avatar Nov 30 '21 01:11 yihong0618

image

github官方提供。 ps:本质是一样的,纯分享一下。

antonio081014 avatar Feb 07 '22 22:02 antonio081014

请问如何使用捷径更新 repository secret? 看文档 https://docs.github.com/en/rest/actions/secrets 中的Create or update a repository secret部分,不太明白 key_id 是什么。

Mackerly avatar Sep 26 '22 02:09 Mackerly

@Mackerly secret 在项目 setting 里设置。

yihong0618 avatar Sep 26 '22 02:09 yihong0618

老哥这太酷了。 我在安卓上使用 MacroDroid,用来自动同步 GitHubPoster、running_page,太方便了。

image

i-abc avatar Oct 22 '22 02:10 i-abc

老哥这太酷了。 我在安卓上使用 MacroDroid,用来自动同步 GitHubPoster、running_page,太方便了。

image

哈哈

yihong0618 avatar Oct 22 '22 04:10 yihong0618

老哥整个项目太酷了!我从昨天晚上8点看到现在!(也不是一直看👀,自己跟着搭建了我的第一版博客,目前还没实现自动化的更新等。)

太有趣了,我希望后续可以继续搭建起我的其他功能。

太有意思的项目啦

QiYongchuan avatar Apr 20 '23 20:04 QiYongchuan

老哥整个项目太酷了!我从昨天晚上8点看到现在!(也不是一直看👀,自己跟着搭建了我的第一版博客,目前还没实现自动化的更新等。)

太有趣了,我希望后续可以继续搭建起我的其他功能。

太有意思的项目啦

谢谢~(^-^)

yihong0618 avatar Apr 20 '23 23:04 yihong0618

可以搞个情侣心跳,当心跳一样的时候出个特效

eatcosmos avatar Nov 19 '23 16:11 eatcosmos

可以搞个情侣心跳,当心跳一样的时候出个特效

来!

yihong0618 avatar Jan 04 '24 12:01 yihong0618