private static int NormalPipeline()

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;
        }