How can i get the Jenkins console output in a text file? I want to share it with someone, is there any way to do it?
3 Answers
if you want just access the log and download it as a txt file to your workspace from the job's URL:
${BUILD_URL}/consoleText
On Linux, you can use wget
to download it to your workspace
wget ${BUILD_URL}/consoleText
The actual log file on the file system is in the Master machine. You can find it under:
$JENKINS_HOME/jobs/$JOB_NAME/builds/lastSuccessfulBuild/log
-
-
Thanks for this. I had to open a full console output via browser, but it was very big, my browser cannot handle it. You can change the last part of the URL from
consoleFull
toconsoleText
as noted above. While the browser is loading it, you can hitCTRL+S
to save it as a txt file and open it in notepad++. Or as noted above, use wget or curl which should be available if you have git for windows installed (for windows users).– thirdyCommented Sep 12, 2019 at 1:29
For Windows you could use curl
in a powershell prompt:
curl ${BUILD_URL}\consoleText -OutFile C:\SomeLocation\SomeFile.txt
For MacOS:
curl ${BUILD_URL}/consoleText -o /SomeLocation/SomeFile.txt
To get the Jenkins console log without curl or wget:
writeFile file: "jenkins_console_output.txt", text: currentBuild.rawBuild.logFile.text
sh 'sed -ri "s/\\x1b\\[8m.*?\\x1b\\[0m//g" jenkins_console_output.txt'
Explanation:
currentBuild.rawBuild.logFile.text
will return annotated log.\x1b\[8m.*?\x1b\[0m
is a regex expression to match AnsiColorersed -ri
use regexp-extended and in-place to update the file