0

归根结底,我正在尝试实现从此处链接的解决方案:Reuse Github Actions self hosting runner on multiple repositories。但是教程会引导您在 UI 中设置 GitHub 应用程序,我正在尝试通过 API 来完成。


语境:

  1. 在 GitHub Enterprise v3.0(即将迁移到 v3.1)中创建新的“GitHub 应用程序”(不是“OAuth 应用程序”)。

  2. 通过创建“应用程序清单”(https://docs.github.com/en/enterprise-server@3.0/developers/apps/building-github-apps/创建-a-github-app-from-a-manifest)。

  3. 我读到的关于 docs.github.com 权限的所有内容最终都指向https://docs.github.com/en/enterprise-server@3.0/rest/reference/permissions-required-for-github-apps,其中包括可与 API 一起使用的特定值。

  4. 在 GHE 实例上,具有以下模式的 URL 上有大量可用权限列表:

    https://{HOSTNAME}/organizations/{ORG}/settings/apps/{APP}/permissions
    
  5. 我正在尝试设置的特定权限说:

    自托管
    运行器 查看和管理组织可用的操作自托管运行器。
    访问:读写

  6. 在文档中(https://docs.github.com/en/enterprise-server@3.0/developers/apps/building-github-apps/creating-a-github-app-from-a-manifest#github-app- manifest-parameters ) 有一个参数叫做default_permissions.

    用于此权限的标识符(键)是什么,值在哪里write

    我试过了:

    • 记录在案的Self-hosted runners
    • 猜测self-hosted runners
    • 猜测self-hosted_runners
    • 猜测self_hosted_runners
    • 猜测selfhosted_runners
    • 猜测runners

    ……但最终,可以在这里使用的实际值(据我经过几个小时的挖掘和猜测)是未记录的。

    actions:readchecks:read似乎工作。这些没有记录,但我能够通过查看 URL、做出有根据的猜测和测试来弄清楚。

  7. 我可以在 Internet 上找到的所有教程,包括 docs.github.com 上的教程,都将引导您通过 UI 创建一个新的 GitHub 应用程序。我非常明确地尝试通过 API 执行此操作。

有小费吗?我错过了什么吗?这在 GHE 中还没有吗?


这是我的应用清单,已编辑。

{
  "public": true,
  "name": "My app",
  "description": "My app's description.",
  "url": "https://github.example.com/my-org/my-repo",
  "redirect_url": "http://localhost:9876/register/redirect",
  "default_events": [],
  "default_permissions": {
    "actions": "read",
    "checks": "read",
    "runners": "write"
  },
  "hook_attributes": {
    "url": "",
    "active": false
  }
}

有了这"runners": "write"条线,我收到的错误消息说:

无效的 GitHub 应用程序配置
配置似乎不是有效的 GitHub 应用程序清单。
×错误 默认权限记录资源不在列表中

没有"runners": "write"线,提交成功。

4

1 回答 1

0

GitHub 团队终于更新了文档。我正在寻找的许可是organization_self_hosted_runners

于 2021-09-20T07:37:28.897 回答