Я пытаюсь поместить некоторые файлы конфигурации под контроль версий с помощью Github. ЕДИНСТВЕННЫЙ способ получить эти конкретные файлы конфигурации — это запрос GET к серверу хостинга. Сервер отвечает ZIP-файлом.
Структура файла .zip выглядит примерно так:
|-Folder1
--|-File1.json
--|-File2.json
--|-Pic1.jpg
|-Folder2
--|-File3.json
--|Folder3
----|Pic2.jpg
|-File4.json
|-File5.json
Как видите, это смесь текстовых и бинарных файлов. Также имеет вложенную структуру папок.
Мне нужно:
- Отправьте этот ZIP-файл на Github с помощью Github REST API (нет проблем)
- Но ПЕРЕД фиксацией, как я могу программно извлечь папки и файлы (ОСТАВЛЯЯ СТРУКТУРУ ПАПКИ НА МЕСТЕ)
- Отправить результаты на Github
Я проверил вопрос/решения, упомянутые здесь, но они не совсем совпадают/имеют несколько лет.
У кого-нибудь есть рабочий процесс для этого? Я должен представить, что КТО-ТО сталкивался с подобными требованиями.
0
SeaDude
13 Дек 2019 в 23:28
1 ответ
В итоге я использовал Power Automate, чтобы справиться с этим.
В принципе,
- ПОЛУЧИТЬ файл
.zip
- Добавьте его в OneDrive для бизнеса
- Распакуйте его туда (структура папок «сглажена», но, к счастью, OneDrive «сохраняет» ее, переименовывая каждый файл)
- Пример:
Folder1/File1.json
в.zip
становитсяFolder1_File1.json
после извлечения - При фиксации на Github через API я просто сделал
replace
для имени файла; ВКЛЮЧАЯ/
как часть пути. - Пример URL:
https://api.github.com/repos/SeaDude/replace(items('FOR_EACH_app')?['properties']?['DisplayName'], ' ', '-')/contents/replace(items('FOR_EACH_source_file_2')?['Name'],'_','/')
<ул> - Очевидно, что вы можете указать пустой (или непустой) путь как часть фиксации API. Если каталог пуст, Github создаст его!
0
SeaDude
13 Янв 2020 в 09:17
Похожие вопросы
Связанные вопросы
Новые вопросы
github-api
API, используемый для получения информации о данных на GitHub.