首页 > 解决方案 > 提取 .zip 文件/文件夹结构然后使用 Github API 提交到 Github 的最佳方法是什么?

问题描述

我正在尝试使用 Github 将一些配置文件置于版本控制之下。获取这些特定配置文件的唯一方法是通过对托管服务器的 GET 请求。服务器以 .zip 文件响应。

.zip 文件结构类似于:

|-Folder1
--|-File1.json
--|-File2.json
--|-Pic1.jpg
|-Folder2
--|-File3.json
--|Folder3
----|Pic2.jpg
|-File4.json
|-File5.json

如您所见,它混合了文本和二进制文件。还具有嵌套的文件夹结构。

我需要:

我已经检查了这里提到的问题/解决方案,但它们不太匹配/已经有几年了。

有人有这样做的工作流程吗?我不得不想象有人遇到过类似的要求。

标签: github-apiunzip

解决方案


我最终使用 Power Automate 来处理这个问题。

基本上,

  • 获取.zip文件
  • 将其添加到 OneDrive for Business
  • 在那里提取它(文件夹结构是“扁平的”,但幸运的是 OneDrive 通过重命名每个文件来“保留”它)
  • 示例:Folder1/File1.json.zip变得Folder1_File1.json一旦提取
  • 通过 api 提交到 Github 时,我只是replace为文件名做了一个;包括/作为路径的一部分。
  • 示例网址:https://api.github.com/repos/SeaDude/replace(items('FOR_EACH_app')?['properties']?['DisplayName'], ' ', '-')/contents/replace(items('FOR_EACH_source_file_2')?['Name'],'_','/')
    • 显然,您可以指定一个空(或非空)路径作为 API 提交的一部分。如果目录为空,Github 将创建它!

推荐阅读