标签: github-api-v3

触发 github 工作流程调度事件后获取运行 ID

我正在触发通过 github 的 Rest api 运行的工作流程。但 github 不会在响应正文中发送任何数据 (204)。如何获取触发请求的运行 ID?我知道getRunsListapi,它会返回工作流 id 的运行,然后我可以获得最新的运行,但是当几乎同时提交两个请求时,这可能会导致问题。

github github-api github-enterprise github-api-v3 github-actions

20
推荐指数
1
解决办法
9713
查看次数

使用 github api 下载 github 操作工作流程日志

我正在尝试下载 github 中特定工作流程的日志。我已经参考了以下链接。但是我收到 302 作为响应代码。不确定这里的问题是什么。它没有按预期下载日志

 curl -v -u username:$token -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/ORGANIZATION/REPOSITORY/actions/runs/319282523477/logs
.
.
< HTTP/1.1 302 Found
< Date: Wed, 21 Oct 2020 07:47:13 GMT
< Content-Type: text/html;charset=utf-8
.
Run Code Online (Sandbox Code Playgroud)

github github-api github-api-v3 github-actions

12
推荐指数
1
解决办法
6865
查看次数

无法访问 github API 出现错误凭据错误

我正在尝试为 PR 添加自定义代码检查。经过一些研究后,我发现可以使用下面提到的 API 来完成。

POST /repos/{owner}/{repo}/check-runs

最初,它给了我这个错误:

{
    "message": "You must authenticate via a GitHub App.",
    "documentation_url": "https://docs.github.com/rest/reference/checks#create-a-check-run"
}
Run Code Online (Sandbox Code Playgroud)

我遵循了此链接中提供的指南。

  1. 我创建了一个 GitHub 应用程序。
  2. 给予了它所需的许可。
  3. 生成了私钥。
  4. 使用私钥生成 JWT 令牌。
  5. 也在存储库中安装了 Github 应用程序

我创建了一个curl请求:

curl --location --request POST 'https://api.github.com/repos/X/X-app/check-runs' \
--header 'Accept: application/vnd.github.v3+json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.X.X-X-SAFvDnSkaJDjMI2T_BAC2iLlRZ7uNyFSe-X-UgFBFjoFrwsbcYFKfDM8f3FNPYpA6afhr18DLZ6rzu35klA' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "loremipsum"
}'
Run Code Online (Sandbox Code Playgroud)

但是,现在我收到这个错误

{
    "message": "Bad credentials",
    "documentation_url": "https://docs.github.com/rest"
}
Run Code Online (Sandbox Code Playgroud)

我不确定我在这里缺少什么。

github github-api github-api-v3

11
推荐指数
1
解决办法
7011
查看次数

使用GitHub list-issues-for-a-repository API

当您转到GitHub时,在Issues下,它将所有未解决的问题作为HTML页面拉出。我们希望实现一个仪表板,以显示存储库中的所有问题(按标签分组),包括那些未正确标记的问题。

这是相应的存储库列表问题API

当我最初使用jQuery和Javascript时,现在使用PHP进行概念验证,因为其内置的会话处理功能使我可以使用同一页面登录,让GitHub进行身份验证和回调并继续。但这对我来说并不重要,任何语言都可以。

我已经设法通过OAUTH2访问GitHub API,但是当我通过https://api.github.com/orgs/{org}/repos它获取存储库列表时,它会显示为一个空数组。

因为/orgs/{org}/reposAPI返回一个空数组,所以相应的/repos/{org}/{repo}/issuesAPI 当然会返回一个错误。

编辑:请参阅此后续解决方案!很高兴我终于可以正常工作了!

github github-api github-api-v3

8
推荐指数
2
解决办法
272
查看次数

Github Search API - 排除某些主题

根据文档,我可以用来-从搜索 API 中排除某些内容......我对其进行了测试,例如,这适用于语言领域,但不适用于主题。
根据文档:

注意 cat stars:>10 -language:javascript 匹配包含超过 10 个星但不是用 JavaScript 编写的单词“cats”的存储库。

但是如果我想搜索cats stars:>10 -topic:javascript它就不再工作了,尽管我测试了它并且恰好有 9 个存储库javascript作为主题。
所以

cats stars:>10 返回 714 个结果

cats stars:>10 -topic:javascript返回 714 个结果(-不起作用)
cats stars:>10 +topic:javascript返回 9 个结果

cats stars:>10 -language:javascript返回 602 个结果(-按预期工作)
cats stars:>10 +language:javascript返回 112 个结果

github-api github-api-v3

8
推荐指数
1
解决办法
117
查看次数

Github Enterprise API - 确定用户是否处于休眠状态?

运行 Github Enterprise 2.18。有什么方法可以通过 API 确定用户处于休眠状态吗?我在任何地方都没有看到对它的具体调用...

github-enterprise github-api-v3

5
推荐指数
1
解决办法
1051
查看次数

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

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

\n
https://api.github.com/search/code?q=abc+in:file+repo:username/private-repo\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
{\n    "message": "Validation Failed",\n    "errors": [\n        {\n            "message": "The listed users and repositories cannot be searched either because the resources do not exist or you do not have permission to view them.",\n            "resource": "Search",\n            "field": "q",\n            "code": "invalid"\n        }\n    ],\n    "documentation_url": "https://docs.github.com/v3/search/"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n

那么为什么搜索会失败呢?

\n

octokit.net github-api-v3 github-app

5
推荐指数
1
解决办法
6308
查看次数

即使使用管理员特权 oauth 令牌,Github api 请求也会返回错误的凭据

https://api.github.com/repos/OWNER/REPO/actions/runners/registration-token我正在尝试使用具有存储库权限的用户个人访问令牌进行呼叫。

为此,我正在测试:

curl -I -X POST -H "Authorization: token <OAUTH_TOKEN> Accept: application/vnd.github.v3+json" https://api.github.com/repos/<owner>/<repo-name>/actions/runners/registration-token这给了我 Bad Credentials 错误

curl -I -H "Authorization: token <OAUTH_TOKEN>" https://api.github.com/users/<USER_NAME>->

x-oauth-scopes: repo
x-accepted-oauth-scopes: 
Run Code Online (Sandbox Code Playgroud)

根据此:https: //docs.github.com/en/rest/actions/self-hosted-runners我需要提供具有存储库访问权限的 oauth 令牌。

如果我卷曲用户curl -H "Authorization: token <OAUTH_REPO_TOKEN>" https://api.github.com/users/<USER>/repos -> []。但是,如果我转到存储库并检查设置 -> 协作者和团队,该用户将被列为具有管理员权限的团队的一部分,并且我还直接为该用户添加了一个条目。

我有什么遗漏的吗?我需要添加什么权限才能解决此问题?

curl github github-api-v3

5
推荐指数
1
解决办法
1183
查看次数

计算 Github API 文件 SHA

我有一个文件,其内容是“来自测试”- 9 个字节。文档说创建的文件的 SHA 是使用 SHA1 计算的:

计算文件的 SHA-1 哈希值并将其存储在 blob 对象中。

(来自https://developer.github.com/v3/git/blobs/

然而,当我计算“from test”的十六进制编码的 SHA1 输出时,我得到5669556d9a5c27fdd649dcaaa0873757c2aa402f.

Github API 表示 SHA 是62b551731eada762035d4665978027cd44291290- 这是返回的 ETag 以及用于检索文件的 API 响应中“sha”的值。此外,当我使用“from test”作为值和566955...sha 调用 CreateFile 端点时,我被告知 SHA 不正确。

我还尝试附加换行符,计算内容的base64编码值的SHA,计算base64+尾随换行符的SHA,但它们都没有给我62b551731eada762035d4665978027cd44291290. Github 是如何计算这个值的?

我已经仔细检查了远程文件的内容是否相同 - “来自测试” - 不知何故 SHA 仍然不同。

github github-api github-api-v3

4
推荐指数
1
解决办法
1404
查看次数

用于访问私有存储库的 Github 个人访问令牌:/repos/:user/:repo/contents

我正在尝试使用个人访问令牌来访问存储库的内容。

如果存储库是公共的,我可以使用 v3 和 v4 api 来实现这一点。以下两个请求都返回内容:

v3:

curl https://api.github.com/repos/w3c/webappsec/contents/
Run Code Online (Sandbox Code Playgroud)

v4:

query {
  repository(owner: "w3c", name: "webappsec") {
    object(expression: "master:") {
      ... on Tree {
        entries{
          name
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我已经生成了一个个人访问令牌,用于在我的一个私人存储库中执行此操作,但它永远不会返回任何内容:

v3(带有授权令牌):

curl -H "Authorization: bearer myauthorizationtoken" https://api.github.com/repos/myusername/myrepo/contents/
Run Code Online (Sandbox Code Playgroud)

结果:

{
  "message": "Not Found",
  "documentation_url": "https://developer.github.com/v3/repos/contents/#get-contents"
}
Run Code Online (Sandbox Code Playgroud)

v4(带有授权令牌):

query {
  repository(owner: "myusername", name: "myrepo") {
    object(expression: "master:") {
      ... on Tree {
        entries{
          name
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

结果:

{
  "data": {
    "repository": {
      "object": …
Run Code Online (Sandbox Code Playgroud)

github github-api github-api-v3 github-api-v4

4
推荐指数
1
解决办法
2626
查看次数

获取与拉取请求表单 github api v3 相关的链接问题和项目

如何从 github API V3 获取给定拉取请求的项目和链接问题?该pulls端点没有给出其中任何信息。在 github 的拉取请求部分的侧边栏中,有ProjectsLinked issues提到。但是我找不到通过 API 调用获取此信息的方法。

供参考的侧边栏屏幕截图

我想找出合并成功后拉取请求关闭的问题。

github github-api pull-request github-api-v3

4
推荐指数
2
解决办法
913
查看次数

使用 GitHub REST APIv3 进行全局代码搜索

我是新来的REST API。我正在尝试创建一个查询来搜索com.jcabi.http.response.JsonResponse其代码中包含的所有 java 存储库。

我通过查看 API 文档中给出的示例创建了以下请求,并且我的查询抛出了错误。

这是查询:

卷曲https://api.github.com/search/code?q=com.jcabi.http.response.JsonResponse+language:java

它会导致以下错误:

Error 
{
  "message": "Validation Failed",
  "errors": [
    {
      "message": "Must include at least one user, organization, or repository",
      "resource": "Search",
      "field": "q",
      "code": "invalid"
    }
  ],
  "documentation_url": "https://developer.github.com/v3/search/"
}
Run Code Online (Sandbox Code Playgroud)

在不指定存储库的情况下是否无法进行代码搜索?

有人可以帮我解决这个问题吗?

github github-api-v3

3
推荐指数
1
解决办法
1029
查看次数

仅获取协作者,而不是 github 存储库的 ORG 的所有者

我有 Github 组织,其所有者为 Owner1 和 Owner2,以及成员 Member1 和 Member2。现在,我在此组织中创建了一个新存储库,并添加了两个用户作为该存储库的协作者(user1 和 user2)。

现在,以下 GET 请求的结果postman将如下:

Owner1
Owner2
user1
user2
Run Code Online (Sandbox Code Playgroud)

邮递员请求:https://<github-host>/api/v3/repos/<my-gihub-org>/<my-github-repo>/collaborators?per_page=100

但我有兴趣只列出合作者,即user1user2;不是业主

有人可以在这里帮助我吗..!

git github github-api postman github-api-v3

1
推荐指数
1
解决办法
1598
查看次数