2016-11-12 94 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])