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);
 }
Esempio n. 3
0
 public PullRequestResource(string accountName, string repository, int pullRequestId, RepositoriesEndPoint repositoriesEndPoint)
 {
     _accountName          = accountName;
     _repository           = repository;
     _repositoriesEndPoint = repositoriesEndPoint;
     _pullRequestId        = pullRequestId;
 }
Esempio n. 4
0
        public PullRequestResource GetPullRequestResourceByPullRequestId(RepositoriesEndPoint repo, int pullRequestId)
        {
            var pullRequestsResource = GetPullRequestsResource(repo);

            return(pullRequestsResource.PullRequestResource(pullRequestId));
        }
Esempio n. 5
0
 public BranchResource GetBranchResource(RepositoriesEndPoint repo)
 {
     return(repo.BranchResource(_username, _repoSlug));
 }
Esempio n. 6
0
 public RepositoryResource GetRepositoryResource(RepositoriesEndPoint repo)
 {
     return(repo.RepositoryResource(_username, _repoSlug));
 }
Esempio n. 7
0
 public PullRequestsResource GetPullRequestsResource(RepositoriesEndPoint repo)
 {
     return(repo.PullRequestsResource(_username, _repoSlug));
 }
Esempio n. 8
0
        /// <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));
        }
Esempio n. 10
0
 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();
 }