Skip to content

Commit dba230c

Browse files
Jared Stehlerjaredstehler
authored andcommitted
fix(pipelineTriggers): change buildNumber type from int to string
in order to support build numbers which are not strict integers (i.e. "123.1")
1 parent fa50e97 commit dba230c

File tree

8 files changed

+15
-15
lines changed

8 files changed

+15
-15
lines changed

echo-core/src/main/java/com/netflix/spinnaker/echo/build/BuildInfoService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class BuildInfoService {
4848
// to pass a trigger and
4949
// an event as with other triggers, but for now we'll see whether we can extract a build event
5050
// from the trigger.
51-
public BuildEvent getBuildEvent(String master, String job, int buildNumber) {
51+
public BuildEvent getBuildEvent(String master, String job, String buildNumber) {
5252
Map<String, Object> rawBuild = retry(() -> igorService.getBuild(buildNumber, master, job));
5353
BuildEvent.Build build = objectMapper.convertValue(rawBuild, BuildEvent.Build.class);
5454
BuildEvent.Project project = new BuildEvent.Project(job, build);
@@ -61,7 +61,7 @@ public BuildEvent getBuildEvent(String master, String job, int buildNumber) {
6161
public Map<String, Object> getBuildInfo(BuildEvent event) {
6262
String master = event.getContent().getMaster();
6363
String job = event.getContent().getProject().getName();
64-
int buildNumber = event.getBuildNumber();
64+
String buildNumber = event.getBuildNumber();
6565

6666
if (StringUtils.isNoneEmpty(master, job)) {
6767
return retry(() -> igorService.getBuild(buildNumber, master, job));
@@ -72,7 +72,7 @@ public Map<String, Object> getBuildInfo(BuildEvent event) {
7272
public Map<String, Object> getProperties(BuildEvent event, String propertyFile) {
7373
String master = event.getContent().getMaster();
7474
String job = event.getContent().getProject().getName();
75-
int buildNumber = event.getBuildNumber();
75+
String buildNumber = event.getBuildNumber();
7676

7777
if (StringUtils.isEmpty(propertyFile) && master.contains("travis")) {
7878
propertyFile = "travis";
@@ -87,7 +87,7 @@ public Map<String, Object> getProperties(BuildEvent event, String propertyFile)
8787
private List<Artifact> getArtifactsFromPropertyFile(BuildEvent event, String propertyFile) {
8888
String master = event.getContent().getMaster();
8989
String job = event.getContent().getProject().getName();
90-
int buildNumber = event.getBuildNumber();
90+
String buildNumber = event.getBuildNumber();
9191
if (StringUtils.isNoneEmpty(master, job, propertyFile)) {
9292
return retry(() -> igorService.getArtifacts(buildNumber, propertyFile, master, job));
9393
}

echo-core/src/main/java/com/netflix/spinnaker/echo/services/IgorService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,20 @@
2626
public interface IgorService {
2727
@GET("/builds/status/{buildNumber}/{master}/{job}")
2828
Map<String, Object> getBuild(
29-
@Path("buildNumber") Integer buildNumber,
29+
@Path("buildNumber") String buildNumber,
3030
@Path("master") String master,
3131
@Path(value = "job", encode = false) String job);
3232

3333
@GET("/builds/properties/{buildNumber}/{fileName}/{master}/{job}")
3434
Map<String, Object> getPropertyFile(
35-
@Path("buildNumber") Integer buildNumber,
35+
@Path("buildNumber") String buildNumber,
3636
@Path("fileName") String fileName,
3737
@Path("master") String master,
3838
@Path(value = "job", encode = false) String job);
3939

4040
@GET("/builds/artifacts/{buildNumber}/{master}/{job}")
4141
List<Artifact> getArtifacts(
42-
@Path("buildNumber") Integer buildNumber,
42+
@Path("buildNumber") String buildNumber,
4343
@Query("propertyFile") String propertyFile,
4444
@Path("master") String master,
4545
@Path(value = "job", encode = false) String job);

echo-model/src/main/java/com/netflix/spinnaker/echo/model/Trigger.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ public String toString() {
178178
String artifactName;
179179

180180
/** Properties that are bound at run-time */
181-
Integer buildNumber;
181+
String buildNumber;
182182

183183
String hash;
184184
Map<String, Object> buildInfo;
@@ -217,7 +217,7 @@ public String generateFallbackId() {
217217
return UUID.nameUUIDFromBytes(this.toString().getBytes()).toString();
218218
}
219219

220-
public Trigger atBuildNumber(final int buildNumber) {
220+
public Trigger atBuildNumber(final String buildNumber) {
221221
return this.toBuilder().buildNumber(buildNumber).hash(null).tag(null).build();
222222
}
223223

echo-model/src/main/java/com/netflix/spinnaker/echo/model/trigger/BuildEvent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public static class Project {
5757
@JsonIgnoreProperties(ignoreUnknown = true)
5858
public static class Build {
5959
private boolean building;
60-
private int number;
60+
private String number;
6161
private Result result;
6262
private String url;
6363
private List<Artifact> artifacts;
@@ -73,7 +73,7 @@ public enum Result {
7373
}
7474

7575
@JsonIgnore
76-
public int getBuildNumber() {
76+
public String getBuildNumber() {
7777
return content.getProject().getLastBuild().getNumber();
7878
}
7979
}

echo-pipelinetriggers/src/main/java/com/netflix/spinnaker/echo/pipelinetriggers/eventhandlers/ManualEventHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ protected Pipeline buildTrigger(Pipeline pipeline, Trigger manualTrigger) {
129129
List<Artifact> artifacts = new ArrayList<>();
130130
String master = manualTrigger.getMaster();
131131
String job = manualTrigger.getJob();
132-
Integer buildNumber = manualTrigger.getBuildNumber();
132+
String buildNumber = manualTrigger.getBuildNumber();
133133

134134
ArrayList<String> pipelineErrors = new ArrayList<>();
135135

echo-pipelinetriggers/src/test/groovy/com/netflix/spinnaker/echo/pipelinetriggers/eventhandlers/BuildEventHandlerSpec.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class BuildEventHandlerSpec extends Specification implements RetrofitStubs {
2626

2727
String MASTER_NAME = "jenkins-server"
2828
String JOB_NAME = "my-job"
29-
int BUILD_NUMBER = 7
29+
String BUILD_NUMBER = "7"
3030
def PROPERTY_FILE = "property-file"
3131
static Map<String, Object> BUILD_INFO = [
3232
abc: 123

echo-pipelinetriggers/src/test/groovy/com/netflix/spinnaker/echo/pipelinetriggers/postprocessors/ExpectedArtifactExpressionEvaluationPostProcessorSpec.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class ExpectedArtifactExpressionEvaluationPostProcessorSpec extends Specificatio
1919
.enabled(true).type('jenkins')
2020
.master('master')
2121
.job('job')
22-
.buildNumber(100)
22+
.buildNumber('100')
2323
.build()
2424

2525
def 'evaluates expressions in expected artifacts'() {

echo-test/src/main/groovy/com/netflix/spinnaker/echo/test/RetrofitStubs.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ trait RetrofitStubs {
6464
}
6565

6666
BuildEvent createBuildEventWith(BuildEvent.Result result) {
67-
def build = result ? new BuildEvent.Build(result == BUILDING, 1, result, null, []) : null
67+
def build = result ? new BuildEvent.Build(result == BUILDING, '1', result, null, []) : null
6868
def res = new BuildEvent()
6969
res.content = new BuildEvent.Content(new BuildEvent.Project("job", build), "master")
7070
res.details = new Metadata([type: BuildEvent.TYPE])

0 commit comments

Comments
 (0)