You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# Web API中通过REST API或TFS库调度流水线定时执行?

问题:如何通过TFS SDK或Azure DevOps REST API为流水线设置定时触发器

我正在ASP.NET Web应用中使用Microsoft.TeamFoundation.Build.WebApi、Microsoft.TeamFoundation.Core.WebApi、Microsoft.VisualStudio.Services.Common、Microsoft.VisualStudio.Services.WebApi库触发Azure DevOps流水线。目前已实现触发流水线、获取工作项及流水线定义的功能,但无法通过buildClient.QueueBuildAsync(build)为流水线设置定时触发。

我尝试使用Microsoft.TeamFoundation.Build.WebApi中的抽象类BuildTrigger(它包含DefinitionTriggerType枚举,其中Schedule值为8),但不知道如何在排队流水线前应用该设置。

当前运行流水线的代码如下:

var credential = new VssBasicCredential(string.Empty, patToken);
var connection = new VssConnection(new Uri("https://dev.azure.com/myteam5468/"), credential);
var buildClient = connection.GetClient<BuildHttpClient>();
var projectClient = connection.GetClient<ProjectHttpClient>();
projectClient.GetProjects();
var project = projectClient.GetProject(projectName).Result;
Console.WriteLine(project.Name);

var definition = buildClient.GetDefinitionAsync(projectName, userSelectedPipelineID).Result;

Console.WriteLine(definition.Name);

var build = new Build()
{
    Definition = definition,
    Project = project,
};

// 运行流水线
buildClient.QueueBuildAsync(build).Wait();
Console.WriteLine(string.Format("Pipeline {0} started running successfully", definition.Name));

请问如何使用TFS库定义定时触发器?


Update 1

根据建议,我尝试用以下代码更新现有流水线定义,但无法设置TriggerType——该属性为只读:

buildClient.UpdateDefinitionAsync(definition.Triggers[0].TriggerType = DefinitionTriggerType.Schedule);

Update 2

我尝试用TeamFoundation.Build.WebApi创建触发器,但看到说明指出无法通过该SDK设置触发器:

// 创建触发器
ScheduleTrigger trigger = new ScheduleTrigger();

// 创建调度计划
Schedule schedule = new Schedule();
schedule.StartHours = 10;
schedule.StartMinutes = 00;

// 将计划添加到触发器的列表中
trigger.Schedules = new List<Schedule>();
trigger.Schedules.Add(schedule);

请问Azure DevOps仓库中创建和调度触发器的REST API结构是什么?

谢谢!


内容的提问来源于stack exchange,提问作者Divyanshu Agarwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:35:23