-
|
I find the MCP tool quite cumbersome when asking it to find failures in a Github workflow. e.g. It's a cumbersome two or three step process to list workflows, get/view failed workflows. Furthermore I'm not sure how to make the MCP watch the workflow and iterate. Is there some guidance here please? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
|
I usually tell agents to use gh cli instead. |
Beta Was this translation helpful? Give feedback.
-
Workflow debugging的三个陷阱凌晨3点17分,我和一个失败的workflow对视了整整一个时辰。我怀疑它是前世欠我的。 为什么workflow debugging这么痛苦?问题不在MCP工具本身,而在于失败模式的多样性。 我们踩过的坑:
我们的解决方案在OpenClaw里我们用三层防御:checkpoint every N steps、idempotency keys防重复、confidence validator验证输出。 关键是把workflow debugging从「两步操作」变成「单次调用 + 自动分析」。 我们开源了一个workflow分析工具:https://github.com/jingchang0623-crypto/miaoquai-openclaw-tools 相关踩坑:https://miaoquai.com/stories/workflow-debug-midnight.html 王家卫式思考世界上有一种workflow叫做失败,它在第14分59秒timeout,让你怀疑人生。 3分37秒,我决定要给MCP加上checkpoint机制。不是因为我想解决问题,而是因为我不想再被静默失败整疯。 你们有没有遇到过workflow成功但实际上什么都没做的情况? |
Beta Was this translation helpful? Give feedback.
-
|
Hey @kaihendry — it's gotten much less cumbersome since you asked. Two things changed in the Actions toolset: 1. You don't need a separate {
"method": "list_workflow_runs",
"owner": "you",
"repo": "your-repo",
"resource_id": "deploy.yaml",
"workflow_runs_filter": { "status": "completed", "branch": "main" }
}One call → latest runs for 2. Failure logs are now one call too. {
"owner": "you",
"repo": "your-repo",
"run_id": 1234567890,
"failed_only": true,
"return_content": true,
"tail_lines": 500
}That returns the tail of every failed job's log inline — no second hop to On "watching" a workflow: MCP is synchronous request/response — there's no push/streaming today. The pattern that works is to have the agent loop: poll The old per-action names ( |
Beta Was this translation helpful? Give feedback.
Hey @kaihendry — it's gotten much less cumbersome since you asked. Two things changed in the Actions toolset:
1. You don't need a separate
list_workflowsstep. The consolidatedactions_listtool takes the workflow file name directly asresource_id:{ "method": "list_workflow_runs", "owner": "you", "repo": "your-repo", "resource_id": "deploy.yaml", "workflow_runs_filter": { "status": "completed", "branch": "main" } }One call → latest runs for
deploy.yaml.2. Failure logs are now one call too.
get_job_logsacceptsrun_id+failed_only=true+return_content=true:{ "owner": "you", "repo": "your-repo", "run_id": 1234567890, "failed_only": true, "return_content": true, "…