2016-11-12 35 views

回答

5

的配置可以通过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) 

每个库是使用setLibraries()最终添加的LibaryConfiguration的实例:

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

从StephenKing伟大应答所得出,这里是新的方式为ModernSCM做使用GitSCMSource

import org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever; 
import org.jenkinsci.plugins.workflow.libs.LibraryConfiguration; 
import jenkins.plugins.git.GitSCMSource; 

def globalLibsDesc = Jenkins.getInstance() 
     .getDescriptor("org.jenkinsci.plugins.workflow.libs.GlobalLibraries") 
SCMSourceRetriever retriever = new SCMSourceRetriever(new GitSCMSource(
     "someId", 
     "mygitrepo", 
     "credentialId", 
     "*", 
     "", 
     false)) 
LibraryConfiguration pipeline = new LibraryConfiguration("pipeline", retriever) 
     .setDefaultVersion(env.BRANCH_NAME) 
     .setImplicit(true) 
globalLibsDesc.get().setLibraries([pipeline])