gitea compliant var names
This commit is contained in:
parent
7ab856727a
commit
5054f609dd
@ -25,6 +25,6 @@ PER_CREW_TIMEOUT=300
|
|||||||
LOG_LEVEL=INFO
|
LOG_LEVEL=INFO
|
||||||
|
|
||||||
# Gitea Webhook Configuration
|
# Gitea Webhook Configuration
|
||||||
GITEA_URL=http://192.168.178.160:3000
|
ACCESS_GITEA_URL=http://192.168.178.160:3000
|
||||||
GITEA_TOKEN=your_gitea_personal_access_token_here
|
ACCESS_GITEA_TOKEN=your_gitea_personal_access_token_here
|
||||||
GITEA_SECRET=your_webhook_secret_here
|
ACCESS_GITEA_SECRET=your_webhook_secret_here
|
||||||
@ -73,8 +73,8 @@ jobs:
|
|||||||
--from-literal=LOG_LEVEL=INFO \
|
--from-literal=LOG_LEVEL=INFO \
|
||||||
--from-literal=TOTAL_FLOW_TIMEOUT=600 \
|
--from-literal=TOTAL_FLOW_TIMEOUT=600 \
|
||||||
--from-literal=PER_CREW_TIMEOUT=300 \
|
--from-literal=PER_CREW_TIMEOUT=300 \
|
||||||
--from-literal=GITEA_URL=${{ vars.GITEA_URL }} \
|
--from-literal=ACCESS_GITEA_URL=${{ vars.ACCESS_GITEA_URL }} \
|
||||||
--from-literal=GITEA_TOKEN=${{ secrets.GITEA_TOKEN }} \
|
--from-literal=ACCESS_GITEA_TOKEN=${{ secrets.ACCESS_GITEA_TOKEN }} \
|
||||||
--from-literal=GITEA_SECRET=${{ secrets.GITEA_SECRET }} \
|
--from-literal=ACCESS_GITEA_SECRET=${{ secrets.ACCESS_GITEA_SECRET }} \
|
||||||
--namespace=pr-reviewer
|
--namespace=pr-reviewer
|
||||||
kubectl apply -f kube/pr-reviewer_deployment.yaml && kubectl apply -f kube/pr-reviewer_service.yaml
|
kubectl apply -f kube/pr-reviewer_deployment.yaml && kubectl apply -f kube/pr-reviewer_service.yaml
|
||||||
|
|||||||
@ -31,9 +31,9 @@ app = FastAPI(
|
|||||||
TOTAL_FLOW_TIMEOUT = int(os.getenv("TOTAL_FLOW_TIMEOUT", "600")) # Default 10 minutes
|
TOTAL_FLOW_TIMEOUT = int(os.getenv("TOTAL_FLOW_TIMEOUT", "600")) # Default 10 minutes
|
||||||
PER_CREW_TIMEOUT = int(os.getenv("PER_CREW_TIMEOUT", "300")) # Default 5 minutes
|
PER_CREW_TIMEOUT = int(os.getenv("PER_CREW_TIMEOUT", "300")) # Default 5 minutes
|
||||||
|
|
||||||
GITEA_URL = os.getenv("GITEA_URL", "http://192.168.178.160:3000")
|
ACCESS_GITEA_URL = os.getenv("ACCESS_GITEA_URL", "http://192.168.178.160:3000")
|
||||||
GITEA_TOKEN = os.getenv("GITEA_TOKEN")
|
ACCESS_GITEA_TOKEN = os.getenv("ACCESS_GITEA_TOKEN")
|
||||||
WEBHOOK_SECRET = os.getenv("GITEA_SECRET", "")
|
WEBHOOK_SECRET = os.getenv("ACCESS_GITEA_SECRET", "")
|
||||||
|
|
||||||
|
|
||||||
@app.get("/api/v1/health")
|
@app.get("/api/v1/health")
|
||||||
@ -52,8 +52,8 @@ def verify_signature(payload: bytes, signature: str) -> bool:
|
|||||||
|
|
||||||
|
|
||||||
def fetch_pr_files(repo_full: str, pr_number: int) -> List[Dict[str, Any]]:
|
def fetch_pr_files(repo_full: str, pr_number: int) -> List[Dict[str, Any]]:
|
||||||
headers = {"Authorization": f"token {GITEA_TOKEN}"}
|
headers = {"Authorization": f"token {ACCESS_GITEA_TOKEN}"}
|
||||||
url = f"{GITEA_URL}/api/v1/repos/{repo_full}/pulls/{pr_number}/files"
|
url = f"{ACCESS_GITEA_URL}/api/v1/repos/{repo_full}/pulls/{pr_number}/files"
|
||||||
resp = requests.get(url, headers=headers)
|
resp = requests.get(url, headers=headers)
|
||||||
resp.raise_for_status()
|
resp.raise_for_status()
|
||||||
files_data = resp.json()
|
files_data = resp.json()
|
||||||
@ -64,7 +64,7 @@ def fetch_pr_files(repo_full: str, pr_number: int) -> List[Dict[str, Any]]:
|
|||||||
status = f["status"]
|
status = f["status"]
|
||||||
content = None
|
content = None
|
||||||
if status in ("added", "modified"):
|
if status in ("added", "modified"):
|
||||||
raw_url = f"{GITEA_URL}/api/v1/repos/{repo_full}/contents/{filename}?ref=pulls/{pr_number}/head"
|
raw_url = f"{ACCESS_GITEA_URL}/api/v1/repos/{repo_full}/contents/{filename}?ref=pulls/{pr_number}/head"
|
||||||
raw_resp = requests.get(raw_url, headers=headers)
|
raw_resp = requests.get(raw_url, headers=headers)
|
||||||
if raw_resp.ok:
|
if raw_resp.ok:
|
||||||
raw = raw_resp.json()
|
raw = raw_resp.json()
|
||||||
@ -82,8 +82,8 @@ def fetch_pr_files(repo_full: str, pr_number: int) -> List[Dict[str, Any]]:
|
|||||||
|
|
||||||
|
|
||||||
def post_pr_comment(repo_full: str, pr_number: int, comment: str) -> None:
|
def post_pr_comment(repo_full: str, pr_number: int, comment: str) -> None:
|
||||||
headers = {"Authorization": f"token {GITEA_TOKEN}"}
|
headers = {"Authorization": f"token {ACCESS_GITEA_TOKEN}"}
|
||||||
url = f"{GITEA_URL}/api/v1/repos/{repo_full}/issues/{pr_number}/comments"
|
url = f"{ACCESS_GITEA_URL}/api/v1/repos/{repo_full}/issues/{pr_number}/comments"
|
||||||
resp = requests.post(url, headers=headers, json={"body": comment})
|
resp = requests.post(url, headers=headers, json={"body": comment})
|
||||||
resp.raise_for_status()
|
resp.raise_for_status()
|
||||||
logger.info(f"Posted review comment to PR #{pr_number} in {repo_full}")
|
logger.info(f"Posted review comment to PR #{pr_number} in {repo_full}")
|
||||||
@ -105,14 +105,14 @@ async def gitea_webhook(request: Request) -> Dict[str, Any]:
|
|||||||
pr_number = pr["number"]
|
pr_number = pr["number"]
|
||||||
repo = data["repository"]
|
repo = data["repository"]
|
||||||
repo_full = repo["full_name"]
|
repo_full = repo["full_name"]
|
||||||
repo_url = repo.get("html_url", f"{GITEA_URL}/{repo_full}")
|
repo_url = repo.get("html_url", f"{ACCESS_GITEA_URL}/{repo_full}")
|
||||||
|
|
||||||
if action not in ("opened", "synchronize", "reopened"):
|
if action not in ("opened", "synchronize", "reopened"):
|
||||||
logger.info(f"Ignoring PR action: {action}")
|
logger.info(f"Ignoring PR action: {action}")
|
||||||
return {"status": "ignored", "reason": f"action '{action}' not processed"}
|
return {"status": "ignored", "reason": f"action '{action}' not processed"}
|
||||||
|
|
||||||
if not GITEA_TOKEN:
|
if not ACCESS_GITEA_TOKEN:
|
||||||
raise HTTPException(status_code=500, detail="GITEA_TOKEN not configured")
|
raise HTTPException(status_code=500, detail="ACCESS_GITEA_TOKEN not configured")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
files = fetch_pr_files(repo_full, pr_number)
|
files = fetch_pr_files(repo_full, pr_number)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user