package _Self.subprojects import _Self.Constants import _Self.IdeaVimBuildType import _Self.vcsRoots.GitHubPullRequest import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode import jetbrains.buildServer.configs.kotlin.v2019_2.Project import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.PullRequests import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.commitStatusPublisher import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.pullRequests import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.VcsTrigger import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs object GitHub : Project({ name = "Pull Requests checks" description = "Automatic checking of GitHub Pull Requests" buildType(GithubBuildType("clean test", "Tests")) }) class GithubBuildType(command: String, desc: String) : IdeaVimBuildType({ name = "GitHub Pull Requests $desc" description = "Test GitHub pull requests $desc" params { param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false") param("env.ORG_GRADLE_PROJECT_ideaVersion", Constants.GITHUB_TESTS) param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false") } vcs { root(GitHubPullRequest) checkoutMode = CheckoutMode.AUTO branchFilter = """ +:* -:<default> """.trimIndent() } steps { gradle { tasks = command buildFile = "" enableStacktrace = true } } triggers { vcs { quietPeriodMode = VcsTrigger.QuietPeriodMode.USE_DEFAULT branchFilter = "" } } features { pullRequests { provider = github { authType = token { token = "credentialsJSON:90f3b439-6e91-40f7-a086-d4dd8e0ea9b8" } filterTargetBranch = "refs/heads/master" filterAuthorRole = PullRequests.GitHubRoleFilter.EVERYBODY } } commitStatusPublisher { vcsRootExtId = "${GitHubPullRequest.id}" publisher = github { githubUrl = "https://api.github.com" authType = personalToken { token = "credentialsJSON:90f3b439-6e91-40f7-a086-d4dd8e0ea9b8" } } param("github_oauth_user", "AlexPl292") } } })