コード例 #1
0
        public async Task <string> CreatePullRequestAsync(string repoUri, string branch, string assetsProducedInCommit, IEnumerable <AssetData> assets, string pullRequestBaseBranch = null, string pullRequestTitle = null, string pullRequestDescription = null)
        {
            _logger.LogInformation($"Create pull request to update dependencies in repo '{repoUri}' and branch '{branch}'...");

            IEnumerable <DependencyDetail> itemsToUpdate = await GetRequiredUpdatesAsync(repoUri, branch, assetsProducedInCommit, assets);

            string linkToPr = null;

            if (itemsToUpdate.Any())
            {
                await _gitClient.CreateDarcBranchAsync(repoUri, branch);

                pullRequestBaseBranch = pullRequestBaseBranch ?? $"darc-{branch}";

                await CommitFilesForPullRequest(repoUri, branch, assetsProducedInCommit, itemsToUpdate, pullRequestBaseBranch, pullRequestTitle, pullRequestDescription);

                linkToPr = await _gitClient.CreatePullRequestAsync(repoUri, branch, pullRequestBaseBranch, pullRequestTitle, pullRequestDescription);

                _logger.LogInformation($"Updating dependencies in repo '{repoUri}' and branch '{branch}' succeeded! PR link is: {linkToPr}");

                return(linkToPr);
            }

            return(linkToPr);
        }
コード例 #2
0
        public async Task <string> CreatePullRequestAsync(string repoUri, string branch, string assetsProducedInCommit, IEnumerable <Microsoft.DotNet.DarcLib.AssetData> assets, string pullRequestBaseBranch = null, string pullRequestTitle = null, string pullRequestDescription = null)
        {
            CheckForValidGitClient();
            _logger.LogInformation($"Create pull request to update dependencies in repo '{repoUri}' and branch '{branch}'...");

            IEnumerable <DependencyDetail> itemsToUpdate = await GetRequiredUpdatesAsync(repoUri, branch, assetsProducedInCommit, assets);

            string linkToPr = null;

            if (itemsToUpdate.Any())
            {
                pullRequestBaseBranch = pullRequestBaseBranch ?? $"darc-{branch}-{Guid.NewGuid()}"; // Base branch must be unique because darc could have multiple PRs open in the same repo at the same time

                await _gitClient.CreateBranchAsync(repoUri, pullRequestBaseBranch, branch);

                await CommitFilesForPullRequestAsync(repoUri, branch, assetsProducedInCommit, itemsToUpdate, pullRequestBaseBranch);

                linkToPr = await _gitClient.CreatePullRequestAsync(repoUri, branch, pullRequestBaseBranch, pullRequestTitle, pullRequestDescription);

                _logger.LogInformation($"Updating dependencies in repo '{repoUri}' and branch '{branch}' succeeded! PR link is: {linkToPr}");

                return(linkToPr);
            }

            return(linkToPr);
        }
コード例 #3
0
 public Task <string> CreatePullRequestAsync(string repoUri, PullRequest pullRequest)
 {
     return(_gitClient.CreatePullRequestAsync(repoUri, pullRequest));
 }
コード例 #4
0
ファイル: Remote.cs プロジェクト: theaoqi/arcade-services
 public Task <string> CreatePullRequestAsync(string repoUri, PullRequest pullRequest)
 {
     CheckForValidGitClient();
     return(_gitClient.CreatePullRequestAsync(repoUri, pullRequest));
 }