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