有没有办法删除github工作流程

问题描述 投票:0回答:5

所以我尝试将

docker-compose.yml
文件放入
.github/workflows
目录中,当然它尝试选取该文件并运行它......但这不起作用。但是现在总是显示为工作流程,有什么办法可以删除它吗?

github github-api github-actions
5个回答
2
投票

要删除操作页面上的特定工作流程,您需要删除属于该工作流程的所有运行。否则,即使您删除了触发它的 YAML 文件,它也会持续存在。

如果您在某个特定操作中只运行了几次,则手动删除它们会更容易。但如果您运行了一百次,则可能值得运行一个简单的脚本。例如,以下

python
脚本使用 GitHub API:

开始之前,您需要安装

PyGithub
包(如
pip install PyGithub
)并定义三件事:

  1. PAT:创建新的个人访问GitHub令牌;
  2. 你的仓库名称
  3. 您的操作名称(即使您已将其删除,只需将鼠标悬停在操作页面上的操作上即可):
from github import Github
import requests

token = "ghp_1234567890abcdefghij1234567890123456" # your PAT
repo = "octocat/my_repo"
action = "my_action.yml"

g = Github(token)
headers = {'Accept': 'application/vnd.github.v3',
           'Authorization': f'token {token}'}

for run in g.get_repo(repo).get_workflow(id_or_file_name=action).get_runs():
    response = requests.delete(url=run.url, headers=headers)
    if response.status_code == 204:
        print(f"Run {run.id} got deleted")

删除所有运行后,工作流程自动从页面消失。


1
投票

是的,您可以删除运行结果。请参阅文档了解详细信息


1
投票

是的,您可以删除要删除的工作流程中的所有工作流程运行,那么该工作流程就会消失。


0
投票

https://docs.github.com/en/rest/reference/actions#delete-a-workflow-run

以编程方式删除

示例(来自文档)

curl \
  -X DELETE \
  -H "Authorization: token <PERSONAL_ACCESS_TOKEN>"
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/repos/octocat/hello-world/actions/runs/42

0
投票

GitHub cli

GitHub Actions/管理工作流程运行/删除工作流程运行

# GitHub CLI api
# https://cli.github.com/manual/gh_api

gh api \
  --method DELETE \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  /repos/OWNER/REPO/actions/runs/RUN_ID/logs
© www.soinside.com 2019 - 2024. All rights reserved.