fix: TemplateResponse API, auth fallback, drop environment_id from update_ticket MCP tool
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
018f2f40a2
commit
92b3afe9d6
3 changed files with 20 additions and 27 deletions
|
|
@ -34,7 +34,7 @@ async def root():
|
||||||
@app.get("/tickets", response_class=HTMLResponse, include_in_schema=False)
|
@app.get("/tickets", response_class=HTMLResponse, include_in_schema=False)
|
||||||
async def tickets_page(request: Request):
|
async def tickets_page(request: Request):
|
||||||
return templates.TemplateResponse(
|
return templates.TemplateResponse(
|
||||||
"tickets.html", {"request": request, "active_page": "tickets"}
|
request, "tickets.html", {"active_page": "tickets"}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -159,9 +159,7 @@ def make_router(api_key: str, get_db, require_user=None) -> APIRouter:
|
||||||
return {"username": "claude", "email": "claude@internal"}
|
return {"username": "claude", "email": "claude@internal"}
|
||||||
if require_user is not None:
|
if require_user is not None:
|
||||||
return require_user(request)
|
return require_user(request)
|
||||||
if not api_key:
|
return {"username": "local", "email": "local@localhost"}
|
||||||
return {"username": "local", "email": "local@localhost"}
|
|
||||||
raise HTTPException(401, "unauthorized")
|
|
||||||
|
|
||||||
# ── Environment endpoints ─────────────────────────────────────────────────
|
# ── Environment endpoints ─────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -229,33 +229,30 @@ def delete_ticket(ticket_id: int) -> dict:
|
||||||
|
|
||||||
@mcp.tool()
|
@mcp.tool()
|
||||||
def update_ticket(
|
def update_ticket(
|
||||||
ticket_id: int,
|
ticket_id: int,
|
||||||
title: str = "",
|
title: str = "",
|
||||||
description: str = "",
|
description: str = "",
|
||||||
status: str = "",
|
status: str = "",
|
||||||
type: str = "",
|
type: str = "",
|
||||||
user: str = "",
|
user: str = "",
|
||||||
parent_id: int = -1,
|
parent_id: int = -1,
|
||||||
effort: int = -1,
|
effort: int = -1,
|
||||||
environment_id: int = -1,
|
|
||||||
) -> dict:
|
) -> dict:
|
||||||
"""
|
"""
|
||||||
Update an existing homelab ticket. Only provided (non-empty) fields
|
Update an existing homelab ticket. Only provided (non-empty) fields
|
||||||
are changed; omit a field to leave it unchanged.
|
are changed; omit a field to leave it unchanged.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
ticket_id: The integer ID of the ticket to update.
|
ticket_id: The integer ID of the ticket to update.
|
||||||
title: New title.
|
title: New title.
|
||||||
description: New markdown description.
|
description: New markdown description.
|
||||||
status: open, ongoing, completed, abandoned.
|
status: open, ongoing, completed, abandoned.
|
||||||
type: feature, bug, chore, project.
|
type: feature, bug, chore, project.
|
||||||
user: kevin or claude.
|
user: kevin or claude.
|
||||||
parent_id: Set parent ticket ID; pass 0 to clear the parent.
|
parent_id: Set parent ticket ID; pass 0 to clear the parent.
|
||||||
Omit (default -1) to leave unchanged.
|
Omit (default -1) to leave unchanged.
|
||||||
effort: Effort rating 1–10; pass 0 to clear it.
|
effort: Effort rating 1–10; pass 0 to clear it.
|
||||||
Omit (default -1) to leave unchanged.
|
Omit (default -1) to leave unchanged.
|
||||||
environment_id: Move ticket to a different environment by ID.
|
|
||||||
Omit (default -1) to leave unchanged.
|
|
||||||
"""
|
"""
|
||||||
body = {}
|
body = {}
|
||||||
if title: body["title"] = title
|
if title: body["title"] = title
|
||||||
|
|
@ -267,8 +264,6 @@ def update_ticket(
|
||||||
body["parent_id"] = parent_id if parent_id > 0 else None
|
body["parent_id"] = parent_id if parent_id > 0 else None
|
||||||
if effort >= 0:
|
if effort >= 0:
|
||||||
body["effort"] = effort if effort > 0 else None
|
body["effort"] = effort if effort > 0 else None
|
||||||
if environment_id >= 0:
|
|
||||||
body["environment_id"] = environment_id if environment_id > 0 else None
|
|
||||||
if not body:
|
if not body:
|
||||||
raise ValueError("Provide at least one field to update")
|
raise ValueError("Provide at least one field to update")
|
||||||
with _client() as c:
|
with _client() as c:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue