Je suis en train de configurer gradle en utilisant init.groovy avec le code suivant:Jenkins - configurer l'installation en utilisant gradle groovy
def instance = Jenkins.getInstance()
def gradle_inst_exists = false
def gradle4 = new hudson.plugins.gradle.GradleInstallation("grade4", "/usr/share/gradle", [])
def gradleInstallationDescriptor = instance.getDescriptorByType(hudson.plugins.gradle.GradleInstallation.DescriptorImpl)
def installations = gradleInstallationDescriptor.getInstallations()
println(installations.size())
installations.each {
installation = (hudson.plugins.gradle.GradleInstallation) it
if (gradle4.getName() == installation.getName()) {
gradle_inst_exists = true
println("found installation")
}
}
if (!gradle_inst_exists) {
installations.add(gradle4)
gradleInstallationDescriptor.setInstallations(installations)
gradleInstallationDescriptor.save()
}
Et je reçois l'erreur suivante:
groovy.lang.MissingMethodException: No signature of method: [Lhudson.plugins.gradle.GradleInstallation;.add() is applicable for argument types: (hudson.plugins.gradle.GradleInstallation) values: [GradleInstallation[grade4]]
Possible solutions: any(), any(groovy.lang.Closure), wait(), min(), last(), sum()
battons mon tête contre le mur en essayant de fixer le code. Toute aide serait grandement appréciée.
J'ai fait les changements que vous avez suggéré, mais maintenant les erreurs de script sur le ' setInstallations'. 'groovy.lang.MissingMethodException: Aucune signature de la méthode: hudson.plugins.gradle.GradleInstallation $ DescriptorImpl.setInstallations() est applicable pour les types d'arguments: ([Ljava.lang.Object;) values: [[GradleInstallation [grade4]] ] solutions possibles: setInstallations ([Lhudson.tools.ToolInstallation;), setInstallations ([Lhudson.plugins.gradle.GradleInstallation;), getInstallations(), getInstallations() ' – BurritoBoy
Je suppose que vous aurez besoin de jeter un' GradleInstallation [] ', ou bien définir explicitement la liste sous la forme' List ' –
declension
Résolu! Changement 'def installations = gradleInstallationDescriptor.getInstallations(). ToList()' et ajout de cast 'gradleInstallationDescriptor.setInstallations ((GradleInstallation []) installations)' Pouvez-vous corriger votre réponse pour que je puisse la marquer? – BurritoBoy