我正在尝试做一件简单的事情:标记拉取请求(稍后的目标是自动合并,但请耐心等待)。这是我尝试过的
- 使用 github-script 根本行不通。它不授予对拉取请求的写入权限
- 我记得如果你使用
curl
而不是 API,它会起作用。我试过这个:
name: "Etiquetador de pull request"
on:
pull_request:
paths:
- 'objetivos/*'
jobs:
Etiquetador:
runs-on: ubuntu-latest
steps:
- name: Etiqueta el PR con "objetivos"
env:
REPO: ${{ github.repository }}
run: |
PR_NUMBER=$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')
echo "https://api.github.com/repos/${OWNER}/${REPO}/issues/${PR_NUMBER}/labels"
curl -X PUT -H "Authorization: Bearer ${{secrets.GITHUB_TOKEN}}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${REPO}/issues/${PR_NUMBER}/labels \
-d '{"labels":["objetivos"]}'
它也不起作用,结果是:
{
"message": "Resource not accessible by integration",
"documentation_url": "https://docs.github.com/rest/reference/issues#set-labels-for-an-issue"
}
作为替代方案,我尝试创建个人访问令牌。但是,似乎没有这种事情的范围(没有真正授权专门编写标签或拉取请求相关信息的方法)。
或者,您可以创建一个 GitHub 应用程序。不过,简单地给 PR 贴上标签似乎有点矫枉过正。
可以运行计划的操作来执行此类事情。当然,坏事变得更糟,这可能是另一种选择。但是,它会丢失上下文信息,并且需要遍历所有 PR 才能执行操作。
市场上已有的应用程序,比如这个,实际上并没有根据我正在寻找的文件路径进行标记。
这里还有什么想法吗?谢谢!