You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SDK investigation and implementation recommendation
I checked SDK support before considering direct REST access.
SDK availability
The currently installed azure-devops-node-api15.1.2 does not expose getBuildStageTimeline.
I also checked the latest published azure-devops-node-api17.0.1. It still does not expose:
getBuildStageTimeline
getBuildStageLatestTimeline
The installed azure-devops-extension-api does expose both methods. However, that client is intended primarily for Azure DevOps web extensions and would introduce a second HTTP and authentication stack into this Node MCP server.
Recommendation
Add a get_stage_timeline action to the existing pipelines_build tool and call the endpoint through connection.rest.get rather than global fetch.
This approach:
Retains the existing WebApi authentication handlers.
Preserves existing proxy, certificate, retry, and user-agent behavior.
Avoids manually retrieving or placing credentials in an Authorization header.
Follows the existing connection.rest.get fallback pattern in src/tools/repositories.ts.
Avoids coupling the server to the browser-oriented extension client.
Suggested inputs
project: required string
buildId: required positive integer
timelineId: required UUID
stageName: required non-empty string
changeId: optional non-negative integer
planId: optional UUID
Endpoint
GET {organization}/{project}/_apis/build/builds/{buildId}/Timeline/{timelineId}/stages/{stageName}
?changeId={changeId}
&planId={planId}
&api-version=7.2-preview.1
The implementation should:
Obtain the existing WebApi connection from connectionProvider.
Build the URL relative to connection.serverUrl.
Independently encode project, timelineId, and stageName.
Activity
danhellem commentedon Oct 15, 2026
SDK investigation and implementation recommendation
I checked SDK support before considering direct REST access.
SDK availability
azure-devops-node-api15.1.2 does not exposegetBuildStageTimeline.azure-devops-node-api17.0.1. It still does not expose:getBuildStageTimelinegetBuildStageLatestTimelineazure-devops-extension-apidoes expose both methods. However, that client is intended primarily for Azure DevOps web extensions and would introduce a second HTTP and authentication stack into this Node MCP server.Recommendation
Add a
get_stage_timelineaction to the existingpipelines_buildtool and call the endpoint throughconnection.rest.getrather than globalfetch.This approach:
WebApiauthentication handlers.Authorizationheader.connection.rest.getfallback pattern insrc/tools/repositories.ts.Suggested inputs
project: required stringbuildId: required positive integertimelineId: required UUIDstageName: required non-empty stringchangeId: optional non-negative integerplanId: optional UUIDEndpoint
The implementation should:
WebApiconnection fromconnectionProvider.connection.serverUrl.project,timelineId, andstageName.7.2-preview.1.changeIdandplanIdonly when supplied.connection.rest.get<Timeline>(url, { deserializeDates: true }).Tests
Add focused tests covering:
get_stage_timelineaction.timelineIdandplanId.changeIdandplanIdquery parameters.danhellem commentedon Oct 21, 2026
FYI, we are currently blocked on not having this API available in the client library. We are trying to figure out when it will be available.
danhellem commentedon Oct 22, 2026
This issue is going to be on hold for a couple of sprints while we wait for the endpoint to be added to the client library.