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