public PullRequestResource(string accountName, string repository, int pullRequestId, RepositoriesEndPoint repositoriesEndPoint) { _accountName = accountName; _repository = repository; _repositoriesEndPoint = repositoriesEndPoint; _pullRequestId = pullRequestId; }
public void Init() { sharpBucket = TestHelpers.GetV1ClientAuthenticatedWithOAuth(); accountName = "mirror"; repositoriesEndPoint = sharpBucket.RepositoriesEndPoint(accountName, REPOSITORY_NAME); }
public PullRequestResource GetPullRequestResourceByPullRequestId(RepositoriesEndPoint repo, int pullRequestId) { var pullRequestsResource = GetPullRequestsResource(repo); return(pullRequestsResource.PullRequestResource(pullRequestId)); }
public BranchResource GetBranchResource(RepositoriesEndPoint repo) { return(repo.BranchResource(_username, _repoSlug)); }
public RepositoryResource GetRepositoryResource(RepositoriesEndPoint repo) { return(repo.RepositoryResource(_username, _repoSlug)); }
public PullRequestsResource GetPullRequestsResource(RepositoriesEndPoint repo) { return(repo.PullRequestsResource(_username, _repoSlug)); }
/// <summary> /// Attempt to update the target branch of the pull request /// </summary> /// <param name="pullRequestId"></param> /// <param name="pullRequest"></param> /// <param name="repo"></param> /// <returns></returns> private async Task <bool> UpdatePullRequestTarget(int pullRequestId, PullRequest pullRequest, RepositoriesEndPoint repo) { var releaseBranch = $"Releases/{_fixVersion}"; var client = new RestClient(_baseUrl) { Authenticator = new HttpBasicAuthenticator(_gitUser, _gitPassword) }; var request = new RestRequest($"repositories/{_username}/{_repoSlug}/pullrequests/{pullRequestId}", Method.PUT); var repositoryResource = _bitbucketResource.GetRepositoryResource(repo); var latestCommit = repositoryResource.ListCommits(releaseBranch, 1); var updateRequest = ConfigureUpdatePullRequest(pullRequest.title, latestCommit.First().hash, releaseBranch, pullRequest.source.branch.name); request.AddHeader("Accept", "application/json"); request.AddJsonBody(updateRequest); var response = await client.ExecuteTaskAsync(request); return(response.IsSuccessful); }
public override Task <bool> ReportPackageSourceAudit() { if (!AuditOptions.ContainsKey("BitBucketReportAccount") || !AuditOptions.ContainsKey("BitBucketReportName") || !AuditOptions.ContainsKey("BitBucketKey")) { throw new ArgumentException("The BitBucketReportAccount, BitBucketReportName, and BitBucketReportKey audit options must be present."); } string key = (string)AuditOptions["BitBucketKey"]; string[] k = key.Split('|'); if (k.Count() != 2) { throw new ArgumentException("The BitBucketReportKey audit option must have the format consumer_key|secret."); } string consumer = k[0], secret = k[1]; string account = (string)AuditOptions["BitBucketReportAccount"]; string repository = (string)AuditOptions["BitBucketReportName"]; if (AuditOptions.ContainsKey("BitBucketReportTitle")) { IssueTitle = (string)AuditOptions["BitBucketReportTitle"]; } else { IssueTitle = string.Format("[DevAudit] {0} audit on {1} {2}", Source.PackageManagerLabel, DateTime.UtcNow.ToShortDateString(), DateTime.UtcNow.ToShortTimeString()); } SharpBucketV2 sharp_bucket = new SharpBucketV2(); sharp_bucket.OAuth2LeggedAuthentication(consumer, secret); RepositoriesEndPoint repository_endpoint = sharp_bucket.RepositoriesEndPoint(account, repository); IssuesResource r; try { r = repository_endpoint.IssuesResource(); } catch (Exception e) { AuditEnvironment.Error(e, "Could not get issues resource for repository {0}/{1}.", account, repository); return(Task.FromResult(false)); } BuildPackageSourceAuditReport(); Issue issue = new Issue() { title = IssueTitle, content = IssueText.ToString(), status = "new", priority = "major", kind = "bug" }; try { Issue i = r.PostIssue(issue); if (i == null) { AuditEnvironment.Error("Could not post issue to repository {0}/{1}.", account, repository); return(Task.FromResult(false)); } else { AuditEnvironment.Success("Created issue {0} at {1}.", i.title, i.resource_uri); } } catch (Exception e) { AuditEnvironment.Error(e, "Could not post issue to repository {0}/{1}.", account, repository); return(Task.FromResult(false)); } return(Task.FromResult(true)); }
public void Init() { sharpBucket = TestHelpers.GetV2ClientAuthenticatedWithOAuth(); repositoriesEndPoint = sharpBucket.RepositoriesEndPoint(); repositoryResource = repositoriesEndPoint.RepositoryResource(ACCOUNT_NAME, REPOSITORY_NAME); }
public void Init() { sharpBucket = TestHelpers.GetV2ClientAuthenticatedWithOAuth(); repositoriesEndPoint = sharpBucket.RepositoriesEndPoint(); }