我有一个工作流,当拉取请求被标记时(通过pull_request_target
(会触发它。
作为工作流的最后一步,我想自动删除触发分析的标签。
我该怎么做?
在Github上:每个pull请求都是一个问题(但不是每个问题都是pull请求(。
你可以在这个stackoverflow答案中找到更多关于这方面的信息
因此,您可以使用Github API从问题(或执行相同操作的操作(中删除(特定(标签,作为工作流程的最后一步,使用PR编号。
这是Github上的API,用于从问题中删除标签(官方文档(
如果你想用curl直接从工作流中的shell调用它,它看起来像这样:
curl
-X DELETE
-H "Accept: application/vnd.github.v3+json"
https://api.github.com/repos/<owner>/<repo>/issues/<pr_number>/labels/<label_name>
GuiFalourd确实有正确的答案,但我确实需要改进一下。
如果您想在私有回购上使用工作流,则需要添加授权令牌。下面是一个使用GitHub上下文填充除了要删除的标签名称之外的所有内容的示例:
curl --silent --fail-with-body
-X DELETE
-H 'Accept: application/vnd.github.v3+json'
-H 'Authorization: token ${{ github.token }}'
'https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.number }}/labels/YOUR-LABEL'
此外,如果标签中有空格,请使用%20
作为空格。