Skip to content
This repository was archived by the owner on Jul 12, 2022. It is now read-only.

Commit 39bdcd5

Browse files
authored
Add relevant reviewers to PRs to local BitBucket repositories instead of everyone in the Project (#1108)
Co-authored-by: Ari Kalish <[email protected]>
1 parent 0287d8c commit 39bdcd5

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

Nukeeper.BitBucketLocal/BitBucketLocalPlatform.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public async Task OpenPullRequest(ForkData target, PullRequestRequest request, I
6666
var repositories = await _client.GetGitRepositories(target.Owner);
6767
var targetRepository = repositories.FirstOrDefault(x => x.Name.Equals(target.Name, StringComparison.InvariantCultureIgnoreCase));
6868

69-
var reviewers = await _client.GetBitBucketReviewers(target.Owner, targetRepository.Name);
69+
var reviewers = await _client.GetBitBucketReviewers(target.Owner, targetRepository.Name, targetRepository.Id, request.Head, request.BaseRef);
7070

7171
var pullReq = new PullRequest
7272
{

Nukeeper.BitBucketLocal/BitbucketLocalRestClient.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,11 @@ public async Task<PullRequest> CreatePullRequest(PullRequest pullReq, string pro
138138
return await HandleResponse<PullRequest>(response, caller);
139139
}
140140

141-
public async Task<IEnumerable<PullRequestReviewer>> GetBitBucketReviewers(string projectName, string repositoryName, [CallerMemberName] string caller = null)
141+
public async Task<IEnumerable<PullRequestReviewer>> GetBitBucketReviewers(string projectName, string repositoryName, int repositoryId, string head, string baseRef, [CallerMemberName] string caller = null)
142142
{
143-
var response = await GetResourceOrEmpty<List<Conditions>>($@"{ApiReviewersPath}/projects/{projectName}/repos/{repositoryName}/conditions", caller);
144-
return response.SelectMany(c => c.Reviewers).Select(usr => new PullRequestReviewer() { User = usr });
143+
var response = await GetResourceOrEmpty<List<Reviewer>>($@"{ApiReviewersPath}/projects/{projectName}/repos/{repositoryName}/reviewers?sourceRepoId={repositoryId}&targetRepoId={repositoryId}&sourceRefId={head}&targetRefId={baseRef}", caller);
144+
145+
return response.Where(r => r.Active).Select(user => new PullRequestReviewer { User = user });
145146
}
146147
}
147148
}

Nukeeper.BitBucketLocal/Models/Reviewer.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@ public class Reviewer
66
{
77
[JsonProperty("name")]
88
public string Name { get; set; }
9+
10+
[JsonProperty("active")]
11+
public bool Active { get; set; }
912
}
10-
}
13+
}

0 commit comments

Comments
 (0)