haochengsama's picture
Add files using upload-large-folder tool
a2ec7b6 verified
Raw
History Blame Contribute Delete
2.01 kB
import os
import sys
from typing import Optional, Union
import requests
from dotenv import load_dotenv
REPO_NAME = "claude-code"
PR_NUMBER = 53
KEYWORDS = ["docker workflow", "automation", "review"]
def _github_get(org: str, token: str, path: str) -> Optional[Union[list, dict]]:
url = f"https://api.github.com/repos/{org}/{REPO_NAME}/{path}"
headers = {
"Authorization": f"Bearer {token}",
"Accept": "application/vnd.github+json",
}
try:
response = requests.get(url, headers=headers, timeout=30)
except Exception as exc:
print(f"Request error for {path}: {exc}", file=sys.stderr)
return None
if response.status_code != 200:
print(
f"GitHub API returned {response.status_code} for {path}",
file=sys.stderr,
)
return None
return response.json()
def verify() -> bool:
load_dotenv(".mcp_env")
token = os.environ.get("MCP_GITHUB_TOKEN")
org = os.environ.get("GITHUB_EVAL_ORG")
if not token:
print("MCP_GITHUB_TOKEN is missing", file=sys.stderr)
return False
if not org:
print("GITHUB_EVAL_ORG is missing", file=sys.stderr)
return False
comments = _github_get(org, token, f"issues/{PR_NUMBER}/comments?per_page=100")
if comments is None:
return False
for comment in comments:
body = comment.get("body", "").strip()
lowered = body.lower()
if not body:
continue
if not any(thank_word in lowered for thank_word in ("thanks", "thank you")):
continue
if all(keyword in lowered for keyword in KEYWORDS):
print("All checks passed! Keyword-rich thank-you comment found on PR #53.")
return True
print(
"Did not find a thank-you comment containing all required keywords on PR #53.",
file=sys.stderr,
)
return False
if __name__ == "__main__":
success = verify()
sys.exit(0 if success else 1)