You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins父任务获取子任务日志遇ErrorAction错误及权限问题

Jenkins父任务提取子任务日志并触发邮件的问题解决

1. 解决子任务失败/不稳定时父流水线终止的问题

得在build步骤里加propagate: false,这样不管子任务是成功、失败还是不稳定,父流水线都能继续执行,顺利拿到子任务的构建对象。修改后的代码片段:

def triggeredJob = build job: 'Pipeline1', propagate: false

2. 搞定脚本权限被拦截的问题

出现Scripts not permitted to use method hudson.model.Run getLog int是因为Jenkins的脚本安全机制限制了getLog方法的调用,需要手动授权:

  • 登录Jenkins,进入Manage Jenkins > In-process Script Approval
  • 在待审批的签名列表里找到method hudson.model.Run getLog int,点击Approve完成授权
    如果没看到这个签名,先触发一次父流水线触发权限检查,再回来审批即可。

3. 完整父流水线脚本(含日志检查与邮件触发)

pipeline {
  agent any
  stages {
    stage('验证子任务') {
      steps {
        script {
          echo "触发子任务构建"
          // 禁用异常传播,保证子任务状态不中断父流水线
          def triggeredJob = build job: 'Pipeline1', propagate: false
          // 获取子任务最后100行日志
          def logs = triggeredJob.rawBuild.getLog(100)
          echo "子任务日志:$logs"
          
          // 检查目标字符串,示例为"Hello World"
          def targetStr = "Hello World"
          if (logs.contains(targetStr)) {
            echo "检测到目标字符串:$targetStr"
            // 发送邮件(基于Email Extension插件,根据实际配置调整)
            emailext(
              subject: "子任务日志检测到目标内容",
              body: "子任务构建状态:${triggeredJob.result}\n日志片段:\n${logs.join('\n')}",
              to: "你的邮箱@xxx.com"
            )
          } else {
            echo "未检测到目标字符串:$targetStr"
          }
        }
      }
    }
  }
  // 可选:无论父流水线结果如何,执行全局逻辑(比如统一通知)
  post {
    always {
      // 可添加全局邮件通知,例如告知父流水线执行完成
    }
  }
}

4. 修正子任务测试脚本

原脚本里的steps1是拼写错误,应改为steps;若要测试失败/不稳定状态,可按以下方式修改:

pipeline {
  agent any
  stages {
    stage('Hello') {
      steps {
        echo 'Hello World'
        // 模拟构建失败
        error "测试构建失败"
        // 或者模拟不稳定状态:
        // unstable "测试构建不稳定"
      }
    }
  }
}

关键注意点

  • 确保Jenkins已安装Email Extension Plugin(使用emailext发送邮件时需要)
  • 脚本审批完成后,后续流水线执行不会再触发权限错误
  • triggeredJob.result可获取子任务的构建状态(SUCCESS/FAILURE/UNSTABLE等),可用于丰富邮件内容或添加额外逻辑判断

内容的提问来源于stack exchange,提问作者QualityMatters

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:50:11