reposync/test_delete_issue_github.py

68 lines
2.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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()