我正在触发通过 github 的 Rest api 运行的工作流程。但 github 不会在响应正文中发送任何数据 (204)。如何获取触发请求的运行 ID?我知道getRunsListapi,它会返回工作流 id 的运行,然后我可以获得最新的运行,但是当几乎同时提交两个请求时,这可能会导致问题。
github github-api github-enterprise github-api-v3 github-actions
我正在尝试下载 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) 我正在尝试为 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)
我遵循了此链接中提供的指南。
我创建了一个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时,在Issues下,它将所有未解决的问题作为HTML页面拉出。我们希望实现一个仪表板,以显示存储库中的所有问题(按标签分组),包括那些未正确标记的问题。
这是相应的存储库列表问题API。
当我最初使用jQuery和Javascript时,现在使用PHP进行概念验证,因为其内置的会话处理功能使我可以使用同一页面登录,让GitHub进行身份验证和回调并继续。但这对我来说并不重要,任何语言都可以。
我已经设法通过OAUTH2访问GitHub API,但是当我通过https://api.github.com/orgs/{org}/repos它获取存储库列表时,它会显示为一个空数组。
因为/orgs/{org}/reposAPI返回一个空数组,所以相应的/repos/{org}/{repo}/issuesAPI 当然会返回一个错误。
编辑:请参阅此后续解决方案!很高兴我终于可以正常工作了!
根据文档,我可以用来-从搜索 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 Enterprise 2.18。有什么方法可以通过 API 确定用户处于休眠状态吗?我在任何地方都没有看到对它的具体调用...
我\xe2\x80\x99创建了一个 GitHub 应用程序并将其安装在我的帐户中,使其可以访问我帐户中的私有存储库。GitHub 应用程序具有元数据的读取权限。\n然后,我生成了一个 JWT 并用它来创建安装访问令牌,按照此处的步骤操作。\n我尝试使用此令牌通过 GitHub 搜索 API 在上述私有存储库中搜索关键字如下:
\nhttps://api.github.com/search/code?q=abc+in:file+repo:username/private-repo\nRun 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}\nRun Code Online (Sandbox Code Playgroud)\n我尝试使用此访问令牌来获取此 GitHub 应用程序安装的存储库,并在响应中成功返回私有存储库。我认为这意味着安装可以访问私有存储库并且令牌按预期工作。\n使用的 API:https://api.github.com/installation/repositories。
那么为什么搜索会失败呢?
\nhttps://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 -> []。但是,如果我转到存储库并检查设置 -> 协作者和团队,该用户将被列为具有管理员权限的团队的一部分,并且我还直接为该用户添加了一个条目。
我有什么遗漏的吗?我需要添加什么权限才能解决此问题?
我有一个文件,其内容是“来自测试”- 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 仍然不同。
我正在尝试使用个人访问令牌来访问存储库的内容。
如果存储库是公共的,我可以使用 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 API V3 获取给定拉取请求的项目和链接问题?该pulls端点没有给出其中任何信息。在 github 的拉取请求部分的侧边栏中,有Projects并Linked issues提到。但是我找不到通过 API 调用获取此信息的方法。
我想找出合并成功后拉取请求关闭的问题。
我是新来的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 组织,其所有者为 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
但我有兴趣只列出合作者,即user1和user2;不是业主。
有人可以在这里帮助我吗..!
github-api-v3 ×13
github ×10
github-api ×9
curl ×1
git ×1
github-app ×1
octokit.net ×1
postman ×1
pull-request ×1