forked from Lesin/reposync
68 lines
2.3 KiB
Python
68 lines
2.3 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
GitHub删除Issue API测试脚本
|
||
"""
|
||
import requests
|
||
import json
|
||
import sys
|
||
|
||
# 配置信息
|
||
GITHUB_TOKEN = "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"
|
||
OWNER = "wocaosini"
|
||
REPO = "plugin01"
|
||
ISSUE_NUMBER = "41" # 要删除的Issue编号
|
||
|
||
def test_delete_github_issue():
|
||
"""测试GitHub删除Issue API"""
|
||
url = f"https://api.github.com/repos/{OWNER}/{REPO}/issues/{ISSUE_NUMBER}"
|
||
|
||
headers = {
|
||
"Authorization": f"token {GITHUB_TOKEN}",
|
||
"Accept": "application/vnd.github.v3+json",
|
||
"User-Agent": "reposyncer/1.0"
|
||
}
|
||
|
||
print(f"正在测试GitHub删除Issue API...")
|
||
print(f"URL: {url}")
|
||
print(f"Issue Number: {ISSUE_NUMBER}")
|
||
print(f"Headers: {json.dumps(headers, indent=2)}")
|
||
print("-" * 50)
|
||
|
||
try:
|
||
# 先获取Issue信息
|
||
print("1. 获取Issue信息...")
|
||
response = requests.get(url, headers=headers)
|
||
if response.status_code == 200:
|
||
issue_data = response.json()
|
||
print(f"Issue标题: {issue_data.get('title')}")
|
||
print(f"Issue状态: {issue_data.get('state')}")
|
||
print(f"Issue创建时间: {issue_data.get('created_at')}")
|
||
else:
|
||
print(f"获取Issue失败: {response.status_code}")
|
||
print(response.text)
|
||
return
|
||
|
||
# 尝试删除Issue
|
||
print("\n2. 尝试删除Issue...")
|
||
response = requests.delete(url, headers=headers)
|
||
print(f"响应状态码: {response.status_code}")
|
||
print(f"响应头: {dict(response.headers)}")
|
||
|
||
if response.status_code == 204:
|
||
print("✅ 删除成功!GitHub支持删除Issue API")
|
||
elif response.status_code == 403:
|
||
print("❌ 权限不足,可能需要特殊权限")
|
||
print(response.text)
|
||
elif response.status_code == 404:
|
||
print("❌ Issue不存在或已被删除")
|
||
elif response.status_code == 410:
|
||
print("❌ Issue已被删除或不可删除")
|
||
else:
|
||
print(f"❌ 删除失败,状态码: {response.status_code}")
|
||
print(response.text)
|
||
|
||
except Exception as e:
|
||
print(f"❌ 请求失败: {e}")
|
||
|
||
if __name__ == "__main__":
|
||
test_delete_github_issue() |