Esempio n. 1
0
        public async Task CreateIssueIfNotExists(Issue issue, Octokit.Repository githubRepo)
        {
            var foundIssue = await GetIssue(issue.Title, githubRepo);

            if (foundIssue != null)
            {
                Log($"Issue '{foundIssue.Title}' already exists (#{foundIssue.Id})");
                return;
            }

            var relatedMilestone = await GetMilestone(issue.MilestoneName, githubRepo);

            if (relatedMilestone == null)
            {
                throw new Exception($"Milestone '{issue.MilestoneName}' was not found");
            }

            await CreateIssue(issue, githubRepo, relatedMilestone);
        }
Esempio n. 2
0
        public async Task CreateIssue(Issue issue, Octokit.Repository githubRepo, Milestone relatedMilestone)
        {
            var optimizedDescription = issue.Description.Replace("- [ ]", "\r\n- [ ]");

            var newIssue = new NewIssue(issue.Title)
            {
                Body      = optimizedDescription,
                Milestone = relatedMilestone.Number
            };

            foreach (var label in issue.Labels)
            {
                newIssue.Labels.Add(label);
            }

            var createdIssue = await GitHubClient.Issue.Create(githubRepo.Id, newIssue);

            Log($"Issue '{createdIssue.Title}' created (#{createdIssue.Number})");
        }