static async Task CreateRelease(GitHubClient github, string owner, string repository, string milestone, string targetCommitish, string asset, string outputFile, bool createFile)
        {
            var releaseNotesBuilder = new ReleaseNotesBuilder(new DefaultGitHubClient(github, owner, repository), owner, repository, milestone);
            var result = await releaseNotesBuilder.BuildReleaseNotes();

            if (createFile)
            {
                CreateReleaseNotesFile(result, outputFile);
            }
            else
            {
                var releaseUpdate = new NewRelease(milestone)
                {
                    Draft = true,
                    Body  = result,
                    Name  = milestone,
                };
                if (!string.IsNullOrEmpty(targetCommitish))
                {
                    releaseUpdate.TargetCommitish = targetCommitish;
                }

                var release = await github.Repository.Release.Create(owner, repository, releaseUpdate);

                if (File.Exists(asset))
                {
                    var upload = new ReleaseAssetUpload {
                        FileName = Path.GetFileName(asset), ContentType = "application/octet-stream", RawData = File.Open(asset, FileMode.Open)
                    };
                    await github.Repository.Release.UploadAsset(release, upload);
                }
            }
        }
Esempio n. 2
0
        public async Task GenerateReleaseNotes(string repo, string version)
        {
            var gitHubClient = ClientBuilder.Build();

            var releaseNotesBuilder = new ReleaseNotesBuilder(new DefaultGitHubClient(gitHubClient, "Particular", repo), "Particular", repo, version);
            var result = await releaseNotesBuilder.BuildReleaseNotes();

            Console.WriteLine(result);
            ClipBoardHelper.SetClipboard(result);
        }
Esempio n. 3
0
        public async void SingleMilestone3()
        {
            var gitHubClient = ClientBuilder.Build();

            var releaseNotesBuilder = new ReleaseNotesBuilder(new DefaultGitHubClient(gitHubClient, "Particular", "ServiceControl"), "Particular", "ServiceControl", "1.0.0-Beta4");
            var result = await releaseNotesBuilder.BuildReleaseNotes();

            Debug.WriteLine(result);
            ClipBoardHelper.SetClipboard(result);
        }
    public async void SingleMilestone()
    {
        var gitHubClient = ClientBuilder.Build();

        var releaseNotesBuilder = new ReleaseNotesBuilder(gitHubClient, "Particular", "NServiceBus", "4.3.4");
        var result = await releaseNotesBuilder.BuildReleaseNotes();

        Debug.WriteLine(result);
        ClipBoardHelper.SetClipboard(result);
    }
Esempio n. 5
0
        private static async Task CreateReleaseFromMilestone(GitHubClient github, string owner, string repository, string milestone, string targetCommitish, IList <string> assets, bool prerelease, Config configuration)
        {
            var releaseNotesBuilder = new ReleaseNotesBuilder(new DefaultGitHubClient(github, owner, repository), owner, repository, milestone, configuration);

            var result = await releaseNotesBuilder.BuildReleaseNotes();

            var releaseUpdate = CreateNewRelease(milestone, result, prerelease, targetCommitish);

            var release = await github.Release.Create(owner, repository, releaseUpdate);

            await AddAssets(github, assets, release);
        }
Esempio n. 6
0
        public async Task SingleMilestone3()
        {
            var gitHubClient     = ClientBuilder.Build();
            var fileSystem       = new FileSystem();
            var currentDirectory = Environment.CurrentDirectory;
            var configuration    = ConfigurationProvider.Provide(currentDirectory, fileSystem);

            var releaseNotesBuilder = new ReleaseNotesBuilder(new DefaultGitHubClient(gitHubClient, "Chocolatey", "ChocolateyGUI"), "Chocolatey", "ChocolateyGUI", "0.13.0", configuration);
            var result = await releaseNotesBuilder.BuildReleaseNotes();

            Debug.WriteLine(result);
            ClipBoardHelper.SetClipboard(result);
        }
        static void AcceptTest(int commits, params Issue[] issues)
        {
            var fakeClient = new FakeGitHubClient();

            fakeClient.Milestones.Add(CreateMilestone("1.2.3"));

            fakeClient.NumberOfCommits = commits;

            foreach (var issue in issues)
            {
                fakeClient.Issues.Add(issue);
            }

            var builder = new ReleaseNotesBuilder(fakeClient, "TestUser", "FakeRepo", "1.2.3");

            var notes = builder.BuildReleaseNotes().Result;

            Approvals.Verify(notes);
        }
        static void AcceptTest(int commits, params Issue[] issues)
        {
            var fakeClient = new FakeGitHubClient();

            fakeClient.Milestones.Add(CreateMilestone("1.2.3"));

            fakeClient.NumberOfCommits = commits;

            foreach (var issue in issues)
            {
                fakeClient.Issues.Add(issue);
            }

            var builder = new ReleaseNotesBuilder(fakeClient, "TestUser", "FakeRepo", "1.2.3");

            var notes = builder.BuildReleaseNotes().Result;

            Approvals.Verify(notes);
        }
        public async Task SingleMilestone3()
        {
            if ((string.IsNullOrEmpty(_username) || string.IsNullOrEmpty(_password)) && string.IsNullOrEmpty(_token))
            {
                Assert.Inconclusive("Unable to locate credentials for accessing GitHub API");
            }
            else
            {
                var fileSystem       = new FileSystem();
                var currentDirectory = Environment.CurrentDirectory;
                var configuration    = ConfigurationProvider.Provide(currentDirectory, fileSystem);

                var vcsProvider         = new GitHubProvider(_mapper, configuration, _username, _password, _token);
                var releaseNotesBuilder = new ReleaseNotesBuilder(vcsProvider, "Chocolatey", "ChocolateyGUI", "0.13.0", configuration);
                var result = await releaseNotesBuilder.BuildReleaseNotes().ConfigureAwait(false);

                Debug.WriteLine(result);
                ClipBoardHelper.SetClipboard(result);
            }
        }
        private static void AcceptTest(int commits, Config config, params Issue[] issues)
        {
            var fakeClient       = new FakeGitHubClient();
            var fileSystem       = new FileSystem();
            var currentDirectory = Environment.CurrentDirectory;
            var configuration    = config ?? ConfigurationProvider.Provide(currentDirectory, fileSystem);

            fakeClient.Milestones.Add(CreateMilestone("1.2.3"));

            fakeClient.NumberOfCommits = commits;

            foreach (var issue in issues)
            {
                fakeClient.Issues.Add(issue);
            }

            var builder = new ReleaseNotesBuilder(fakeClient, "TestUser", "FakeRepository", "1.2.3", configuration);
            var notes   = builder.BuildReleaseNotes().Result;

            Approvals.Verify(notes);
        }
Esempio n. 11
0
        private static async Task CreateRelease(GitHubClient github, string owner, string repository, string milestone, string targetCommitish, string asset)
        {
            var releaseNotesBuilder = new ReleaseNotesBuilder(new DefaultGitHubClient(github, owner, repository), owner, repository, milestone);

            var result = await releaseNotesBuilder.BuildReleaseNotes();

            var releaseUpdate = new ReleaseUpdate(milestone)
            {
                Draft = true,
                Body = result,
                Name = milestone
            };
            if (!string.IsNullOrEmpty(targetCommitish))
                releaseUpdate.TargetCommitish = targetCommitish;

            var release = await github.Release.Create(owner, repository, releaseUpdate);

            if (File.Exists(asset))
            {
                var upload = new ReleaseAssetUpload { FileName = Path.GetFileName(asset), ContentType = "application/octet-stream", RawData = File.Open(asset, FileMode.Open) };

                await github.Release.UploadAsset(release, upload);
            }
        }