in server/lib/services/BuildsService.dart [40:72]
Future<cb.Operation> startBuild(String accessToken,
projectId, substitutionsMap, templateConfigUrl, String method) async {
Map<String, dynamic> templateJsonConfig =
await _configService.getJson(templateConfigUrl);
var templateBuildSteps = templateJsonConfig['create']['steps'];
if (method == "DELETE")
templateBuildSteps = templateJsonConfig['destroy']['steps'];
String parent = "projects/${projectId}/locations/global";
List<cb.BuildStep> buildSteps = [];
for (Map<dynamic, dynamic> jsonStep in templateBuildSteps) {
var buildStep = cb.BuildStep.fromJson(jsonStep);
buildSteps.add(buildStep);
}
cb.BuildOptions buildOptions = cb.BuildOptions();
buildOptions.substitutionOption = 'ALLOW_LOOSE';
var buildRequest = cb.Build(
substitutions: substitutionsMap,
steps: buildSteps,
options: buildOptions);
var cloudBuildApi = cb.CloudBuildApi(getAuthenticatedClient(accessToken));
cb.Operation buildOp = await cloudBuildApi.projects.builds
.create(buildRequest, projectId, parent: parent);
return buildOp;
}