|
24 | 24 | import io.jenkins.plugins.tools.DingTalkUtils;
|
25 | 25 | import io.jenkins.plugins.tools.Logger;
|
26 | 26 | import io.jenkins.plugins.tools.Utils;
|
27 |
| -import java.io.IOException; |
28 | 27 | import java.util.ArrayList;
|
29 | 28 | import java.util.HashMap;
|
30 | 29 | import java.util.List;
|
@@ -65,6 +64,9 @@ public void onCompleted(Run<?, ?> run, @NonNull TaskListener listener) {
|
65 | 64 | } catch (Exception e) {
|
66 | 65 | e.printStackTrace();
|
67 | 66 | DingTalkUtils.log(listener, "发送消息时报错: %s", e);
|
| 67 | + }finally { |
| 68 | + // 重置环境变量 |
| 69 | + PipelineEnvContext.reset(); |
68 | 70 | }
|
69 | 71 | }
|
70 | 72 |
|
@@ -162,14 +164,22 @@ private EnvVars getEnvVars(Run<?, ?> run, TaskListener listener) {
|
162 | 164 | EnvVars jobEnvVars;
|
163 | 165 | try {
|
164 | 166 | jobEnvVars = run.getEnvironment(listener);
|
165 |
| - } catch (InterruptedException | IOException e) { |
| 167 | + } catch (Exception e) { |
166 | 168 | jobEnvVars = new EnvVars();
|
167 | 169 | log.error(e);
|
168 |
| - DingTalkUtils.log(listener, "获取环境变量时发生异常,将只使用 jenkins 默认的环境变量。"); |
| 170 | + DingTalkUtils.log(listener, "获取 job 任务的环境变量时发生异常"); |
| 171 | + DingTalkUtils.log(listener, ExceptionUtils.getStackTrace(e)); |
| 172 | + Thread.currentThread().interrupt(); |
| 173 | + } |
| 174 | + try { |
| 175 | + EnvVars pipelineEnvVars = PipelineEnvContext.get(); |
| 176 | + jobEnvVars.overrideAll(pipelineEnvVars); |
| 177 | + }catch (Exception e){ |
| 178 | + log.error(e); |
| 179 | + DingTalkUtils.log(listener, "获取 pipeline 环境变量时发生异常"); |
169 | 180 | DingTalkUtils.log(listener, ExceptionUtils.getStackTrace(e));
|
170 | 181 | }
|
171 |
| - EnvVars pipelineEnvVars = PipelineEnvContext.get(); |
172 |
| - return jobEnvVars.overrideAll(pipelineEnvVars); |
| 182 | + return jobEnvVars; |
173 | 183 | }
|
174 | 184 |
|
175 | 185 | private boolean skip(TaskListener listener, NoticeOccasionEnum noticeOccasion,
|
@@ -238,7 +248,7 @@ private void send(Run<?, ?> run, TaskListener listener, NoticeOccasionEnum notic
|
238 | 248 | .executorName(executorName)
|
239 | 249 | .executorMobile(executorMobile)
|
240 | 250 | .content(
|
241 |
| - envVars.expand(content).replaceAll("\\\\n", "\n") |
| 251 | + envVars.expand(content).replace("\\\\n", "\n") |
242 | 252 | )
|
243 | 253 | .build()
|
244 | 254 | .toMarkdown();
|
|
0 commit comments