public ReleaseNotesBuilder(IGitHubClient gitHubClient, string user, string repository, string milestoneTitle, Config configuration)
 {
     this.gitHubClient = gitHubClient;
     this.user = user;
     this.repository = repository;
     this.milestoneTitle = milestoneTitle;
     this.configuration = configuration;
 }
        private static void AcceptTest(Config configuration, params Release[] releases)
        {
            var fakeClient = new FakeGitHubClient();

            foreach (var release in releases)
            {
                fakeClient.Releases.Add(release);
            }

            var builder = new ReleaseNotesExporter(fakeClient, configuration);
            var notes = builder.ExportReleaseNotes(null).Result;

            Approvals.Verify(notes);
        }
Пример #3
0
        private static async Task<string> ExportReleases(GitHubClient github, string owner, string repository, string tagName, Config configuration)
        {
            var releaseNotesExporter = new ReleaseNotesExporter(new DefaultGitHubClient(github, owner, repository), configuration);

            var result = await releaseNotesExporter.ExportReleaseNotes(tagName);

            return result;
        }
Пример #4
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);
        }
 public static void Write(Config config, TextWriter writer)
 {
     var serializer = new Serializer(SerializationOptions.None, new HyphenatedNamingConvention());
     serializer.Serialize(writer, config);
 }
 public ReleaseNotesExporter(IGitHubClient gitHubClient, Config configuration)
 {
     this.gitHubClient = gitHubClient;
     this.configuration = configuration;
 }