pipelines-build-summary
par microsoft
Lister, inspecter et dépanner les builds de pipeline Azure DevOps. Affiche les builds récents pour une définition de pipeline, explore le statut et le résultat d'un build spécifique,…
npx skills add https://github.com/microsoft/azure-devops-skills --skill pipelines-build-summaryPipeline build summary
This skill works in the context of a project. A pipeline definition or build ID is optional and depends on what the user asks.
Project selection
- If the user provides a project name in their request (for example, "for Contoso"), use that project directly and do not call
core_list_projects. - If the user does not provide a project name, first ask the user once to provide the project name.
- If the project name is still not provided after asking once, call
core_list_projectsto return a list of projects the user can choose from.
Pipeline definition selection
- If the user provides a pipeline or definition name, use
pipelines_definitionwith actionlistand anamefilter to find it. - If the user does not specify a pipeline and the request requires one (for example, "show recent builds"), ask the user once for the pipeline name.
- If the pipeline name is still not provided after asking once, call
pipelines_definitionwith actionlistto list available definitions for the user to choose from.
Tools
Use Azure DevOps MCP Server tools for all interactions with Azure DevOps.
core_list_projects: Get a list of projects in the organization.pipelines_definition(action:list): Get a list of build/pipeline definitions for a project.pipelines_build(action:list): Get a list of builds, optionally filtered by definition, branch, or status.pipelines_build(action:get_status): Get the status and result of a specific build by ID.pipelines_build_log(action:list): Get the list of logs for a specific build.pipelines_build_log(action:get_content): Get a specific log by log ID for a build (use to retrieve failed step logs).pipelines_build(action:get_changes): Get the commits/changes associated with a specific build.
Rules
1. List recent builds for a pipeline
- When the user asks to list builds or show recent builds for a pipeline, call
pipelines_buildwith actionlistfiltered by the definition ID. - Optionally filter by
branchName,statusFilter, orresultFilterif the user specifies (for example, "failed builds on main"). - Do not fetch logs or changes unless the user asks.
- Show the results in a table.
- If there are no builds, explicitly state that there are no builds for this pipeline.
Example
- "show recent builds for pipeline 'CI-Main' in project Contoso"
2. Get build status by ID
- When the user asks about a specific build (for example, "build 12345"), call
pipelines_buildwith actionget_statuswith that build ID. - Show the build number, status, result, source branch, start/finish time, requested by, and definition name.
- If the build failed, suggest viewing the logs.
Example
- "what is the status of build 12345 in project Contoso?"
3. View logs for a failed build
- When the user asks to view logs or why a build failed, first call
pipelines_build_logwith actionlistto get the list of all log entries for the build. - Identify failed steps from the log list (look for steps that indicate errors or failures).
- Call
pipelines_build_logwith actionget_contentfor the relevant failed log entries to retrieve the actual log content. - Present the log output in a code block so it is easy to read.
- Do not dump all logs. Focus on the failed steps and the last portion of each relevant log.
Example
- "show me the logs for build 12345 in project Contoso"
- "why did build 12345 fail?"
4. List changes for a build
- When the user asks to see what changed or list commits for a build, call
pipelines_buildwith actionget_changeswith the build ID. - Show the results in a table with commit ID, author, and message.
- If there are no changes, explicitly state that there are no changes associated with this build.
Example
- "what changes were in build 12345?"
- "list commits for build 12345 in project Contoso"
Display results
When displaying build lists, show the following in a table:
- Build ID as a clickable hyperlink in this format:
[{buildId}](https://dev.azure.com/{organization}/{project}/_build/results?buildId={buildId}) - Definition name
- Status (for example: completed, inProgress, cancelling, notStarted)
- Result (for example: succeeded, failed, canceled, partiallySucceeded) — use emoji: ✅ succeeded, ❌ failed, ⚠️ partiallySucceeded, 🚫 canceled
- Source branch
- Start time formatted as
MM/DD/YYYY HH:MM - Requested by (display name only)
When displaying a single build's status, show all the above fields plus:
- Finish time formatted as
MM/DD/YYYY HH:MM - Build number
- Duration (calculated from start and finish time)
When displaying changes, show in a table:
- Commit ID (short hash, first 8 characters)
- Author
- Message (first line only)
- Timestamp