| 123456789101112131415161718192021222324252627282930313233 | 
							- def call(String webhook, String status) {
 
-     def info = gatherCommonInfo()
 
-     new com.example.FeishuNotifier(this, webhook).send(
 
-         status,
 
-         env.JOB_NAME,
 
-         env.BUILD_NUMBER,
 
-         info.buildUrl,
 
-         info.duration,
 
-         info.branch,
 
-         info.commitMsg,
 
-         info.author,
 
-         info.commitTime
 
-     )
 
- }
 
- // ==========  下面是 CPS 安全的采集逻辑 ==========
 
- @com.cloudbees.groovy.cps.NonCPS   // 仅供内部流转,避免返回值被序列化
 
- private Map gatherCommonInfo() {
 
-     def duration = currentBuild.durationString.replace(' and counting', '')
 
-     def commitMsg  = sh(returnStdout: true, script: 'git log -1 --pretty=%B').trim()
 
-     def author     = sh(returnStdout: true, script: 'git log -1 --pretty=%an').trim()
 
-     def commitTime = sh(returnStdout: true, script: 'git log -1 --pretty=%ci').trim()
 
-     def branch     = env.BRANCH_NAME ?: env.GIT_BRANCH ?: 'unknown'
 
-     def buildUrl   = env.BUILD_URL.replace('http://68.79.46.88:8080', 'https://jenkins.adwebcloud.com')
 
-     return [
 
-         duration : duration,
 
-         commitMsg: commitMsg,
 
-         author   : author,
 
-         commitTime: commitTime,
 
-         branch   : branch,
 
-         buildUrl : buildUrl
 
-     ]
 
- }
 
 
  |