Bonjour,
Je suis nouveau sur JOB DSL , j'essaie d'ajouter une librairie partagée sur un dossier dans lequel se trouvent mes jobs, le but étant que la librairie soit chargée une seule fois sur le dossier et accessible à tous les jobs y présents.

Voici l'environnement cible :
- Jenkins ver. 2.107.2
- plugin Shared Groovy Libraries 2.9
- JOB DSL 1.63

Scénario1:
J'ai utilisé le code suivant pour ajouter la librairie sur un dossier existant , sans succès :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@NonCPS
    def setFolderLibraries(folderName) {	
        def folder = Jenkins.instance.getItemByFullName(folderName, com.cloudbees.hudson.plugins.folder.Folder)
        steps.println "#### setFolderLibraries ####"
		
		if (folder != null) {
            // build GitSCMSource
			def gitScm = new jenkins.plugins.git.GitSCMSource()
			gitScm.remote = "${GITLAB_URL}"
			gitScm.credentialsId = "${SSH_KEY}"	
			// build SCMSourceRetriever
			def scmSource = new org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever()
			scmSource.scm = gitScm
			// build LibraryConfiguration
			def libConfig = new org.jenkinsci.plugins.workflow.libs.LibraryConfiguration()
			libConfig.name = "${LIB_NAME}"	
			libConfig.implicit = true
			libConfig.retriever = scmSource
			// build FolderLibraries
			 def folderLib = new org.jenkinsci.plugins.workflow.libs.FolderLibraries()
			 folderLib.libraries.add(libConfig)
			 // build folder properties
			 folder.properties.add(folderLib)
        }           
    }

J'ai l'erreur suivante à l'exécution :
unclassified new jenkins.plugins.git.GitSCMSource. Administrators can decide whether to approve or reject this signature.
[Pipeline] End of Pipeline
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified new jenkins.plugins.git.GitSCMSource
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onNewInstance(SandboxInterceptor.java:144)


Scénario2:
J'ai aussi utilisé le code suivant sans succès non plus :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
folder(\'''' + envFolderName + '''\') {
                        description(\'''' + jobCommonDescription() + '''\')
						properties{ 
							libraries{
							 name("${LIB_NAME}")
							 implicit(true)						 
							 retriever{
								 scm{
									remote("${GITLAB_URL}") 
									credentialsId("${SSH_KEY}")
								 }
							  }
							}
						 }
                    }
A l'exécution , j'ai l'erreur suivante :
ERROR: (script, line 4) No signature of method: javaposse.jobdsl.dsl.helpers.properties.FolderPropertiesContext.libraries() is applicable for argument types: (script$_run_closure1$_closure127$_closure128) values: [script$_run_closure1$_closure127$_closure128@5e6fb5c0]
Finished: FAILURE



Est-il possible d'ajouter une librairie partagée sur un floder avec JOB DSL jenkins community ?
Quelle est la meilleur approche ?

Toute aide est la bienvenue.

Merci d'avance