Ссылочная ссылка: https://support.cloudbees.com/hc/en-us/articles/217630098
FYI: API поддержки конвейера, плагин 2.2 или выше
Вы можете использовать currentBuild.changeSets в изолированной сборке, как вы могли видеть в следующем примере Git:
def changeLogSets = currentBuild.changeSets
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]
echo "${entry.commitId} by ${entry.author} on ${new Date(entry.timestamp)}: ${entry.msg}"
def files = new ArrayList(entry.affectedFiles)
for (int k = 0; k < files.size(); k++) {
def file = files[k]
echo " ${file.editType.name} ${file.path}"
}
}
}
API поддержки конвейера Плагин старше 2.2
Вы можете использовать currentBuild.rawBuild.changeSets, но это не доступно из песочницы.Ниже приведен пример Git для сборки без песочницы:
def changeLogSets = currentBuild.rawBuild.changeSets
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]
echo "${entry.commitId} by ${entry.author} on ${new Date(entry.timestamp)}: ${entry.msg}"
def files = new ArrayList(entry.affectedFiles)
for (int k = 0; k < files.size(); k++) {
def file = files[k]
echo " ${file.editType.name} ${file.path}"
}
}
}