Хорошо. Итак, сначала давайте предположим, что у вас есть работа A, работа B и работа C (которая вызывает работу A и работу B)
В каждой работе A и работе B вам нужно заархивировать их файл журнала, так что вы будетенеобходимо добавить этот сценарий в свой конвейер:
def jenkins = Jenkins.getInstance()
def job = jenkins.getItem(jobName)
def bld = job.getBuildByNumber(buildNumber)=
//use the method that suits you
bld.getLog(100) //number of lines to read
bld.getLogFile()
bld.getLogReader()
Теперь, когда ваши журналы архивируются в каждом из заданий, вы можете перейти к заданию C на этапе post и использовать плагин copyArtifact для копирования архивированных журналов.пример:
//copyArtifacts filter: 'logs.log', fingerprintArtifacts: true, projectName: 'pathtoyourjob/job A', selector: lastSuccessful(), target: 'temp1'
//copyArtifacts filter: 'logs.log', fingerprintArtifacts: true, projectName: 'pathtoyourjob/job B', selector: lastSuccessful(), target: 'temp1'
Это единственный обходной путь, который я смог использовать раньше.Надеюсь, это поможет!