Skip to main content
The @guildai-services/guildai~azure-devops package provides agents with access to the Azure DevOps REST API through Guild’s OAuth 2.0 integration.

Authentication

  • Type: OAuth 2.0 (Microsoft identity platform)
  • Token expiration: 1 hour (auto-refreshed)

Setup

1

Open Credentials

Go to Credentials in Guild.
2

Connect Azure DevOps

Click Azure DevOps and authorize through your Microsoft account.
3

Grant access

Authorize access to your Azure DevOps organization.

Usage

import { azureDevOpsTools } from "@guildai-services/guildai~azure-devops"
import { llmAgent } from "@guildai/agents-sdk"

export default llmAgent({
  description: "An agent that manages Azure DevOps work items",
  tools: { ...azureDevOpsTools },
})

Selecting specific tools

Agents perform better with fewer tools. Use pick() to include only what your agent needs. Tools are named with the azure_devops_ prefix — for example, work_items_list becomes azure_devops_work_items_list.
import { azureDevOpsTools } from "@guildai-services/guildai~azure-devops"
import { llmAgent, pick } from "@guildai/agents-sdk"

export default llmAgent({
  description: "An agent that manages Azure DevOps work items",
  tools: {
    ...pick(azureDevOpsTools, [
      "azure_devops_work_items_list",
      "azure_devops_work_items_get_work_item",
      "azure_devops_work_items_create",
      "azure_devops_work_items_update",
    ]),
  },
})

API endpoints

All paths are prefixed with /{organization}/{project} unless noted.
OperationMethodPath
repositories_listGET/_apis/git/repositories
repositories_createPOST/_apis/git/repositories
repositories_get_repositoryGET/_apis/git/repositories/{repositoryId}
repositories_updatePATCH/_apis/git/repositories/{repositoryId}
repositories_deleteDELETE/_apis/git/repositories/{repositoryId}
OperationMethodPath
commits_get_push_commitsGET/_apis/git/repositories/{repositoryId}/commits
commits_getGET/_apis/git/repositories/{repositoryId}/commits/{commitId}
commits_get_changesGET/_apis/git/repositories/{repositoryId}/commits/{commitId}/changes
commits_get_commits_batchPOST/_apis/git/repositories/{repositoryId}/commitsbatch
OperationMethodPath
pull_requests_get_pull_requests_by_projectGET/_apis/git/pullrequests
pull_requests_get_pull_requestsGET/_apis/git/repositories/{repositoryId}/pullrequests
pull_requests_createPOST/_apis/git/repositories/{repositoryId}/pullrequests
pull_requests_get_pull_requestGET/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}
pull_requests_updatePATCH/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}
OperationMethodPath
pipelines_listGET/_apis/pipelines
pipelines_createPOST/_apis/pipelines
pipelines_getGET/_apis/pipelines/{pipelineId}
runs_listGET/_apis/pipelines/{pipelineId}/runs
runs_run_pipelinePOST/_apis/pipelines/{pipelineId}/runs
runs_getGET/_apis/pipelines/{pipelineId}/runs/{runId}
builds_listGET/_apis/build/builds
builds_queuePOST/_apis/build/builds
builds_getGET/_apis/build/builds/{buildId}
builds_get_build_logsGET/_apis/build/builds/{buildId}/logs
definitions_listGET/_apis/build/definitions
definitions_createPOST/_apis/build/definitions
definitions_getGET/_apis/build/definitions/{definitionId}
OperationMethodPath
work_items_listGET/_apis/wit/workitems
work_items_get_work_item_templateGET/_apis/wit/workitems/{type}
work_items_createPOST/_apis/wit/workitems/{type}
work_items_get_work_itemGET/_apis/wit/workitems/{id}
work_items_updatePATCH/_apis/wit/workitems/{id}
work_items_deleteDELETE/_apis/wit/workitems/{id}
work_items_get_work_items_batchPOST/_apis/wit/workitemsbatch
queries_listGET/_apis/wit/queries
queries_getGET/_apis/wit/queries/{query}
queries_createPOST/_apis/wit/queries/{query}
work_item_types_listGET/_apis/wit/workitemtypes
fields_listGET/_apis/wit/fields
OperationMethodPath
approvals_queryGET/_apis/pipelines/approvals
approvals_updatePATCH/_apis/pipelines/approvals
approvals_getGET/_apis/pipelines/approvals/{approvalId}
check_configurations_listGET/_apis/pipelines/checks/configurations
check_configurations_addPOST/_apis/pipelines/checks/configurations
check_configurations_getGET/_apis/pipelines/checks/configurations/{id}
check_configurations_updatePATCH/_apis/pipelines/checks/configurations/{id}
check_configurations_deleteDELETE/_apis/pipelines/checks/configurations/{id}
OperationMethodPath
pools_get_agent_pools_by_idsGET/{organization}/_apis/distributedtask/pools
pools_addPOST/{organization}/_apis/distributedtask/pools
pools_getGET/{organization}/_apis/distributedtask/pools/{poolId}
agents_listGET/{organization}/_apis/distributedtask/pools/{poolId}/agents
deploymentgroups_listGET/_apis/distributedtask/deploymentgroups
deploymentgroups_addPOST/_apis/distributedtask/deploymentgroups
deploymentgroups_getGET/_apis/distributedtask/deploymentgroups/{deploymentGroupId}
variablegroups_getGET/{organization}/_apis/distributedtask/variablegroups/{groupId}
variablegroups_addPOST/{organization}/_apis/distributedtask/variablegroups

Webhook events

Azure DevOps does not support webhook triggers in Guild. This integration is API-access only.

Limitations

  • No webhook or trigger support
  • API access requires the user’s Azure DevOps organization to be accessible via the authorized Microsoft account