代码之家  ›  专栏  ›  技术社区  ›  Pranav Raj

Jenkins pipeline-获取C中的管道状态#

  •  1
  • Pranav Raj  · 技术社区  · 7 年前

    我可以通过发送post请求(带有用户名/密码)启动Jenkins管道构建 Jenkins-Pipeline-URL/buildwithParameter .

    代码中是否有方法知道我启动了哪个构建,并使用一些rest API获取该构建的状态?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Preston Martin    7 年前

    来自Jenkins API文档:

    访问渐进式控制台输出

    您可以在进行中检索 通过使用参数重复发出GET请求来进行控制台输出。 您基本上会将GET请求发送到这个URL(如果需要,也可以发送到这个URL 可以放入标记中的HTML。)start参数控制 开始位置的字节偏移量。

    响应将包含控制台输出的一个块,以及 表示(原始)字节偏移量的X-Text-Size头 日志文件)。这是要用作开始参数的数字 下一个电话。

    如果响应还包含X-More-Data:true头,则服务器 表示生成正在进行,您需要重复 一段时间后的请求。詹金斯用户界面在5秒钟前 打下一个电话。当这个标题不存在时,你知道 您已检索到所有数据,生成已完成。

    您的url将类似于:

    https://Jenkins-Pipeline-URL/lastBuild/logText/progressiveText?start=0

    同样来自文档:

    https://Jenkins-Pipeline-URL/lastBuild/buildNumber

    此URL以文本/纯格式返回内部版本号。

    如果只希望获取生成是通过还是失败:

    https://Jenkins-Pipeline-URL/lastBuild/api/json

    将返回json(或xml if json格式 在url中被替换),可以为结果对象分析:

    您可以创建重复的GET请求,类似于第一个答案,以获取更新的状态。