add html_url and comments_url on api issue

This commit is contained in:
nazoking
2015-04-20 13:19:17 +09:00
parent 43b7f83082
commit c467594199
4 changed files with 13 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
package gitbucket.core.api
import gitbucket.core.model.Issue
import gitbucket.core.util.RepositoryName
import java.util.Date
@@ -16,10 +17,13 @@ case class ApiIssue(
state: String,
created_at: Date,
updated_at: Date,
body: String)
body: String)(repositoryName: RepositoryName){
val comments_url = ApiPath(s"/api/v3/repos/${repositoryName.fullName}/issues/${number}/comments")
val html_url = ApiPath(s"/${repositoryName.fullName}/issues/${number}")
}
object ApiIssue{
def apply(issue: Issue, user: ApiUser): ApiIssue =
def apply(issue: Issue, repositoryName: RepositoryName, user: ApiUser): ApiIssue =
ApiIssue(
number = issue.issueId,
title = issue.title,
@@ -27,5 +31,5 @@ object ApiIssue{
state = if(issue.closed){ "closed" }else{ "open" },
body = issue.content.getOrElse(""),
created_at = issue.registeredDate,
updated_at = issue.updatedDate)
updated_at = issue.updatedDate)(repositoryName)
}

View File

@@ -23,7 +23,7 @@ object JsonFormat {
) + FieldSerializer[ApiUser]() + FieldSerializer[ApiPullRequest]() + FieldSerializer[ApiRepository]() +
FieldSerializer[ApiCommitListItem.Parent]() + FieldSerializer[ApiCommitListItem]() + FieldSerializer[ApiCommitListItem.Commit]() +
FieldSerializer[ApiCommitStatus]() + FieldSerializer[ApiCommit]() + FieldSerializer[ApiCombinedCommitStatus]() +
FieldSerializer[ApiPullRequest.Commit]()
FieldSerializer[ApiPullRequest.Commit]() + FieldSerializer[ApiIssue]()
def apiPathSerializer(c: Context) = new CustomSerializer[ApiPath](format =>

View File

@@ -90,7 +90,7 @@ trait WebHookPullRequestService extends WebHookService {
action = action,
number = issue.issueId,
repository = ApiRepository(repository, ApiUser(repoOwner)),
issue = ApiIssue(issue, ApiUser(issueUser)),
issue = ApiIssue(issue, RepositoryName(repository), ApiUser(issueUser)),
sender = ApiUser(sender))
}
}
@@ -272,7 +272,7 @@ object WebHookService {
WebHookIssueCommentPayload(
action = "created",
repository = ApiRepository(repository, repositoryUser),
issue = ApiIssue(issue, ApiUser(issueUser)),
issue = ApiIssue(issue, RepositoryName(repository), ApiUser(issueUser)),
comment = ApiComment(comment, ApiUser(commentUser)),
sender = ApiUser(sender))
}

View File

@@ -157,13 +157,15 @@ class JsonFormatSpec extends Specification {
state = "open",
body = "I'm having a problem with this.",
created_at = date1,
updated_at = date1)
updated_at = date1)(RepositoryName("octocat","Hello-World"))
val apiIssueJson = s"""{
"number": 1347,
"state": "open",
"title": "Found a bug",
"body": "I'm having a problem with this.",
"user": $apiUserJson,
"comments_url": "${context.baseUrl}/api/v3/repos/octocat/Hello-World/issues/1347/comments",
"html_url": "${context.baseUrl}/octocat/Hello-World/issues/1347",
"created_at": "2011-04-14T16:00:49Z",
"updated_at": "2011-04-14T16:00:49Z"
}"""