如何通过Azure Pipeline调度UiPath Orchestrator作业?是否有对应工具包?
解决方案:Azure Pipeline调度UiPath Orchestrator作业
目前没有官方UiPath工具包直接支持在Azure Pipeline中调度Orchestrator作业,但可以通过以下两种方式实现需求:
方式1:通过UiPath Orchestrator API + Azure Pipeline脚本任务
利用Azure Pipeline的PowerShell/Shell任务,直接调用UiPath Orchestrator的REST API来触发或调度作业,步骤如下:
- 在UiPath Orchestrator中创建一个应用程序,获取
Client ID和Client Secret,并赋予该应用程序Jobs.Execute等必要权限。 - 在Azure Pipeline的变量组中安全存储
Client ID、Client Secret、Orchestrator API地址等敏感信息。 - 添加PowerShell任务,编写脚本调用API:
- 第一步:获取Orchestrator授权令牌
$authUrl = "$(OrchestratorUrl)/identity/connect/token" $authBody = @{ grant_type = "client_credentials" client_id = "$(ClientId)" client_secret = "$(ClientSecret)" scope = "ORCHESTRATOR_API" } $tokenResponse = Invoke-RestMethod -Uri $authUrl -Method Post -Body $authBody $accessToken = $tokenResponse.access_token - 第二步:触发指定作业
$jobUrl = "$(OrchestratorUrl)/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs" $jobBody = @{ startInfo = @{ ReleaseKey = "$(ReleaseKey)" # 替换为你的流程发布密钥 Strategy = "Specific" RobotIds = @(123) # 替换为目标机器人ID NoOfRobots = 1 } } | ConvertTo-Json Invoke-RestMethod -Uri $jobUrl -Method Post -Headers @{Authorization = "Bearer $accessToken"} -Body $jobBody -ContentType "application/json"
- 第一步:获取Orchestrator授权令牌
方式2:自定义Azure Pipeline任务扩展
如果团队需要更易用、可复用的功能,可以基于UiPath Orchestrator API开发自定义Azure Pipeline任务:
- 使用Azure DevOps Task SDK(支持TypeScript或PowerShell)编写任务逻辑,封装API调用流程
- 将任务打包成Azure DevOps扩展,发布到组织内部的Marketplace,供所有Pipeline使用
注意事项
- 确保Azure Pipeline代理网络能访问UiPath Orchestrator的API端点
- 严格控制Orchestrator应用程序的权限,遵循最小权限原则
内容的提问来源于stack exchange,提问作者roshni katare
相关产品推荐
相关产品推荐

