Skip to content

Commit f0e7381

Browse files
committed
Add new endpoint to add key on repository
1 parent cd902f5 commit f0e7381

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.codacy.client.bitbucket.v2
2+
3+
import play.api.libs.functional.syntax._
4+
import play.api.libs.json._
5+
6+
case class DeployKey(id: Long, key: String, label: String)
7+
8+
object DeployKey {
9+
implicit val reader: Reads[DeployKey] = (
10+
(__ \ "id").read[Long] and
11+
(__ \ "key").read[String] and
12+
(__ \ "label").read[String]
13+
)(DeployKey.apply _)
14+
}

src/main/scala/com/codacy/client/bitbucket/v2/service/RepositoryServices.scala

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

3-
import com.codacy.client.bitbucket.v2.Repository
3+
import com.codacy.client.bitbucket.v2.{DeployKey, Repository}
44
import com.codacy.client.bitbucket.client.{BitbucketClient, Request, RequestResponse}
5+
import play.api.libs.json.Json
56

67
class RepositoryServices(client: BitbucketClient) {
78

@@ -13,4 +14,14 @@ class RepositoryServices(client: BitbucketClient) {
1314
client.executePaginated(Request(s"https://bitbucket.org/api/2.0/repositories/$username", classOf[Seq[Repository]]))
1415
}
1516

17+
def createKey(username: String, repo: String, key: String, label: String = "Codacy Key"): RequestResponse[DeployKey] = {
18+
val url = s"https://bitbucket.org/api/2.0/repositories/$username/$repo/deploy-keys"
19+
20+
val values = Json.obj(
21+
"key" -> key,
22+
"label" -> label
23+
)
24+
25+
client.postJson(Request(url, classOf[DeployKey]), values)
26+
}
1627
}

0 commit comments

Comments
 (0)