如何使用 Jenkins REST API 获取作业的详细信息及其控制台输出
构建示例
控制台输出:
我正在使用以下命令获取控制台日志的路径
回显 $JENKINS_HOME/jobs/$JOB_NAME/builds/${BUILD_NUMBER}/log
回显 $BUILD_URL/consoleText
它将提供控制台日志的路径
http://localhost:8080/job/Echo/25//consoleText
但是如果我尝试使用 c#.net 从它获取数据,它会通过我一个异常
我正在使用以下代码获取数据
public string Download_Contents(string URI)
{
string Data = string.Empty;
try
{
using (var wc = new System.Net.WebClient())
Data = wc.DownloadString(URI);
}
catch (Exception ex)
{
throw ex;
}
return Data;
}
异常(exception):
最佳答案
因此,对于使用 consoleFull
,我使用 curl
得到非常脏的输出
例子:
curl -s -S -u "user":"password" "http://jenkins.domain.com/job/my_job_name/1077/consoleFull"
输出: 许多行用 html 内容包裹:
<span class="timestamp"><b>09:04:32</b> </span><span style="color: #00CD00;">ok:</span>
所以我的解决方案是使用:
curl -s -S -u "user":"password" "http://jenkins.domain.com/job/my_job_name/1077/logText/progressiveText?start=0"
并且您将获得相同的控制台日志输出,但没有 html、span 内容
关于c# - Jenkins REST API 获取作业和作业控制台日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45025231/