mcpField
A
add-azuredevops

add-azuredevops

github.com/microsoftCloud & DevOps1.1k240 installsUpdated today
Repository

About add-azuredevops

A development skill for adding and configuring the Azure DevOps connector in an app. It includes a required fix for the generated HttpRequest parameter and describes making REST API calls.

Key features

  1. 01Check and update the Memory Bank
  2. 02Add the Azure DevOps connector
  3. 03Fix the HttpRequest parameter setup
  4. 04Configure operations and build the app

Use cases

  1. 01Query or create Azure DevOps work items
  2. 02Trigger pipelines through the REST API

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/microsoft/power-platform-skills --skill add-azuredevops

After installing, type/add-azuredevopsin Claude Code to confirm it loaded.

Details

From the project README

📋 Shared Instructions: shared-instructions.md - Cross-cutting concerns.

Add Azure DevOps

Workflow

  1. Check Memory Bank → 2. Add Connector → 3. Apply HttpRequest Fix → 4. Configure → 5. Build → 6. Update Memory Bank

Step 1: Check Memory Bank

Check for memory-bank.md per shared-instructions.md.

Step 2: Add Connector

First, find the connection ID (see connector-reference.md):

Run the /list-connections skill. Find the Azure DevOps connection in the output. If none exists, direct the user to create one using the environment-specific Connections URL — construct it from the active environment ID in context (from power.config.json or a prior step): https://make.powerapps.com/environments/<environment-id>/connections → + New connection → search for the connector → Create.

pa app add data-source --connector azuredevops -c <connection-id>
Step 3: Apply HttpRequest Fix (Required)

The generated code has a known issue: the HttpRequest method uses parameters as the parameter name, but the API expects body. Rename parameters to body in these 3 files:

Use the Edit tool to rename parameters to body in each file:

1. src/generated/services/AzureDevOpsService.ts: Find the HttpRequest method. Rename the parameter and its usage:

// BEFORE (generated):
async HttpRequest(parameters: any) {
  const params = { parameters: parameters, ... };

// AFTER (fixed):
async HttpRequest(body: any) {
  const params = { body: body, ... };

2. .power/appschemas/dataSourceInfo.ts: Find the visualstudioteamservices → HttpRequest → parameters section. Rename the property key:

// BEFORE (generated):
HttpRequest: {
  parameters: {
    parameters: { ... }

// AFTER (fixed):
HttpRequest: {
  parameters: {
    body: { ... }

3. .power/schemas/visualstudioteamservices/visualstudioteamservices.Schema.json: Find the /{connectionId}/httprequest → post → parameters array. Change the name field:

// BEFORE (generated):
{ "name": "parameters", "in": "body", ... }

// AFTER (fixed):
{ "name": "body", "in": "body", ... }
Step 4: Configure

Ask the user what Azure DevOps operations they need (query work items, create items, trigger pipelines, etc.).

HttpRequest -- make arbitrary ADO REST API calls:

await AzureDevOpsService.HttpRequest({
  Uri: "https://dev.azure.com/{org}/{project}/_apis/wit/wiql?api-version=7.2",
  Method: "POST",
  Body: JSON.stringify({
    query:
      "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.TeamProject] = @project"
  })
});

Docs: Azure DevOps REST API

Use Grep to find specific methods in src/generated/services/AzureDevOpsService.ts (generated files can be very large -- see connector-reference.md).

Step 5: Build
npm run build

Fix TypeScript errors before proceeding. Do NOT deploy yet.

Step 6: Update Memory Bank

Update memory-bank.md with: connector added, HttpRequest fix applied, build status.

Comments

Markdown supported