快速解决 Resource not accessible by integration

简介

最近好久没有写博客了,今天在写开源项目 python-package-template 的时候,正好遇到一个问题,记录一下吧。本文将介绍 Resource not accessible by integration 的几种解决方案。

也欢迎大家体验一下 python-package-template 这个项目,一个十分标准化的 python project 模板,内置 black 代码格式化、单元测试、github actions 等方便和强大的工具,个人认为认真学完 python-package-template 里面的东西,在工程规范上已经可以媲美一个从业几年的专业的 python 软开工程师了。

问题描述

问题是我在 github actions 执行 Greetings 的这个 workflow 的时候发生了 Resource not accessible by integration 的问题,这个 Greetings 里面用到了 actions/first-interaction , 其是一个筛选初次贡献者的拉取请求和问题的操作。

我遇到的这个问题,简单来说,就是 github actions 没有对应的权限,无法访问相关的资源,在我的项目中,Greetings 的代码需要 bot 在 pr 和 issue 中有写的权限,而这个权限 github repo 默认并不提供,需要手动修改。

在这里插入图片描述

github docs 中对 workflows 的 permissions 有详细的描述,大家可以先了解一下相关的概念。

您可以使用权限来修改授予GITHUB_TOKEN的默认权限,根据需要添加或删除访问权限,以便只允许最低所需的访问权限。有关更多信息,请参阅“自动令牌身份验证”。

您可以将权限作为顶级键使用,应用于工作流中的所有作业,或者在特定作业中使用。当您在特定作业中添加权限键时,使用GITHUB_TOKEN的所有操作和运行命令将获得您指定的访问权限。有关更多信息,请参阅jobs.<job_id>.permissions

对于下表中显示的每个可用范围,您可以分配其中一种权限:读取、写入或无。如果您为其中任何范围指定了访问权限,则所有未指定的范围将被设置为无。
在这里插入图片描述
在这里插入图片描述

上面说了那么多,简单来说就是 workflow 中使用的 GITHUB_TOKEN 是有一些默认权限的,其并不是一个 root,因此如果你的 workflow 中有一些更加复杂的操作,就需要额外进行授权。

Permissions for the GITHUB_TOKEN 中,我们可以看到 GITHUB_TOKEN 的默认权限。

在这里插入图片描述

解决方案

逛了一下 actions/first-interaction 中的 issue,还是有人有遇到相同的问题,https://github.com/actions/first-interaction/issues/10 这个 issue 激烈讨论了这个事情,所以最后我也没看出什么东西来,最后在 https://github.com/orgs/community/discussions/60820 中找到了解决方案。
在这里插入图片描述

上面这个用户虽然和我用的不是一个 action,但是问题如出一辙,解决方案如下:
在这里插入图片描述

在这里插入图片描述
给权限之后就没问题了。

参考资料

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeeland

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值