2016-05-03 1 views
4

У меня есть конвейер с различными этапами. Я хочу, чтобы текущее задание проверяло, сколько этапов прошло в предыдущей сборке и занесло его в консоль?Результаты этапа доступа в плагине Workflow/Pipeline

Рассмотрим это мой текущий трубопровод

node(){ 
stage "1" 
do something 

stage "2" 
do something else 
} 

Я хочу заводной сценарий, чтобы дать свое что-то вроде этого

println currentBuild.previousBuild.getStage("1").result 

Цель моего кода является отслеживать успехи & неудачи в различных сценах мой строит. Существуют ли альтернативы этому подходу?

+0

У вас есть некоторый Groovy код, который получает список этапов и их результатов? Как-то использование REST API кажется излишним. – sorin

ответ

4

Вы определенно можете использовать Pipeline REST API Plugin, для меня он был доступен из коробки с Jenkins 2.13.

Разбирая полученный JSON, вы можете получить статус сцены так же, как ожидаете. Для вызова api я лично использую плагин http_request.

из документации GET/задания /: работа имя /: вводный идентификатор/wfapi/описывают возвращения:

{ 
    "_links": { 
     "self": { 
      "href": "/jenkins/job/Test%20Workflow/16/wfapi/describe" 
     }, 
     "pendingInputActions": { 
      "href": "/jenkins/job/Test%20Workflow/16/wfapi/pendingInputActions" 
     } 
    }, 
    "id": "2014-10-16_13-07-52", 
    "name": "#16", 
    "status": "PAUSED_PENDING_INPUT", 
    "startTimeMillis": 1413461275770, 
    "endTimeMillis": 1413461285999, 
    "durationMillis": 10229, 
    "stages": [ 
     { 
      "_links": { 
       "self": { 
        "href": "/jenkins/job/Test%20Workflow/16/execution/node/5/wfapi/describe" 
       } 
      }, 
      "id": "5", 
      "name": "Build", 
      "status": "SUCCESS", 
      "startTimeMillis": 1413461275770, 
      "durationMillis": 5228 
     }, 
     { 
      "_links": { 
       "self": { 
        "href": "/jenkins/job/Test%20Workflow/16/execution/node/8/wfapi/describe" 
       } 
      }, 
      "id": "8", 
      "name": "Test", 
      "status": "SUCCESS", 
      "startTimeMillis": 1413461280998, 
      "durationMillis": 4994 
     }, 
     { 
      "_links": { 
       "self": { 
        "href": "/jenkins/job/Test%20Workflow/16/execution/node/10/wfapi/describe" 
       } 
      }, 
      "id": "10", 
      "name": "Deploy", 
      "status": "PAUSED_PENDING_INPUT", 
      "startTimeMillis": 1413461285992, 
      "durationMillis": 7 
     } 
    ] 
} 
Смежные вопросы