如何以编程方式将资源添加到 GitHub 页面?

How can I programmatically add resources to a GitHub Page?

我有一个 GitHub 应用程序设置为提取一些数据,使用安装令牌进行身份验证,并将其每天提交到关联的存储库。我希望这些新数据可以在需要 GitHub 页面构建的 repo 的 GitHub 页面站点上使用。 GitHub 应用已在 "Repository contents" 和 "Pages" 上分配了读写权限。

看来每日提交正在尝试按照存储库的 GitHub 页面设置在每日提交后重建页面我看到:

Your site is having problems building: Page build failed.

在构建失败后使用我的主帐户(不是 GitHub 应用程序)进行空提交会触发成功重建,如下所示。

2018 年 10 月 23-25 日: https://github.com/btouellette/HHHFreshBotRedux/commits/master

GitHub 文档中没有关于这些一般构建失败 (https://help.github.com/articles/generic-jekyll-build-failures/) 的内容,因为我没有使用部署密钥,GitHub 应用程序安装在主帐户上有一个经过验证的电子邮件地址,我只推送静态文件,根本不使用 Jekyll。

因为我已经使用 GitHub API 进行身份验证以提交文件,所以我尝试利用 API 端点手动请求页面构建(https://developer.github.com/v3/repos/pages/#request-a-page-build ).文档说此端点已为 GitHub 应用程序启用,但当我尝试调用它时,我收到响应“资源无法通过集成访问”。

有什么方法可以解决构建失败问题,让页面构建 API 端点与 GitHub 应用程序一起工作,或者找到另一种方法使新文件在 GitHub 程序化页面站点?

通过在 octokit 中使用 'basic' 身份验证并提供明确的用户和密码,我能够成功请求页面构建。为 GitHub 个应用程序启用了构建端点,但仅适用于应用程序充当具有用户凭据的用户的用户到服务器请求。

或者我发现我可以直接引用 GitHub 存储库中的原始内容,而不是使用 GitHub 页面站点中的相关链接。这行得通,但是在页面中构建文件会更好,因为它们是通过 CDN 提供的。

因此,通过使用完整的 URL,例如: https://raw.githubusercontent.com/btouellette/HHHFreshBotRedux/master/docs/daily/20181025.json

而不是 GitHub 页面站点的相对 URL,例如: "daily/20181025.json"

我能够在 Javascript 中获取尚未添加到 GitHub 页面构建但已在存储库中可用的文件,并使用它们动态构建站点。