Jenkins 子模块信息测试

This commit is contained in:
zhang hongbo 2026-03-25 15:54:14 +08:00
parent 221e312447
commit ecde2b0e4a

View File

@ -5,6 +5,54 @@
import groovy.json.JsonOutput import groovy.json.JsonOutput
import groovy.json.JsonSlurperClassic import groovy.json.JsonSlurperClassic
import com.cloudbees.groovy.cps.NonCPS
@NonCPS
def getTriggerUser(buildCauses)
{
def triggerUser = "自动触发"
if (buildCauses && buildCauses.size() > 0 && buildCauses[0].userName) {
triggerUser = buildCauses[0].userName
}
return triggerUser
}
@NonCPS
def getFailedStage(build)
{
def failedStage = ""
if (build.currentResult == 'FAILURE') {
def stages = build.rawBuild.getAction(org.jenkinsci.plugins.workflow.job.views.FlowGraphAction)?.getNodes()
if (stages) {
for (stage in stages) {
if (stage.getError() != null) {
failedStage = "\n- 失败阶段: ${stage.getDisplayName()}"
break
}
}
}
}
return failedStage
}
@NonCPS
def getMainRepoChangeString(changeLogSets)
{
def changeString = ""
if (changeLogSets && changeLogSets.size() > 0) {
changeString = "\n\n提交记录:\n"
for (int i = 0; i < changeLogSets.size(); i++) {
def entries = changeLogSets[i].items
for (int j = 0; j < entries.length; j++) {
def entry = entries[j]
changeString += "- ${entry.commitId.take(7)} ${entry.msg} - ${entry.author}\n"
}
}
} else {
changeString = "\n\n提交记录: 无变更"
}
return changeString
}
def call(Map config) def call(Map config)
{ {
@ -98,41 +146,13 @@ def call(Map config)
{ {
script { script {
// //
def triggerUser = "自动触发" def triggerUser = getTriggerUser(currentBuild.getBuildCauses())
def buildCause = currentBuild.getBuildCauses()
if (buildCause && buildCause.size() > 0 && buildCause[0].userName) {
triggerUser = buildCause[0].userName
}
// //
def failedStage = "" def failedStage = getFailedStage(currentBuild)
if (currentBuild.currentResult == 'FAILURE') {
def stages = currentBuild.rawBuild.getAction(org.jenkinsci.plugins.workflow.job.views.FlowGraphAction)?.getNodes()
if (stages) {
for (stage in stages) {
if (stage.getError() != null) {
failedStage = "\n- 失败阶段: ${stage.getDisplayName()}"
break
}
}
}
}
// //
def changeString = "" def changeString = getMainRepoChangeString(currentBuild.changeSets)
def changeLogSets = currentBuild.changeSets
if (changeLogSets.size() > 0) {
changeString = "\n\n提交记录:\n"
for (int i = 0; i < changeLogSets.size(); i++) {
def entries = changeLogSets[i].items
for (int j = 0; j < entries.length; j++) {
def entry = entries[j]
changeString += "- ${entry.commitId.take(7)} ${entry.msg} - ${entry.author}\n"
}
}
} else {
changeString = "\n\n提交记录: 无变更"
}
// //
def submoduleChangeString = "" def submoduleChangeString = ""