问题标签 [github-app]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
206 浏览

github - 如何从 github 的客户端密码获取 pem 文件或生成 pem 文件?这是下面附上的img

在此处输入图像描述

这是我想从中生成 pem 文件的秘密。我想用它来验证 GitHub API 以生成 accessToken。

0 投票
2 回答
80 浏览

github - github 应用程序在哪里运行以及资源限制是什么

我有兴趣构建一个 github 应用程序。通读 github设置您的开发环境以创建 GitHub 应用程序文档它解释了 github 应用程序基于将处理 webhook 的 http 服务器。

然而,在我安装的每个 github 应用程序上,app\installation 不需要任何涉及托管和/或创建 http 服务器的操作,以便将应用程序部署到我的 github 帐户。

对于直接通过 github 市场安装的此类 github 应用程序(您可以将probot stalerennovate作为此类应用程序的示例)

  1. 这些应用程序在哪里运行?(例如;github 是否将应用程序部署在专用(虚拟)服务器上?)。
  2. 此类应用程序的资源限制是什么(内存量、cpu 等?)
  3. 安装此类应用程序的 github 帐户所有者如何访问 github 应用程序日志?

参考链接和答案会很棒。

0 投票
0 回答
20 浏览

github - GitHub 分支保护是否适用于具有读写访问权限的集成应用程序?

我正在研究集成一个自动化服务,该服务通过将他们的应用程序与我的 GitHub Repo 集成来工作。在设置期间,应用程序请求读/写访问权限:

对 GitHub 的读写访问请求

它是OAuth 范围的 GitHub 文档,看起来这被称为public_repo

限制对公共存储库的访问。这包括对公共存储库和组织的代码、提交状态、存储库项目、协作者和部署状态的读/写访问。还需要为公共存储库加注星标。

我正在集成的应用程序解释了他们如何使用此访问权限:

此访问权限允许我们安装只读 SSH 密钥、设置 webhook 并将提交状态写入公共存储库。

这是否意味着应用程序可以在不使用拉取请求的情况下将任何内容写入您的存储库?我问的原因是,我的 repo 有分支保护规则,可以防止强制推送,并且需要 2 个批准的 PR 才能合并任何内容。理想情况下,我想确保应用程序想要进行的任何更改都需要首先获得批准。

0 投票
1 回答
54 浏览

github - Github 应用程序转移到组织未显示“安装应用程序”等

我在 github 社区支持论坛上问过这个问题,但我也会在这里问这个问题,因为那里没有回复......

我正在尝试设置一个 Github 应用程序,以赋予某些脚本对组织中某些存储库的有限管理员权限。该组织(我相信)在企业帐户下 - 我们目前正在使用它而不是拥有企业服务器。我创建了应用程序,将其转移到组织,组织管理员之一(我不是)将我设置为经理。到目前为止,一切都很好。但是,虽然我可以在组织设置中看到应用程序,但没有“安装应用程序”按钮。尝试在脚本中使用它也会导致 401(无法解码 JSON Web 令牌)错误,试图获取应用程序的“PAT” - 即使管理员已将其安装到应用程序中。

显然有问题,但我不知所措。有没有人知道一些可以查看的额外日志或对如何处理这个问题有建议。我们已经尝试删除应用程序并重试 - 没有什么不同。我应该说这是我创建的第三个以这种方式转移到组织的应用程序 - 到目前为止它刚刚工作。

0 投票
1 回答
653 浏览

github-api-v3 - 安装 GitHub 应用程序在私有存储库中搜索时出现“验证失败”错误

我创建了一个 GitHub 应用程序并将其安装在我的帐户中,使其能够访问我帐户中的私有存储库。GitHub 应用程序具有元数据的读取权限。然后,我按照此处的步骤生成了一个 JWT 并使用它来创建安装访问令牌。我尝试使用此令牌使用 GitHub 搜索 API 在上述私有存储库中搜索关键字,如下所示:

但是,这将返回以下响应。

我尝试使用此访问令牌来获取此 GitHub 应用程序安装的存储库,并在响应中成功返回了私有存储库。我认为这意味着安装可以访问私有仓库并且令牌按预期工作。使用的 API:https://api.github.com/installation/repositories

那为什么搜索会失败呢?

0 投票
1 回答
29 浏览

github - 是否可以通过安装在原始存储库中的 Github API 克隆/下载拉取请求的分叉私有存储库?

我创建了一个 GitHub 应用程序并将其安装到一个私有存储库。
它检测拉取请求并自动添加评论,并对传入的 PR 运行一些测试。

当 PR 来自同一个存储库时
它工作正常,但当 PR 来自另一个私有 fork 存储库时它不起作用。(我认为由于许可问题)

下面的示例代码是我如何克隆代码(压缩文件)GitHub:

  • 观点
    • 原始存储库/分叉存储库都是私有的
    • 我的 GitHub 应用程序仅安装在原始存储库中
    • 我的 GitHub 应用程序检测到原始存储库上打开的拉取请求
    • 我的 GitHub App 尝试下载 Pull Request 的源文件
      • 当 Pull Request 的来源来自 Fork 时失败
0 投票
2 回答
84 浏览

github - Github 应用程序:应用程序的授权和请求不返回代码参数

我创建了一个带有“安装期间请求用户授权 (OAuth)”选项的 Github 应用程序。

当用户请求他的管理员安装应用程序时,管理员接受并返回应用程序。然后我得到一个像这样的网址:

http://localhost:3000/auth/github/callback?code=a22757013d09ccc5f6ed&installation_id=18334019&setup_action=install&state=MYAPPSTATE

但是当用户授权和请求并且他回到应用程序时,我只得到一个这样的网址:

我的问题是,如何让 Github 给我代码参数,以便我知道哪个用户请求安装 github 应用程序?

谢谢

0 投票
1 回答
123 浏览

github-api - 将资产上传到版本需要 Github 应用权限

通过 github 应用程序将资产上传到版本需要什么权限?(无 OAuth)

我需要发布到 url 之类的https://{{git_url}}/api/uploads/repos/{{owner}}/{{repo}}/releases/{{releaseNumber}}/assets?name={{assetName}}

在权限页面中没有 POST/repos/:owner/:repo/releases/:release_id/assets

我在 GitHub Enterprise 2.22.17 上。


目前我得到

0 投票
1 回答
58 浏览

github - 自托管 GitHub Actions 运行器的 GitHub API 权限名称?

归根结底,我正在尝试实现从此处链接的解决方案: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 上有大量可用权限列表:

  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 中还没有吗?


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

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

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

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

0 投票
0 回答
14 浏览

github - 初始安装流程后如何获取 GitHub 应用用户令牌

我一直在搜索文档,但没有找到答案。

假设以下情况:

  1. 用户将 GitHub 应用程序(通过用户身份验证和设置 URL 启用)安装到组织
  2. App Token在Callback中生成,存储在Session Storage中
  3. 用户重定向到设置 URL
  4. 用户清除浏览器缓存/存储
  5. 用户重新访问设置 URL
  6. 用户再次点击安装
  7. 用户被带到https://github.com/organizations/:orgId/settings/installations/:installId

在应用程序安装页面中,有一个指向安装 URL 的链接,但单击时不会通过用户身份验证流程

我发现获得新应用令牌的唯一方法是卸载该应用,然后重新安装以再次进行初始重定向。

有没有办法在不卸载/重新安装 GitHub 应用程序的情况下触发用户身份验证/设置 URL?

谢谢!基督教

我问的原始问题:https ://github.community/t/installed-github-app-lost-token/198017