Files
study/scripts/create-issues-batch.py
T
2026-05-19 23:33:50 -07:00

63 lines
1.3 KiB
Python

import json
import urllib.request
# --- MANDATORY AUTH CONFIGURATION ---
GITEA_URL = "http://git.burke.lan:3000" # No trailing slash
TOKEN = ""
OWNER = "burkkyy"
REPO = "roadmap"
MILESTONE_ID = 1
TASKS = [
# {"title": "", "body": ""},
]
CHAPTERS = [
"Ch.3",
"Ch.4",
"Ch.5",
"Ch.6",
"Ch.7",
"Ch.8",
"Ch.9",
"Ch.10",
"Ch.12",
"Ch.13",
"Ch.14",
]
for ch in CHAPTERS:
TASKS.append({"title": f"{ch} - Problems", "body": f""})
headers = {
"Authorization": f"token {TOKEN}",
"Content-Type": "application/json",
"Accept": "application/json"
}
url = f"{GITEA_URL}/api/v1/repos/{OWNER}/{REPO}/issues"
if not TASKS:
print("Warning: 'TASKS' list is empty. Please populate your task templates before running.")
exit(1)
for task in TASKS:
title = task["title"]
body = task["body"]
payload = {
"title": title,
"body": body,
"milestone": int(MILESTONE_ID)
}
data = json.dumps(payload).encode('utf-8')
req = urllib.request.Request(url, data=data, headers=headers, method="POST")
try:
with urllib.request.urlopen(req) as response:
if response.status == 201:
print(f"Successfully created issue: {title}")
except Exception as e:
print(f"Failed to create issue '{title}': {e}")