Add support discover tags for multi-branch pipeline

Signed-off-by: rick <rick@jenkins-zh.cn>
This commit is contained in:
rick
2020-11-19 15:29:44 +08:00
parent e9f709057a
commit 1783b75c98
7 changed files with 554 additions and 82 deletions

View File

@@ -262,6 +262,9 @@ func appendGitSourceToEtree(source *etree.Element, gitSource *devopsv1alpha3.Git
if gitSource.DiscoverBranches {
traits.CreateElement("jenkins.plugins.git.traits.BranchDiscoveryTrait")
}
if gitSource.DiscoverTags {
traits.CreateElement("jenkins.plugins.git.traits.TagDiscoveryTrait")
}
if gitSource.CloneOption != nil {
cloneExtension := traits.CreateElement("jenkins.plugins.git.traits.CloneOptionTrait").CreateElement("extension")
cloneExtension.CreateAttr("class", "hudson.plugins.git.extensions.impl.CloneOption")
@@ -304,6 +307,10 @@ func getGitSourcefromEtree(source *etree.Element) *devopsv1alpha3.GitSource {
"jenkins.plugins.git.traits.BranchDiscoveryTrait"); branchDiscoverTrait != nil {
gitSource.DiscoverBranches = true
}
if tagDiscoverTrait := traits.SelectElement(
"jenkins.plugins.git.traits.TagDiscoveryTrait"); tagDiscoverTrait != nil {
gitSource.DiscoverTags = true
}
if cloneTrait := traits.SelectElement(
"jenkins.plugins.git.traits.CloneOptionTrait"); cloneTrait != nil {
if cloneExtension := cloneTrait.SelectElement(
@@ -349,6 +356,10 @@ func getGithubSourcefromEtree(source *etree.Element) *devopsv1alpha3.GithubSourc
strategyId, _ := strconv.Atoi(branchDiscoverTrait.SelectElement("strategyId").Text())
githubSource.DiscoverBranches = strategyId
}
if tagDiscoverTrait := traits.SelectElement(
"org.jenkinsci.plugins.github__branch__source.TagDiscoveryTrait"); tagDiscoverTrait != nil {
githubSource.DiscoverTags = true
}
if originPRDiscoverTrait := traits.SelectElement(
"org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait"); originPRDiscoverTrait != nil {
strategyId, _ := strconv.Atoi(originPRDiscoverTrait.SelectElement("strategyId").Text())
@@ -444,6 +455,9 @@ func appendGithubSourceToEtree(source *etree.Element, githubSource *devopsv1alph
}
forkTrait.CreateElement("trust").CreateAttr("class", trustClass)
}
if githubSource.DiscoverTags {
traits.CreateElement("org.jenkinsci.plugins.github__branch__source.TagDiscoveryTrait")
}
if githubSource.CloneOption != nil {
cloneExtension := traits.CreateElement("jenkins.plugins.git.traits.CloneOptionTrait").CreateElement("extension")
cloneExtension.CreateAttr("class", "hudson.plugins.git.extensions.impl.CloneOption")
@@ -491,6 +505,10 @@ func getBitbucketServerSourceFromEtree(source *etree.Element) *devopsv1alpha3.Bi
strategyId, _ := strconv.Atoi(branchDiscoverTrait.SelectElement("strategyId").Text())
s.DiscoverBranches = strategyId
}
if tagDiscoverTrait := traits.SelectElement(
"com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait"); tagDiscoverTrait != nil {
s.DiscoverTags = true
}
if originPRDiscoverTrait := traits.SelectElement(
"com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait"); originPRDiscoverTrait != nil {
strategyId, _ := strconv.Atoi(originPRDiscoverTrait.SelectElement("strategyId").Text())
@@ -579,6 +597,9 @@ func appendBitbucketServerSourceToEtree(source *etree.Element, s *devopsv1alpha3
}
forkTrait.CreateElement("trust").CreateAttr("class", trustClass)
}
if s.DiscoverTags {
traits.CreateElement("com.cloudbees.jenkins.plugins.bitbucket.TagDiscoveryTrait")
}
if s.CloneOption != nil {
cloneExtension := traits.CreateElement("jenkins.plugins.git.traits.CloneOptionTrait").CreateElement("extension")
cloneExtension.CreateAttr("class", "hudson.plugins.git.extensions.impl.CloneOption")