0

使用 GitHub Api 时,您可以提供作者和提交者信息,例如何时PUT提交content文件。

我希望能够使用 GitHub 应用程序,committer以便人们了解提交是使用第三方工具完成的,并且作者信息保留为经过身份验证的用户。

目前我正在使用应用程序名称作为应用程序域namecommitter电子邮件和电子邮件。但这根本不会将提交绑定到应用程序(例如:我必须使用该电子邮件创建一个机器人帐户才能让它显示任何类型的个人资料等,但这不会真正与我的 Github 应用程序相关联)。

这样做的正确方法是什么?还是我不应该尝试将应用程序用作,committer而只是将经过身份验证的用户用作committer

4

1 回答 1

1

您可以使用您提到的相同内容 api来确定您需要什么。您通过创建文件得到的响应是一个 json,它将告诉您分配给您的 github 应用程序的用户 ID。注意 下的author对象commit,您应该会看到如下内容:

    curl \
      -X PUT \
      -H "Authorization: token ${TOKEN}" \
      -H "Accept: application/vnd.github.v3+json" \
      https://api.github.com/repos/msgongora/fubectl/contents/test-file \
      -d '{"message":"message","content":"Y29udGVudA==","branch":"mrsg"}'

    {
      "content": {
      ...
      "commit": {
            ...
            "author": {
                "name": "myciapp[bot]",
                "email": "1234545665+myciapp[bot]@users.noreply.github.com",
                "date": "2021-04-07T06:28:18Z"
            },
    ...
    }

一旦你有了它,你可以为你的应用程序设置名称和电子邮件,就像你为普通用户设置它一样:

git config --global user.name "myciapp[bot]"
git config --global user.email 1234545665+myciapp[bot]@users.noreply.github.com
于 2021-04-07T07:23:11.373 回答