San*_*Dvs 3 c# jenkins jenkins-plugins jenkins-pipeline
如何使用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;
}
Run Code Online (Sandbox Code Playgroud)
例外:
所以对于使用consoleFull我正在使用非常肮脏的输出curl
例:
curl -s -S -u "user":"password" "http://jenkins.domain.com/job/my_job_name/1077/consoleFull"
Run Code Online (Sandbox Code Playgroud)
输出:用html内容包装的许多行:
<span class="timestamp"><b>09:04:32</b> </span><span style="color: #00CD00;">ok:</span>
Run Code Online (Sandbox Code Playgroud)
所以我的解决方案是使用:
curl -s -S -u "user":"password" "http://jenkins.domain.com/job/my_job_name/1077/logText/progressiveText?start=0"
Run Code Online (Sandbox Code Playgroud)
并且您将获得相同的控制台日志输出,而没有html,span的东西
| 归档时间: |
|
| 查看次数: |
7201 次 |
| 最近记录: |