用于ManualTrigger Automate,通过自动化工作流程定时执行,集成GitHub,实现文件的获取、比较和更新,确保数据同步,提升工作效率。
该工作流适合以下人群:
- 开发者:需要定期备份和同步 GitHub 上的工作流。
- 团队协作:希望在团队中共享和维护工作流的成员。
- 自动化爱好者:对自动化任务感兴趣,想要提高工作效率的用户。
- 项目管理者:需要确保项目文档和工作流的版本控制和更新记录的管理者。
此工作流解决了以下问题:
- 版本控制:自动从 GitHub 获取工作流并与本地版本进行比较,确保最新版本的同步。
- 备份机制:定期备份工作流,防止数据丢失。
- 差异检测:自动检测工作流的变化,提供不同状态的处理(相同、不同、新),确保团队成员可以及时了解工作流的更新情况。
工作流的详细步骤如下:
1. 定时触发:每天在 20:11 自动执行。
2. 全局变量设置:设置 GitHub 仓库的相关信息,如 owner、repository 和 file path。
3. 获取工作流:通过 HTTP 请求从本地服务器获取所有工作流。
4. 数据处理:将获取的数据转换为数组格式,以便逐个处理。
5. 逐个处理:使用 SplitInBatches
节点逐个处理每个工作流。
6. 获取 GitHub 上的工作流:通过 GitHub API 获取对应的工作流文件。
7. 合并数据:将获取的工作流数据与 GitHub 上的数据合并。
8. 状态判断:使用 Switch
节点判断工作流的状态(相同、不同、新)。
9. 处理不同状态:
- 相同:无需操作。
- 不同:更新 GitHub 上的文件。
- 新:创建新的文件并上传到 GitHub。
10. 完成:工作流执行结束,所有结果会被记录和处理。
用户可以通过以下方式自定义和调整此工作流:
- 修改触发时间:在 Daily @ 20:00
节点中调整 hour
和 minute
的值,以更改执行时间。
- 更新 GitHub 信息:在 Globals
节点中修改 repo.owner
、repo.name
和 repo.path
的值,适应不同的 GitHub 仓库。
- 自定义处理逻辑:在 isDiffOrNew
节点中,根据需求调整 JSON 对象的比较逻辑,以满足特定的业务需求。
- 添加额外节点:根据需要可以在工作流中添加新的节点,以实现更复杂的功能或集成其他服务。