1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.whitesource.teamcity.server;
17
18 import jetbrains.buildServer.serverSide.BuildStartContext;
19 import jetbrains.buildServer.serverSide.BuildStartContextProcessor;
20 import jetbrains.buildServer.serverSide.SRunnerContext;
21 import jetbrains.buildServer.serverSide.TeamCityProperties;
22 import org.jetbrains.annotations.NotNull;
23 import org.whitesource.teamcity.common.Constants;
24
25
26
27
28
29
30 public class WhitesourceBuildStartContextProcessor implements BuildStartContextProcessor {
31
32
33
34 private GlobalSettingsManager settingsManager;
35
36
37
38
39
40
41
42
43 public WhitesourceBuildStartContextProcessor(@NotNull final GlobalSettingsManager settingsManager) {
44 this.settingsManager = settingsManager;
45 }
46
47 @Override
48 public void updateParameters(@NotNull BuildStartContext context) {
49
50 GlobalSettings globalSettings = settingsManager.getGlobalSettings();
51 if (globalSettings == null) {
52 return;
53 }
54
55 String orgToken = globalSettings.getOrgToken();
56 boolean checkPolicies = globalSettings.isCheckPolicies();
57 ProxySettings proxy = globalSettings.getProxy();
58
59 for (SRunnerContext runnerContext : context.getRunnerContexts()) {
60
61 runnerContext.addRunnerParameter(Constants.RUNNER_SERVICE_URL,
62 TeamCityProperties.getProperty(Constants.RUNNER_SERVICE_URL));
63
64
65 runnerContext.addRunnerParameter(Constants.RUNNER_ORGANIZATION_TOKEN, orgToken);
66 runnerContext.addRunnerParameter(Constants.RUNNER_CHECK_POLICIES, Boolean.toString(checkPolicies));
67
68 if (proxy != null) {
69 runnerContext.addRunnerParameter(Constants.RUNNER_PROXY_HOST, proxy.getHost());
70 runnerContext.addRunnerParameter(Constants.RUNNER_PROXY_PORT, Integer.valueOf(proxy.getPort()).toString());
71 runnerContext.addRunnerParameter(Constants.RUNNER_PROXY_USERNAME, proxy.getUsername());
72 runnerContext.addRunnerParameter(Constants.RUNNER_PROXY_PASSWORD, proxy.getPassword());
73 }
74 }
75
76 }
77
78 }