c# - Jenkins REST API 获取作业和作业控制台日志

标签 c# jenkins jenkins-plugins jenkins-pipeline

如何使用 Jenkins REST API 获取作业的详细信息及其控制台输出

构建示例

Builds

控制台输出:

console Output for the build

我正在使用以下命令获取控制台日志的路径

回显 $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):

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/

相关文章:

c# - 将数据从 Unity (C#) 发布到服务器 (PHP)。每个部分都可以单独工作,但不能一起工作

jenkins-plugins - Jenkins Artifactory插件: Error occurred while requesting version information: Connection refused

c# - 如何在 C# 中实现带有参数和返回值泛型的方法、接口(interface)

c# - Fitnesse Slim with C# 获取 slim 协议(protocol)版本错误

service - 开源项目的免费构建服务器服务?

Jenkins mesosphere/jenkins-dind :0. 3.1 和代理

jenkins - 导入 Jenkins WorkflowScript 类

Jenkins GitHub 插件 : failed to validate the account

Jenkins 管道 httpRequest 给出 NotSerializableException

c# - 从 Entity Framework 中的数据库更新模型不起作用