Tune roadmap reminders to 7-day window with updated title and labels
This commit is contained in:
parent
199d574d66
commit
ab6ad85db7
3 changed files with 37 additions and 7 deletions
5
.github/workflows/roadmap-reminder.yml
vendored
5
.github/workflows/roadmap-reminder.yml
vendored
|
|
@ -24,5 +24,6 @@ jobs:
|
|||
--repo OliverGiertz/StaySense \
|
||||
--project-owner OliverGiertz \
|
||||
--project-number 4 \
|
||||
--days-upcoming 14 \
|
||||
--upsert-issue-title "[Roadmap] Weekly Health Report"
|
||||
--days-upcoming 7 \
|
||||
--upsert-issue-title "[Roadmap] Weekly Deadlines (7 Tage)" \
|
||||
--labels "roadmap-report,roadmap,ops"
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ python3 scripts/roadmap_reminder_report.py \
|
|||
--repo OliverGiertz/StaySense \
|
||||
--project-owner OliverGiertz \
|
||||
--project-number 4 \
|
||||
--days-upcoming 14 \
|
||||
--days-upcoming 7 \
|
||||
--dry-run
|
||||
```
|
||||
|
||||
|
|
@ -72,7 +72,9 @@ python3 scripts/roadmap_reminder_report.py \
|
|||
--repo OliverGiertz/StaySense \
|
||||
--project-owner OliverGiertz \
|
||||
--project-number 4 \
|
||||
--days-upcoming 14
|
||||
--days-upcoming 7 \
|
||||
--upsert-issue-title "[Roadmap] Weekly Deadlines (7 Tage)" \
|
||||
--labels "roadmap-report,roadmap,ops"
|
||||
```
|
||||
|
||||
GitHub Actions Secret:
|
||||
|
|
|
|||
|
|
@ -57,6 +57,8 @@ def fetch_open_roadmap_issues(repo: str) -> list[dict]:
|
|||
labels = [it.get("name", "") for it in item.get("labels", [])]
|
||||
if "roadmap" not in labels:
|
||||
continue
|
||||
if "roadmap-report" in labels:
|
||||
continue
|
||||
out.append(item)
|
||||
return out
|
||||
|
||||
|
|
@ -223,6 +225,26 @@ def upsert_issue(repo: str, title: str, body_file: Path, labels: list[str]) -> s
|
|||
expect_json=True,
|
||||
)
|
||||
existing = next((item for item in payload if item.get("title") == title), None)
|
||||
if not existing and labels:
|
||||
fallback = run(
|
||||
[
|
||||
"gh",
|
||||
"issue",
|
||||
"list",
|
||||
"--repo",
|
||||
repo,
|
||||
"--state",
|
||||
"open",
|
||||
"--label",
|
||||
labels[0],
|
||||
"--json",
|
||||
"number,title,url",
|
||||
"--limit",
|
||||
"20",
|
||||
],
|
||||
expect_json=True,
|
||||
)
|
||||
existing = next((item for item in fallback if str(item.get("title", "")).startswith("[Roadmap] Weekly")), None)
|
||||
if existing:
|
||||
run(
|
||||
[
|
||||
|
|
@ -232,10 +254,14 @@ def upsert_issue(repo: str, title: str, body_file: Path, labels: list[str]) -> s
|
|||
str(existing["number"]),
|
||||
"--repo",
|
||||
repo,
|
||||
"--title",
|
||||
title,
|
||||
"--body-file",
|
||||
str(body_file),
|
||||
]
|
||||
)
|
||||
for label in labels:
|
||||
run(["gh", "issue", "edit", str(existing["number"]), "--repo", repo, "--add-label", label])
|
||||
return existing["url"]
|
||||
|
||||
cmd = [
|
||||
|
|
@ -260,8 +286,9 @@ def main() -> int:
|
|||
parser.add_argument("--repo", required=True, help="OWNER/REPO")
|
||||
parser.add_argument("--project-owner", default="", help="Project owner login, e.g. @me or OliverGiertz")
|
||||
parser.add_argument("--project-number", type=int, default=0, help="Project number")
|
||||
parser.add_argument("--days-upcoming", type=int, default=14)
|
||||
parser.add_argument("--upsert-issue-title", default="[Roadmap] Weekly Health Report")
|
||||
parser.add_argument("--days-upcoming", type=int, default=7)
|
||||
parser.add_argument("--upsert-issue-title", default="[Roadmap] Weekly Deadlines (7 Tage)")
|
||||
parser.add_argument("--labels", default="roadmap-report,roadmap,ops", help="Comma-separated labels for report issue")
|
||||
parser.add_argument("--output-file", type=Path, default=Path("roadmap-health-report.md"))
|
||||
parser.add_argument("--dry-run", action="store_true")
|
||||
args = parser.parse_args()
|
||||
|
|
@ -280,7 +307,7 @@ def main() -> int:
|
|||
print(report)
|
||||
return 0
|
||||
|
||||
labels = ["roadmap-report", "roadmap"]
|
||||
labels = [it.strip() for it in args.labels.split(",") if it.strip()]
|
||||
for label in labels:
|
||||
ensure_label(args.repo, label)
|
||||
issue_url = upsert_issue(args.repo, args.upsert_issue_title, args.output_file, labels)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue