|
@@ -1,22 +1,21 @@
|
|
|
#!/usr/bin/env groovy
|
|
#!/usr/bin/env groovy
|
|
|
def call(String phase) {
|
|
def call(String phase) {
|
|
|
- // 先读凭据
|
|
|
|
|
|
|
+ // 1. 先把凭据解析成真正的 URL 字符串
|
|
|
String webhook = credentials('feishu-webhook')
|
|
String webhook = credentials('feishu-webhook')
|
|
|
|
|
|
|
|
- // 组装卡片(同上,略)
|
|
|
|
|
- String jobName = env.JOB_NAME
|
|
|
|
|
|
|
+ // 2. 取环境变量
|
|
|
|
|
+ String jobName = env.JOB_NAME
|
|
|
String buildNum = env.BUILD_NUMBER
|
|
String buildNum = env.BUILD_NUMBER
|
|
|
- String branch = env.GIT_BRANCH ?: 'unknown'
|
|
|
|
|
- String result = currentBuild.currentResult ?: 'UNKNOWN'
|
|
|
|
|
|
|
+ String branch = env.GIT_BRANCH ?: 'unknown'
|
|
|
|
|
+ String result = currentBuild.currentResult ?: 'UNKNOWN'
|
|
|
String buildUrl = env.BUILD_URL
|
|
String buildUrl = env.BUILD_URL
|
|
|
String duration = phase == 'end' ? "${currentBuild.durationString}" : '-'
|
|
String duration = phase == 'end' ? "${currentBuild.durationString}" : '-'
|
|
|
|
|
|
|
|
String headerColor = phase == 'start' ? 'blue' : (result == 'SUCCESS' ? 'green' : 'red')
|
|
String headerColor = phase == 'start' ? 'blue' : (result == 'SUCCESS' ? 'green' : 'red')
|
|
|
- String headerIcon = phase == 'start' ? 'rocket' : (result == 'SUCCESS' ? 'check_circle' : 'error')
|
|
|
|
|
|
|
|
|
|
def card = [
|
|
def card = [
|
|
|
header: [
|
|
header: [
|
|
|
- title: [ tag: "plain_text", content: "Jenkins ${phase == 'start' ? '开始' : '结束'}通知" ],
|
|
|
|
|
|
|
+ title: [tag: "plain_text", content: "Jenkins ${phase == 'start' ? '开始' : '结束'}通知"],
|
|
|
template: headerColor
|
|
template: headerColor
|
|
|
],
|
|
],
|
|
|
elements: [
|
|
elements: [
|
|
@@ -35,6 +34,6 @@ def call(String phase) {
|
|
|
]
|
|
]
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
- // 把真正的 url 传进去
|
|
|
|
|
|
|
+ // 3. 发送
|
|
|
feishu.send(webhook, card)
|
|
feishu.send(webhook, card)
|
|
|
}
|
|
}
|