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