What I ended up doing is using what I had previously to setup Jenkins, 
login, and install the Job Configuration History plugin, and got the output 
of the config.xml. For whatever reason, doing the 
http://JENKINSURL:8080/job/NAME/config.xml would just result in a blank 
page, and not actually show the configuration of the GitHub Source Branch 
job. 

However, I noticed that the config is tied very specifically to specific 
versions of Plugins. I can install plugins, but if those change, then they 
break my job.

/**
 * activatePlugin activates given plugins.
 * The plugin parameter is a pluginManager object(?)
 * 
 * @param plugin [Object]
 * 
 * @return nil 
 */
def activatePlugin(plugin) {
  // If our specified plugin isn't enabled, enable it.
  if (! plugin.isEnabled()) {
    plugin.enable()
    // Set our state to true.
    deployed = true
  }
  // Go through each dependency of our plugins, and enable those.
  // Otherwise our plugins wouldn't work even if they're installed.
  plugin.getDependencies().each {
    activatePlugin(pluginManager.getPlugin(it.shortName))
  }
}

// As of 2018-12-18
def plugin_list = [
  "ant:1.9",
  "build-timeout:1.19",
  "email-ext:2.63",
  "github-branch-source:2.4.1",
  "gradle:1.29",
  "ldap:1.20",
  "matrix-auth:2.3",
  "antisamy-markup-formatter:1.5",
  "pam-auth:1.4",
  "pipeline:2.6",
  "pipeline-github-lib:1.0",
  "ssh-slaves:1.29.1",
  "subversion:2.12.1",
  "timestamper:1.8.10",
  "ws-cleanup:0.37",
]

// Loop through all of the plugins and install/update and activate them.
plugin_list.each { plugin ->
  // If the plugin isn't being installed, update it.
  if (! pluginManager.getPlugin(plugin)) {
    deployment = updateCenter.getPlugin(plugin).deploy(true)
    deployment.get()
  }
  // Activate the plugin and all of its dependencies.
  activatePlugin(pluginManager.getPlugin(plugin))
}

However, there is an overloaded method in the updateCenter called 
getPlugin(String name, and VersionNumber version)


   - 
   
https://javadoc.jenkins.io/hudson/model/UpdateCenter.html#getPlugin-java.lang.String-hudson.util.VersionNumber-

I'm not sure where to find the VersionNumber or how to get that to give to 
this method. 

On Friday, December 14, 2018 at 3:46:05 PM UTC-6, Phillip Dudley wrote:
>
> Would anyone have any pointers to configuring the GitHub Organization 
> Item/Job with Groovy so that when my Jenkins instance starts up, it reads 
> the 
>
> $JENKINS_HOME/init.groovy.d/
>
> folder and configures a default job to perform GitHub Organization 
> scanning for Jenkinsfiles? 
>
> I've got most of the other stuff I need such as setting banners, 
> installing plugins, configuring default Jenkins users and assigning them 
> permissions via the matrix-auth plugin. Even finally hooked up to LDAP and 
> I can authenticate. However, I don't seem to find too much on configuring 
> that plugin except through the UI. Most of my Googling returns results for 
> using Jenkinsfiles, or Groovy tutorials, but not actually setting up and 
> configuring that plugin. 
>
> TL;DR,
> Looking for a direction to learn how to configure the GitHub Organization 
> job to scan my GitHub Organization for Jenkinsfiles and start performing 
> Jobs. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/cba85d73-2f8c-4c71-8063-90afbec219c1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to