【问题标题】:Set GitHub commit build status in Bash using SSH?使用 SSH 在 Bash 中设置 GitHub 提交构建状态?
【发布时间】:2022-01-21 09:35:33
【问题描述】:

在尝试通过 ssh 设置提交的构建状态时,我遇到了一些困难。我首先使用GitHub personal access token 成功设置了构建状态。基于this answer,我创建了如下curl命令:

#!/bin/bash
USER="red"
REPO="code"
COMMIT_SHA="6ec8d6ef221c3e317fa20b1f541770b8f46f065c"
MY_TOKEN="somelongpersonaltoken"
curl -H "Authorization: token $MY_TOKEN" --request POST --data '{"state": "failure", "description": "Failed!", "target_url": "https://www.stackoverflow.com"}' https://api.github.com/repos/$USER/$REPO/statuses/$COMMIT_SHA

它设置的构建状态类似于下面的红十字:

接下来,我检索了 GitHub 提交状态,使用:

GET https://api.github.com/repos/$USER/$REPO/commits/$COMMIT_SHA/statuses

哪些输出:

[{"url":"https://api.github.com/repos/... ,"state":"failure","description":"Failed!","target_url":"https://www.stackoverflow.com","context":"default","created_at":"2021-12-19T10:10:20Z","updated_at":"2021-12-19T10:10:20Z"...,"site_admin":false}}]

正如预期的那样。

然后对于第二部分,我尝试省略使用 GitHub 个人访问令牌,并使用我的 ssh 凭据设置提交构建状态。但是,this answer 似乎表明目前这是不可能的。因此,我想问:

如何在 Bash 中使用 ssh 凭据设置 GitHub 提交构建状态?

【问题讨论】:

    标签: bash github commit github-api


    【解决方案1】:

    我支持我的 2013 answer,并在 2021 年底确认,似乎不支持将 SSH 用于 GitHub API URL。

    即使是最新的 GitHub CLI gh api 命令也只建议 HTTPS 调用,而不是 SSH。

    向 GitHub API 发出经过身份验证的 HTTP 请求并打印响应。

    端点参数应该是 GitHub API v3 端点的路径,或者是“graphql”以访问 GitHub API v4。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      • 2015-10-22
      • 2018-11-21
      相关资源
      最近更新 更多