Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save marcosborges/4ad3896b42608eff13489e4695d3c961 to your computer and use it in GitHub Desktop.
Save marcosborges/4ad3896b42608eff13489e4695d3c961 to your computer and use it in GitHub Desktop.
import jenkins.model.Jenkins
import jenkins.plugins.git.GitSCMSource
import jenkins.plugins.git.traits.BranchDiscoveryTrait
import org.jenkinsci.plugins.workflow.libs.GlobalLibraries
import org.jenkinsci.plugins.workflow.libs.LibraryConfiguration
import org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever
def sharedLibraryName = "mySharedLibName"
def repository = "git@github.com:[OWNER]/[REPO].git"
if (! Jenkins.instance.getDescriptor(GlobalLibraries).getLibraries().findAll{ it.getName() == sharedLibraryName }) {
def libraries = Jenkins.instance.getDescriptor(GlobalLibraries).getLibraries()
def scm = new GitSCMSource(repository)
scm.traits = [new BranchDiscoveryTrait()]
def library = new LibraryConfiguration(sharedLibraryName, new SCMSourceRetriever(scm))
library.defaultVersion = "master"
library.implicit = true
library.allowVersionOverride = true
library.includeInChangesets = false
libraries << library
def gSettings = Jenkins.instance.getExtensionList(GlobalLibraries.class)[0]
gSettings.libraries = libraries
gSettings.save()
println 'Global Shared Libraries configured succefully'
}
@user-muthu
Copy link

Thank you so much Marcos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment