fix(mcp): handle gitea api envelope responses and add safety checks
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 1s
Monorepo Pipeline / 🧪 Test (push) Failing after 54s
Monorepo Pipeline / 🧹 Lint (push) Failing after 2m36s
Monorepo Pipeline / 🏗️ Build (push) Successful in 3m27s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped

This commit is contained in:
2026-03-02 12:53:11 +01:00
parent 2a5466c6c0
commit 72556af24c

View File

@@ -90,17 +90,18 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
params: { limit },
});
const runs = runsResponse.data;
const runs = (runsResponse.data.workflow_runs || []) as any[];
const enhancedRuns = await Promise.all(
runs.map(async (run: any) => {
try {
const jobsResponse = await giteaClient.get(`/repos/${owner}/${repo}/actions/runs/${run.id}/jobs`);
const jobs = (jobsResponse.data.jobs || []) as any[];
return {
id: run.id,
name: run.name,
status: run.status,
created_at: run.created_at,
jobs: jobsResponse.data.map((job: any) => ({
jobs: jobs.map((job: any) => ({
id: job.id,
name: job.name,
status: job.status,
@@ -125,13 +126,13 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { owner, repo, run_id } = request.params.arguments as any;
try {
const jobsResponse = await giteaClient.get(`/repos/${owner}/${repo}/actions/runs/${run_id}/jobs`);
const jobs = jobsResponse.data;
const jobs = (jobsResponse.data.jobs || []) as any[];
const logs = jobs.map((job: any) => ({
job_id: job.id,
job_name: job.name,
status: job.status,
conclusion: job.conclusion,
steps: job.steps.map((step: any) => ({
steps: (job.steps || []).map((step: any) => ({
name: step.name,
status: step.status,
conclusion: step.conclusion