in src/configure/helper/devOps/azureDevOpsHelper.ts [90:133]
public static getBuildDefinitionPayload(pipelineName: string, queue: TaskAgentQueue, inputs: WizardInputs): BuildDefinition {
const repositoryProperties = inputs.sourceRepository.repositoryProvider === RepositoryProvider.Github ? {
apiUrl: `https://api.github.com/repos/${inputs.sourceRepository.repositoryId}`,
branchesUrl: `https://api.github.com/repos/${inputs.sourceRepository.repositoryId}/branches`,
cloneUrl: inputs.sourceRepository.remoteUrl,
connectedServiceId: inputs.sourceRepository.serviceConnectionId,
defaultBranch: inputs.sourceRepository.branch,
fullName: inputs.sourceRepository.repositoryName,
refsUrl: `https://api.github.com/repos/${inputs.sourceRepository.repositoryId}/git/refs`
} : null;
const properties = { 'source': 'ms-azure-devops.azure-pipelines' };
return {
name: pipelineName,
type: DefinitionType.Build,
quality: DefinitionQuality.Definition,
path: "\\", //Folder path of build definition. Root folder in this case
project: inputs.project,
process: {
type: 2,
yamlFileName: path.join(inputs.pipelineParameters.workingDirectory, inputs.pipelineParameters.pipelineFileName),
} as YamlProcess,
queue: {
id: queue.id,
},
triggers: [
{
triggerType: DefinitionTriggerType.ContinuousIntegration, // Continuous integration trigger type
settingsSourceType: 2, // Use trigger source as specified in YAML
batchChanges: false,
} as ContinuousIntegrationTrigger,
],
repository: {
id: inputs.sourceRepository.repositoryId,
name: inputs.sourceRepository.repositoryName,
type: inputs.sourceRepository.repositoryProvider,
defaultBranch: inputs.sourceRepository.branch,
url: inputs.sourceRepository.remoteUrl,
properties: repositoryProperties,
},
properties: properties,
};
}