Skip to content

Instantly share code, notes, and snippets.

@nolte
Last active June 23, 2017 18:30
Show Gist options
  • Save nolte/dd5528e8b40e25084eda1871eee1dce7 to your computer and use it in GitHub Desktop.
Save nolte/dd5528e8b40e25084eda1871eee1dce7 to your computer and use it in GitHub Desktop.
jenkins-scripts

Remove Projects

import hudson.model.*

jobsToDelete = ["gen-docker"]

deleteChildren(Hudson.instance.items)

def deleteChildren(items) {
  items.each { item ->
    if (item.class.canonicalName != 'com.cloudbees.hudson.plugins.folder.Folder') {
      if (jobsToDelete.contains(item.fullName)) {
        println(item.fullName)
        //item.delete()
      }
    } else {
    deleteChildren(((com.cloudbees.hudson.plugins.folder.Folder) item).getItems())
    }
  }
}

Multiproject job

import groovy.json.JsonSlurper


def contentApi = new URL("http://gitlabhost.local/api/v4/groups/docker/projects")
def projects = new groovy.json.JsonSlurper().parse(contentApi.newReader(requestProperties: ["PRIVATE-TOKEN": "xyz".toString(), "Accept": "application/json"]))


projects.each { 
    def projectName = it.name
  	def projectUrl = it.http_url_to_repo
    def tag_list = it.tag_list
    
  
  if(tag_list.contains('automatic_build')) 
  {
  
  	job("gen-docker-${projectName}") {
     
       scm {
        git {
            remote {
              url("${projectUrl}")
                credentials('XXXX')
            }
          
        }
       }
        steps {
          	shell("pwd;")
        	
    	}              // some block
         }
  }
	
}

Linklist

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