Created
March 9, 2017 17:18
-
-
Save mrueegg/b7dc99b4a771473547286291a3c77400 to your computer and use it in GitHub Desktop.
Open task counter implementation in Scala for Bitbucket Server
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ch.mibex.crossproduct.api.OpenTasksCounter | |
import com.atlassian.bitbucket.pull.{PullRequest, PullRequestService, PullRequestTaskSearchRequest} | |
import com.atlassian.bitbucket.task.{Task, TaskState} | |
import com.atlassian.bitbucket.util.{PageProvider, PageRequest, PageUtils, PagedIterable} | |
import scala.collection.JavaConverters._ | |
class BitbucketOpenTasksCounter(pullRequestService: PullRequestService) extends OpenTasksCounter[PullRequest] { | |
override def countOpenTasks(pullRequest: PullRequest): Long = { | |
val searchRequest = new PullRequestTaskSearchRequest.Builder(pullRequest).build() | |
new PagedIterable[Task](new PageProvider[Task] { | |
override def get(pageRequest: PageRequest) = | |
pullRequestService.searchTasks(searchRequest, pageRequest) | |
}, PageUtils.newRequest(0, 200)) | |
.asScala | |
.count(_.getState == TaskState.OPEN) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment