Open pniederlag opened 4 years ago
Did you happen to solve this? Seeing the same issue with gitea, and wondering if it might be related.
same issue here trying to use jenkins helm chart and configure bitbucket organization folder via JCasc jobDSL as described here https://github.com/jenkinsci/configuration-as-code-plugin/blob/master/demos/jobs/bitbucket.yaml
same issue with github-branch-source - did anyone managed to fix this?
we have it working for quite some time... we don't use the trait{} block in bitbucket but instead have some configure { node -> blocks to accomplish the setup.
Working Example
#!/usr/bin/env groovy
organizationFolder('example-org-folder') {
displayName('Org Folder')
description('automatic Jenkinsfile processing for org folder')
organizations {
bitbucket {
credentialsId('my-credential-id')
repoOwner('XYZ')
serverUrl('https://fancy.example.com')
traits {
// - nonsense, due to traits with same name in different scopes, see configure block below
}
}
}
//projectFactories {
// workflowMultiBranchProjectFactory {
// scriptPath('Jenkinsfile')
// }
//}
orphanedItemStrategy {
discardOldItems {
daysToKeep(7)
numToKeep(3)
}
}
// discover Branches (workaround due to JENKINS-46202)
configure { node ->
// node represents <jenkins.branch.OrganizationFolder>
def traits = node / 'navigators' / 'com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMNavigator' / 'traits'
traits << 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait' {
strategyId(3) // detect all branches
}
traits << 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait' {
strategyId(1)
}
traits << 'com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait' {
}
traits << 'jenkins.plugins.git.traits.CloneOptionTrait' {
// we must add something else than only noTags(false) in order to get it working
'extension'(class: 'hudson.plugins.git.extensions.impl.CloneOption') {
noTags(false)
honorRefspec(false)
timeout("15")
shallow(false)
reference("")
depth(0)
}
}
// Set child scan triggers to 15 minutes
node / 'properties' << 'jenkins.branch.OrganizationChildTriggersProperty' {
templates {
'com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger' {
spec('H/5 * * * *')
interval('900000')
}
}
}
// Add build strategies
node / 'buildStrategies' << 'jenkins.branch.buildstrategies.basic.AllBranchBuildStrategyImpl' {
strategies {
'jenkins.branch.buildstrategies.basic.AnyBranchBuildStrategyImpl' {
strategies {
'jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl' {
atLeastMillis(-1)
atMostMillis(604800000)
}
'jenkins.branch.buildstrategies.basic.BranchBuildStrategyImpl' {}
}
}
'jenkins.branch.buildstrategies.basic.SkipInitialBuildOnFirstBranchIndexing' {}
}
}
}
//properties {
//organizationChildTriggersProperty {
// periodicFolderTrigger {
// interval("15m")
// }
//}
//}
triggers {
periodicFolderTrigger {
interval("1d")
}
}
}
@pniederlag i tried this option with my script but not able to run the script with the error below:
2023-02-08 11:56:37.934+0000 [id=32] WARNING j.util.groovy.GroovyHookScript#execute: Failed to run script file:/var/jenkins_home/init.groovy.d/..2023_02_08_11_55_34.519861074/init0.groovy
groovy.lang.MissingMethodException: No signature of method: init0.organizationFolder() is applicable for argument types: (java.lang.String, init0$_run_closure1) values: [orderbird, init0$_run_closure1@5bca9a44]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:71)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:80)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:177)
at init0.run(init0.groovy:2)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:574)
at jenkins.util.groovy.GroovyHookScript.execute(GroovyHookScript.java:136)
at jenkins.util.groovy.GroovyHookScript.execute(GroovyHookScript.java:126)
at jenkins.util.groovy.GroovyHookScript.run(GroovyHookScript.java:109)
at hudson.init.impl.GroovyInitScript.init(GroovyInitScript.java:42)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109)
at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1161)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:70)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Not clear if the plugin is the guilty of the failure anyway @pniederlag can I close the issue if as the example in configuration-as-code-plugin repository works?
Workaround ist working for us. I suspect there is still some glitch in the code when I read the comments of the other users. However currently I am not able to put time into this to check wether it's working or still breaking.
[x] Jenkins version '2.222.4'
[x] Plugin version '2.7.0'
Description
trying to establish testing for our job-dsl scripts we are running into issues with plugin bitbucket-branch-source. Using the job-dsl playground http://job-dsl.herokuapp.com/ with the following snippet we see the very same exception we get in our test-setup.
job-dsl snippet
exception