Как я могу программно добавлять ресурсы на страницу GitHub?

У меня есть приложение GitHub, настроенное для извлечения некоторых данных, аутентификации с помощью установочного токена и ежедневной фиксации их в соответствующем репозитории. Я хотел бы, чтобы эти новые данные были доступны на сайте GitHub Pages для репозитория, для которого требуется сборка GitHub Pages. В приложении GitHub есть права чтения и записи, назначенные для «Содержимое репозитория» и «Страницы».

Похоже, что ежедневная фиксация пытается перестроить страницу, как в настройках GitHub Pages репозитория, после ежедневной фиксации, которую я вижу:

Your site is having problems building: Page build failed.

Пустая фиксация с моей основной учетной записью (не в приложении GitHub) после неудачной сборки запускает успешную перестройку, как показано ниже.

23-25 ​​октября 2018 г .: https://github.com/btouellette/HHHFreshBotRedux/commit/master

Ничто в документации GitHub об этих общих сбоях сборки (https://help.github.com/articles/generic-jekyll-build-failures/) не имеет отношения к делу, поскольку я не использую ключ развертывания, основная учетная запись, на которой установлено приложение GitHub, имеет подтвержденный адрес электронной почты, и я отправляю только статические файлы и вообще не использую Джекилла.

Поскольку я уже аутентифицируюсь с помощью API GitHub для фиксации файла, я попытался использовать конечную точку API, чтобы вручную запросить сборку страницы (https://developer.github.com/v3/repos/pages/#request-a-page-build). В документации говорится, что эта конечная точка включена для приложений GitHub, но когда я пытаюсь ее вызвать, я получаю ответ «Ресурс недоступен при интеграции».

Есть ли способ устранить сбои сборки, заставить конечную точку API сборки страницы работать с приложением GitHub или найти другой способ программно сделать новые файлы доступными на сайте GitHub Pages?

Есть ли у вашего приложения права на запись на страницы developer.github.com/v3/apps/permissions/#permission-on-page‌ s

osowskit 26.10.2018 00:39

Да, у него есть права на чтение и запись на страницах

Brian 26.10.2018 01:52
Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
1
2
318
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используя «базовую» аутентификацию в Octokit и явно указав пользователя и пароль, я могу успешно запросить сборку страниц. Конечная точка сборки включена для приложений GitHub, но только для запросов от пользователя к серверу, когда приложение действует как пользователь с учетными данными пользователя.

С другой стороны, я обнаружил, что могу ссылаться на необработанный контент в репозитории GitHub напрямую, а не использовать относительные ссылки на сайте GitHub Pages. Это работает, но лучше иметь файлы в сборке страниц, поскольку они обслуживаются через CDN.

Итак, используя полные URL-адреса, например: https://raw.githubusercontent.com/btouellette/HHHFreshBotRedux/master/docs/daily/20181025.json

Вместо относительных URL-адресов для сайта GitHub Pages, например: "daily / 20181025.json"

Я могу захватывать файлы в Javascript, которые не были добавлены в сборку GitHub Pages, но были доступны в репозитории, и использовать их для динамического создания сайта.

Другие вопросы по теме