public void CreateConfigurationFiles(string gh_username, string repository_name, string access_token, IList <BranchM> branches, string path, IList <WorkflowCreateConfigM> configs, Guid sprint_id) { try { foreach (var config in configs) { if (config.ConfigTool.Equals(ConfigTool.CircleCI)) { config.Content = config.Content.Replace("{nococid-sprint-id}", sprint_id.ToString()); foreach (var branch in branches) { IList <GHFile> circleci_files = GetFiles(gh_username, repository_name, access_token, branch.Name, ConfigTool.CircleCIPath); if (circleci_files.Count != 0) { GHFile circleci_file = circleci_files.Where(c => c.Name.Equals(ConfigTool.CircleCIFileName)).FirstOrDefault(); if (circleci_file != null) { UpdateFile(gh_username, repository_name, access_token, branch.Name, ".circleci/config.yml", config.Content, false, "Update circleci configuration file", circleci_file.Sha); } else { CreateFile(gh_username, repository_name, access_token, branch.Name, ".circleci/config.yml", config.Content, false, "Add circleci workflow content"); } } else { CreateFile(gh_username, repository_name, access_token, branch.Name, ".circleci/config.yml", config.Content, false, "Add circleci workflow content"); } } } } } catch (Exception e) { throw e is ServerException ? e : _errorHandler.WriteLog("An error occurred while create workflow files!", e, DateTime.Now, "Server", "Service_GHContent_CreateWorkflowFiles"); } }
public void RunWorkflow(string gh_username, string repository_name, string access_token, string path) { try { IList <GHFile> gh_files = GetFiles(gh_username, repository_name, access_token, ConfigTool.Nococid, path); foreach (var gh_file in gh_files) { if (gh_file.Type.Equals("file")) { switch (gh_file.Name) { case "circleci_config.yml": GHFileDetail gh_file_content = GetFile(gh_username, repository_name, access_token, ConfigTool.Nococid, path + "/" + gh_file.Name); IList <GHFile> circleci_files = GetFiles(gh_username, repository_name, access_token, ConfigTool.Nococid, ConfigTool.CircleCIPath); GHFile circleci_file = circleci_files.Where(c => c.Name.Equals(ConfigTool.CircleCIFileName)).FirstOrDefault(); if (circleci_file != null) { UpdateFile(gh_username, repository_name, access_token, ConfigTool.Nococid, ConfigTool.CircleCIPath + "/" + ConfigTool.CircleCIFileName, gh_file_content.Content, true, "Update CircleCI Config File", circleci_file.Sha); } else { CreateFile(gh_username, repository_name, access_token, ConfigTool.Nococid, ConfigTool.CircleCIPath + "/" + ConfigTool.CircleCIFileName, gh_file_content.Content, true, "Create CircleCI Config File"); } break; } } } } catch (Exception e) { throw e is ServerException ? e : _errorHandler.WriteLog("An error occurred while run workflow!", e, DateTime.Now, "Server", "Service_GHContent_CreateWorkflowFiles"); } }