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