tools/pipeline-generator/Azure.Sdk.Tools.PipelineGenerator/Conventions/PullRequestValidationPipelineConvention.cs (32 lines of code) (raw):

using Microsoft.Extensions.Logging; using Microsoft.TeamFoundation.Build.WebApi; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PipelineGenerator.Conventions { public class PullRequestValidationPipelineConvention : PipelineConvention { public PullRequestValidationPipelineConvention(ILogger logger, PipelineGenerationContext context) : base(logger, context) { } public override string SearchPattern => "ci.yml"; public override string PipelineNameSuffix => " - ci"; public override string PipelineCategory => "ci"; protected override async Task<bool> ApplyConventionAsync(BuildDefinition definition, SdkComponent component) { var hasChanges = await base.ApplyConventionAsync(definition, component); if (EnsureDefaultPullRequestTrigger(definition, overrideYaml: false, securePipeline: false)) { hasChanges = true; } if (EnsureDefaultCITrigger(definition)) { hasChanges = true; } return hasChanges; } } }