Monitor pipelines¶
Beyond the two AI-powered tools, the server exposes the full Woodpecker API as thin, reliable tools for everyday CI monitoring. Here are the questions your AI assistant can answer, and the tools it uses.
"Is CI healthy right now?"¶
The assistant checks the queue and server state:
| Question | Tools used |
|---|---|
| "Is CI healthy?" | get_health, get_version |
| "Is anything running right now?" | get_queue_info |
| "What pipelines are queued across all repos?" | list_queued_pipelines |
| "Which agents are available?" | list_agents, get_agent, list_agent_tasks |
Example:
What's queued across all repos right now?
list_queued_pipelines returns the global pipeline queue - every run waiting
or executing, with repo, branch, status, and author - so the model can tell you
whether a deploy is stuck behind a long build.
"What happened recently?"¶
| Question | Tools used |
|---|---|
| "What pipelines ran in the last hour?" | get_user_feed |
| "What did my repos build recently?" | get_user_repos |
| "List pipelines for repo X" | list_pipelines |
| "Show me pipeline #42 in repo X" | get_pipeline, get_pipeline_metadata |
"Show me the logs"¶
| Question | Tools used |
|---|---|
| "Show me the logs for pipeline #42 in repo X" | summarize_logs, get_step_logs |
| "What steps ran in pipeline #42?" | list_pipeline_steps |
| "Give me the raw log for a step" | download_step_logs |
| "What config did pipeline #42 use?" | get_pipeline_config, review_pipeline_config |
summarize_logs returns logs plus error/warning counts - a fast way to scan a
step without dumping everything into context. list_pipeline_steps reveals the
step ids (pids) needed by the log tools.
"Restart or rerun"¶
| Question | Tools used |
|---|---|
| "Restart the last failed pipeline in repo Y" | rerun_last_failed |
| "Restart pipeline #42" | restart_pipeline |
| "Cancel the running pipeline" | cancel_pipeline |
| "Approve the blocked pipeline" | approve_pipeline |
"Schedule or manage"¶
| Question | Tools used |
|---|---|
| "Create a nightly cron job on main" | create_cron_job, trigger_cron_job |
| "List / show cron jobs" | list_cron_jobs, get_cron_job |
| "List / add a repo secret" | list_repo_secrets, get_repo_secret, create_repo_secret |
Finding a repo id¶
Most tools take the internal Woodpecker repo id (not the GitHub id). Find
it with search_repositories or get_repository_by_name:
Use
get_repository_by_name(repo_full_name="owner/repo")to get the internalid, then pass that to the pipeline tools.