in src/VstsDemoBuilder/Services/ExtractorService.cs [860:1002]
private static int NormalPipeline(ProjectConfigurations appConfig, int count, string templatePath, JObject def, string fileName, JToken repoName, JToken type)
{
try
{
def["queue"]["id"] = "";
def["queue"]["url"] = "";
def["queue"]["_links"] = "{}";
def["queue"]["pool"]["id"] = "";
def["_links"] = "{}";
def["createdDate"] = "";
var process = def["process"];
if (process != null)
{
var phases = process["phases"];
if (phases != null)
{
foreach (var phase in phases)
{
phase["target"]["queue"] = "{}";
var steps = phase["steps"];
if (steps != null)
{
foreach (var step in steps)
{
string keyConfig = File.ReadAllText(HostingEnvironment.MapPath("~") + @"\\Templates\EndpointKeyConfig.json");
KeyConfig.Keys keyC = new KeyConfig.Keys();
keyC = JsonConvert.DeserializeObject<KeyConfig.Keys>(keyConfig);
foreach (var key in keyC.keys)
{
string keyVal = step[key] != null ? step[key].ToString() : "";
if (!string.IsNullOrEmpty(keyVal))
{
step[key] = "";
}
}
foreach (var key in keyC.keys)
{
string keyVal = step["inputs"][key] != null ? step["inputs"][key].ToString() : "";
if (!string.IsNullOrEmpty(keyVal))
{
step["inputs"][key] = "";
}
}
}
}
}
}
}
if (type.ToString().ToLower() == "github")
{
Guid g = Guid.NewGuid();
string randStr = g.ToString().Substring(0, 8);
def["repository"]["type"] = "Git";
def["repository"]["properties"]["fullName"] = "repository";
def["repository"]["properties"]["connectedServiceId"] = "$GitHub_" + randStr + "$";
def["repository"]["name"] = "repository";
string url = def["repository"]["url"].ToString();
if (url != "")
{
string endPointString = File.ReadAllText(HostingEnvironment.MapPath("~") + @"PreSetting\\GitHubEndPoint.json");
endPointString = endPointString.Replace("$GitHubURL$", url).Replace("$Name$", "GitHub_" + randStr);
if (!Directory.Exists(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints"))
{
Directory.CreateDirectory(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints");
File.WriteAllText(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints\\GitHub" + randStr + "-EndPoint.json", endPointString);
}
else
{
File.WriteAllText(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints\\GitHub" + randStr + "-EndPoint.json", endPointString);
}
}
}
else if (type.ToString().ToLower() == "git")
{
Guid g = Guid.NewGuid();
string randStr = g.ToString().Substring(0, 8);
string url = def["repository"]["url"].ToString();
string endPointString = File.ReadAllText(HostingEnvironment.MapPath("~") + @"PreSetting\\GitHubEndPoint.json");
endPointString = endPointString.Replace("$GitHubURL$", url).Replace("$Name$", "GitHub_" + randStr);
if (!Directory.Exists(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints"))
{
Directory.CreateDirectory(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints");
File.WriteAllText(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints\\GitHub_" + randStr + "-EndPoint.json", endPointString);
}
else
{
File.WriteAllText(extractedTemplatePath + appConfig.RepoConfig.Project + "\\ServiceEndpoints\\GitHub_" + randStr + "-EndPoint.json", endPointString);
}
def["repository"]["properties"]["connectedServiceId"] = "$GitHub_" + randStr + "$";
}
else
{
def["repository"]["id"] = "$" + repoName + "$";
def["repository"]["url"] = "";
def["repository"]["properties"]["connectedServiceId"] = "";
}
var input = def["processParameters"]["inputs"];
if (input != null)
{
if (input.HasValues)
{
foreach (var i in input)
{
i["defaultValue"] = "";
}
}
}
var build = def["build"];
if (build != null)
{
if (build.HasValues)
{
foreach (var b in build)
{
b["inputs"]["serverEndpoint"] = "";
}
}
}
count++;
if (!Directory.Exists(templatePath + "\\BuildDefinitions"))
{
Directory.CreateDirectory(templatePath + "\\BuildDefinitions");
File.WriteAllText(templatePath + "\\BuildDefinitions\\" + fileName, JsonConvert.SerializeObject(def, Formatting.Indented));
}
else
{
File.WriteAllText(templatePath + "\\BuildDefinitions\\" + fileName, JsonConvert.SerializeObject(def, Formatting.Indented));
}
return count;
}
catch (Exception ex)
{
logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "Exporting normalPipeline \t" + ex.Message + "\n" + ex.StackTrace + "\n");
}
return count;
}