| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- #!/usr/bin/env groovy
 
- import com.example.FeishuNotifier
 
- // 公共采集逻辑
 
- @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
 
-     ]
 
- }
 
- // 任务开始时调用
 
- def start(String webhookUrl) {
 
-     def info = gatherCommonInfo()
 
-     new FeishuNotifier(this, webhookUrl).send(
 
-         'START',                // 自定义状态
 
-         env.JOB_NAME,
 
-         env.BUILD_NUMBER,
 
-         info.buildUrl,
 
-         '0s',                   // 刚开始,持续时间为 0
 
-         info.branch,
 
-         info.commitMsg,
 
-         info.author,
 
-         info.commitTime
 
-     )
 
- }
 
- // 任务结束时调用(就是你现在的 call)
 
- def call(String webhookUrl, String status) {
 
-     def info = gatherCommonInfo()
 
-     new FeishuNotifier(this, webhookUrl).send(
 
-         status,
 
-         env.JOB_NAME,
 
-         env.BUILD_NUMBER,
 
-         info.buildUrl,
 
-         info.duration,
 
-         info.branch,
 
-         info.commitMsg,
 
-         info.author,
 
-         info.commitTime
 
-     )
 
- }
 
 
  |