Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins-组织扫描后自动停止构建作业_Jenkins_Github_Groovy_Jenkins Pipeline - Fatal编程技术网

Jenkins-组织扫描后自动停止构建作业

Jenkins-组织扫描后自动停止构建作业,jenkins,github,groovy,jenkins-pipeline,Jenkins,Github,Groovy,Jenkins Pipeline,当Jenkins实例启动时,我会自动将GitHub组织添加到它,但当它添加每个作业时,它就会执行它。这会导致执行许多作业,使构建队列阻塞很长时间(数小时)。是否有办法通过Jenkins文件导入每个项目,但不自动运行构建 启动Jenkins实例时,我正在运行以下代码: import jenkins.branch.OrganizationFolder import org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait impo

当Jenkins实例启动时,我会自动将GitHub组织添加到它,但当它添加每个作业时,它就会执行它。这会导致执行许多作业,使构建队列阻塞很长时间(数小时)。是否有办法通过Jenkins文件导入每个项目,但不自动运行构建

启动Jenkins实例时,我正在运行以下代码:

import jenkins.branch.OrganizationFolder
import org.jenkinsci.plugins.github_branch_source.BranchDiscoveryTrait
import org.jenkinsci.plugins.github_branch_source.GitHubSCMNavigator
import org.jenkinsci.plugins.github_branch_source.OriginPullRequestDiscoveryTrait
import org.jenkinsci.plugins.github_branch_source.GitHubConfiguration

import static jenkins.model.Jenkins.instance as jenkins

static Boolean organisationFolderExists(String name) {
    def folders = jenkins.items
    if (folders.isEmpty()) {
        return false
    }

    def organisation = folders.find { folder -> folder.name == name }

    return organisation
}

String lookupApiUri(def apiEndpoint) {
    GitHubConfiguration gitHubConfig = GitHubConfiguration.get()
    gitHubConfig.getEndpoints().findResult { it.name == apiEndpoint ? it.apiUri : null }
}

void createOrganisationFolder(def config) {
    def folder = jenkins.createProject(OrganizationFolder, config.name)
    folder.displayName = config.displayName
    folder.description = config.description

    GitHubSCMNavigator navigator = new GitHubSCMNavigator(config.name)

    navigator.credentialsId = config.project.scanCredentials
    navigator.apiUri = lookupApiUri(config.project.apiEndpoint)
    navigator.traits = [
        new jenkins.scm.impl.trait.WildcardSCMSourceFilterTrait(config.project.repositoryNamePattern, ''),
        new jenkins.scm.impl.trait.RegexSCMHeadFilterTrait('.*'),
        new BranchDiscoveryTrait(3),
        new OriginPullRequestDiscoveryTrait(3),
    ]
    folder.navigators.replace(navigator)
    jenkins.save()

    folder.scheduleBuild(0)
}

if (!organisationFolderExists(config.name)) {
    createOrganisationFolder(config)
}
这成功地创建了组织,但我需要一种方法来停止每个构建的执行。这是连接到我们的内部GitHub企业实例