用于用户提交PR的Github动作访问令牌,可以检查用户是否为团队成员



我试图添加一个CD部署步骤到我们的Github行动。作为其中的一部分,我需要一个Github访问令牌,它能够检查提交PR的用户是否是特定团队的成员。

GITHUB_TOKEN似乎是在Github动作中获得的机制,但它似乎没有权限访问此API或不冒充用户,因为当我在一个动作中使用它来尝试测试这种方法:

- name: Check team membership
run: |
curl 
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" 
https://api.github.com/orgs/fabriq-cloud/teams/fabriq/members

我得到404:

{
"message": "Not Found",
"documentation_url": "https://docs.github.com/rest/reference/teams#list-team-members"
}

当本地具有相同用户的PAT时,这将返回团队成员列表。

是否有一种方法可以获得一个GITHUB_TOKEN,它可以模拟用户提交的PR,范围很窄,以检查该用户是否是团队的成员?

GITHUB_TOKENsecret基本上是GitHub应用程序安装访问令牌,它的权限仅限于包含您的工作流的存储库,因为应用程序可以访问单个repo。

尝试生成一个单独的令牌(选择read:org范围),将其设置为您的repo的Actions Secret,然后使用这个新的Secret访问您的工作流中的Teams API。

read:orgscope:只读访问组织成员、组织项目和团队成员。

附加引用:

  • 自动令牌认证官方文档
  • GitHub Actions中的GITHUB_TOKEN:如何工作,更改权限,自定义(dev.to)

相关内容

  • 没有找到相关文章

最新更新