用途
add-azuredevops 是 microsoft/power-platform-skills 中的一个技能,用于向 Power Apps 代码应用(code app)添加 Azure DevOps 连接器。当需要查询工作项、创建 Bug、管理流水线或进行 Azure DevOps(ADO)API 调用时使用。
主要能力
- 通过 /list-connections 技能查找 Azure DevOps 连接 ID;若不存在,则引导用户通过环境专属的 Connections URL 创建连接。
- 使用命令
pa app add data-source --connector azuredevops -c <connection-id>添加数据源。 - 修复生成代码中 HttpRequest 方法的已知问题:该方法使用 parameters 作为参数名,但 API 期望 body,需要在三个文件中将参数重命名为 body。
- 支持通过 HttpRequest 发起任意 ADO REST API 调用,例如查询工作项。
- 通过 Grep 在生成的 AzureDevOpsService.ts 中查找特定方法。
使用方式
工作流分为六步:
- 检查 Memory Bank:依据 shared-instructions.md 检查 memory-bank.md。
- 添加连接器:先运行 /list-connections 技能找到 Azure DevOps 连接;若没有,则引导用户使用环境专属 Connections URL(由上下文中的活动环境 ID 构造,来自 power.config.json 或前一步)创建连接,然后执行
pa app add data-source --connector azuredevops -c <connection-id>。 - 应用 HttpRequest 修复(必需):在以下三个文件中将参数重命名为 body:
- src/generated/services/AzureDevOpsService.ts:将
async HttpRequest(parameters: any)改为async HttpRequest(body: any),并将const params = { parameters: parameters, ... }改为const params = { body: body, ... }。 - .power/appschemas/dataSourceInfo.ts:在 visualstudioteamservices → HttpRequest → parameters 部分,将属性键 parameters 改为 body。
- .power/schemas/visualstudioteamservices/visualstudioteamservices.Schema.json:在 /{connectionId}/httprequest → post → parameters 数组中,将 name 字段由 "parameters" 改为 "body"。
- src/generated/services/AzureDevOpsService.ts:将
- 配置:询问用户需要哪些 Azure DevOps 操作(查询工作项、创建项、触发流水线等)。HttpRequest 可发起任意 ADO REST API 调用,示例:
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"
})
});
文档参见 Azure DevOps REST API。可使用 Grep 在 src/generated/services/AzureDevOpsService.ts 中查找特定方法(生成文件可能非常大,参见 connector-reference.md)。
- 构建:运行
npm run build,在继续之前修复 TypeScript 错误,暂不部署。 - 更新 Memory Bank:在 memory-bank.md 中记录已添加连接器、已应用 HttpRequest 修复、构建状态。
适用场景
- 在 Power Apps 代码应用中集成 Azure DevOps。
- 查询工作项、创建 Bug、管理流水线。
- 通过 HttpRequest 调用任意 Azure DevOps REST API。
限制
- 需要先存在或创建 Azure DevOps 连接。
- HttpRequest 修复为必需步骤,否则生成的代码可能无法正常工作。
- 构建后需修复 TypeScript 错误,且该技能流程中暂不部署。
- 关于收费、价格、平台支持范围等事实,资料中暂未提供。