উত্তর:
আপনি এই জাতীয় কিছু চেষ্টা করতে পারেন:
node('my_kubernetes_pod') {
passedBuilds = []
lastSuccessfulBuild(passedBuilds, currentBuild);
def changeLog = getChangeLog(passedBuilds)
echo "changeLog ${changeLog}"
}
def lastSuccessfulBuild(passedBuilds, build) {
if ((build != null) && (build.result != 'SUCCESS')) {
passedBuilds.add(build)
lastSuccessfulBuild(passedBuilds, build.getPreviousBuild())
}
}
@NonCPS
def getChangeLog(passedBuilds) {
def log = ""
for (int x = 0; x < passedBuilds.size(); x++) {
def currentBuild = passedBuilds[x];
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]
log += "* ${entry.msg} by ${entry.author} \n"
}
}
}
return log;
}
অতিরিক্ত হিসাবে, আপনি "শেষ সাফল্য প্লাগইন থেকে পরিবর্তনগুলি" চেষ্টা করে দেখতে পারেন: https://wiki.jenkins.io/display/JENKINS/Changes+Since+ সর্বশেষ + সাফল্য + প্লাগইন
তবে এটি পাইপলাইনের সাথে একসাথে কাজ করবে না, এটি একটি পৃথক পদ্ধতি।
যেমনটি আমি পেয়েছি এটি হতে পারে আপনাকে সাহায্য করবে। এটির সাহায্যে আপনি জেনকিন্সের সাথে যে কোনও প্রকল্পের বিল্ডের সর্বশেষ সফল বিল্ড চেঞ্জ লগ ফাইল আনতে পারেন।
$DirectoryA = "D:\Jenkins\jobs\projectName\builds" ####Jenkind directory
$firstfolder = Get-ChildItem -Path $DirectoryA | Where-Object {$_.PSIsContainer} | Sort-Object LastWriteTime -Descending | Select-Object -First 1
$DirectoryB = $DirectoryA + "\" + $firstfolder
$sVnLoGfIle = $DirectoryB + "\" + "changelog.xml"
write-host $sVnLoGfIle