Skip to content

Commit 8b8829a

Browse files
authored
Merge pull request #33 from codacy/update-pr-and-store-new-data-FT-4084
Add method to get pull request reviewers and author Id
2 parents a3c0008 + 3dc5bf0 commit 8b8829a

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

src/main/scala/com/codacy/client/bitbucket/PullRequest.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@ import play.api.libs.functional.syntax._
55
import play.api.libs.json._
66

77
case class PullRequest(id: Long, title: String, description: String,
8-
authorUsername: Option[String], authorAvatar: Option[String],
9-
state: String, created_on: DateTime, updated_on: DateTime,
8+
authorUsername: Option[String], authorAvatar: Option[String], state: String, created_on: DateTime, updated_on: DateTime,
109
sourceRepository: String, sourceBranch: String, sourceCommit: String,
1110
destRepository: String, destBranch: String, destCommit: Option[String],
12-
apiUrls: Seq[ApiUrl]) {
11+
apiUrls: Seq[ApiUrl], authorUUID: Option[String] = None) {
1312
val url = s"https://bitbucket.org/$destRepository/pull-request/$id"
1413
}
1514

@@ -59,7 +58,8 @@ object PullRequest {
5958
(__ \ "destination" \ "branch" \ "name").read[String] and
6059
(__ \ "destination" \ "commit" \ "hash").readNullable[String] and
6160
// TODO: (__ \ "destination" \ "commit" \ "hash").read[Option[String]] and
62-
(__ \ "links").read[Map[String, Map[String, String]]].map(parseLinks)
61+
(__ \ "links").read[Map[String, Map[String, String]]].map(parseLinks) and
62+
(__ \ "author" \ "uuid").readNullable[String]
6363
) (PullRequest.apply _)
6464

6565
private def parseLinks(links: Map[String, Map[String, String]]): Seq[ApiUrl] = {
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.codacy.client.bitbucket
2+
3+
import play.api.libs.json._
4+
5+
case class PullRequestReviewers(reviewers: Seq[String])
6+
7+
object PullRequestReviewers {
8+
9+
implicit val reader: Reads[PullRequestReviewers] =
10+
(__ \ "reviewers" \ "uuid").read[PullRequestReviewers]
11+
12+
}

src/main/scala/com/codacy/client/bitbucket/service/PullRequestServices.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.codacy.client.bitbucket.service
22

33
import com.codacy.client.bitbucket.client.{BitbucketClient, Request, RequestResponse}
44
import com.codacy.client.bitbucket.util.CommitHelper
5-
import com.codacy.client.bitbucket.{PullRequest, PullRequestComment, SimpleCommit, SimplePullRequestComment}
5+
import com.codacy.client.bitbucket.{PullRequest, PullRequestComment, SimpleCommit, SimplePullRequestComment, PullRequestReviewers}
66
import play.api.libs.json._
77

88
class PullRequestServices(client: BitbucketClient) {
@@ -100,4 +100,10 @@ class PullRequestServices(client: BitbucketClient) {
100100
client.execute(Request(url, classOf[Seq[SimplePullRequestComment]]))
101101
}
102102

103+
def getPullRequestsReviewers(owner: String, repository: String, prId: Long): RequestResponse[PullRequestReviewers] = {
104+
val url = s"https://bitbucket.org/api/2.0/repositories/$owner/$repository/$prId"
105+
106+
client.execute(Request(url, classOf[PullRequestReviewers]))
107+
}
108+
103109
}

0 commit comments

Comments
 (0)