예제 #1
0
        private static async void cleanupGithub()
        {
            String _gitToken = File.ReadAllText("../../../gitToken.txt");

            // list temp repos
            HttpClient httpClient = new HttpClient();

            httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("patricklee2");
            HttpResponseMessage response   = null;
            List <Repo>         resultList = new List <Repo>();
            List <Repo>         stackRepos = null;
            int run = 0;

            while (true)
            {
                String generatedReposURL = String.Format("https://api.github.com/orgs/{0}/repos?page={1}&per_page=30&sort=full_name&direction=asc", "blessedimagepipeline", run);
                response = await httpClient.GetAsync(generatedReposURL);

                response.EnsureSuccessStatusCode();
                string contentString = await response.Content.ReadAsStringAsync();

                List <Repo> l = JsonConvert.DeserializeObject <List <Repo> >(contentString);
                resultList.AddRange(l);
                run++;
                if (l.Count < 30)
                {
                    break;
                }
            }

            stackRepos = resultList.FindAll(isTemp);
            GitHubUtils gitHubUtils = new GitHubUtils(_gitToken);

            foreach (Repo r in stackRepos)
            {
                Console.WriteLine(r.full_name);
                gitHubUtils.DeleteGithubAsync("blessedimagepipeline", r.name);
                // delete image

                //delete webapp
            }
        }