【问题标题】:How to correctly set a Github App committer to show the app created the commit?如何正确设置 Github App 提交者以显示应用创建了提交?
【发布时间】:2021-04-01 16:49:03
【问题描述】:

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

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

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

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

【问题讨论】:

  • 如果我理解得很好,您正在尝试使用机器人来创建提交,对吧?如果是这样,您可以使用 GitHub Actions 作为提交者(如果您使用 GitHub Actions)。或者,您可以为其创建另一个机器人配置文件,这实际上是最佳选择。

标签: github github-api github-app


【解决方案1】:

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

    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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 2021-09-23
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 2010-12-13
    • 2012-06-29
    • 2021-12-07
    相关资源
    最近更新 更多