通过Groovy配置Jenkins全局管道库

时间:2016-11-12 22:11:16

标签: jenkins jenkins-pipeline

如何使用Groovy代码设置可以在Jenkins主服务器中配置的Jenkins 全局管道库

enter image description here

2 个答案:

答案 0 :(得分:7)

可以通过org.jenkinsci.plugins.workflow.libs.GlobalLibraries访问配置:

import org.jenkinsci.plugins.workflow.libs.*
import hudson.scm.SCM;
import hudson.plugins.git.*;

def inst = Jenkins.getInstance()
def desc = inst.getDescriptor("org.jenkinsci.plugins.workflow.libs.GlobalLibraries")

假设有一个Git仓库,我们可以按如下方式定义SCM:

SCM scm = new GitSCM("https://git.example.com/foo.git")
SCMRetriever retriever = new SCMRetriever(scm)

每个库都是LibaryConfiguration的一个实例,最后使用setLibraries()添加:

def name = "pipeline"    
LibraryConfiguration libconfig = new LibraryConfiguration(name, retriever)
desc.get().setLibraries([libconfig])

答案 1 :(得分:7)

源自StephenKing的伟大答案,以下是使用GitSCMSource为ModernSCM做的新方法:

    public class cdr_Request
    {
        public int ID { get; set; }

        public string ReportId { get; set; }

        public string ReportName { get; set; }
    }