Skip to content

Instantly share code, notes, and snippets.

@HRMPW
Last active October 6, 2024 16:03
Show Gist options
  • Save HRMPW/9b2a3ccbdc370e0a7c9cb541be229da9 to your computer and use it in GitHub Desktop.
Save HRMPW/9b2a3ccbdc370e0a7c9cb541be229da9 to your computer and use it in GitHub Desktop.
pipeline {
agent any
parameters {
string(defaultValue: '', description: 'The name of the organization working on this repository.', name: 'orgName')
}
stages{
stage("Create Repo Piplines") {
steps {
jobDsl scriptText: """
folder (orgName)
def orgApi = new URL("https://api.github.com/users/${orgName}/repos")
def repos = new groovy.json.JsonSlurper().parse(orgApi.newReader())
repos.each {
def repo = it.name
def project = "$orgName/\${repo}"
folder("\${project}")
multibranchPipelineJob("\${project}/Branches") {
branchSources {
github {
scanCredentialsId("$orgName")
repoOwner(orgName)
repository(repo)
}
}
}
pipelineJob("\${project}/Deploy") {
parameters {
stringParam("DEPLOY_BRANCH")
}
definition {
cpsScm {
scm {
git {
branch('\${DEPLOY_BRANCH}')
remote {
github("\${project}")
credentials("$orgName")
}
}
}
scriptPath('Jenkinsfile.deploy')
}
}
}
}
"""
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment