diff --git a/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactController.java b/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactController.java index 35a3b60ab..65b9c238f 100644 --- a/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactController.java +++ b/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactController.java @@ -46,18 +46,20 @@ public ArtifactController(ArtifactServices artifactServices) { public List getVersions( @PathVariable("provider") String provider, @PathVariable("name") String name, - @RequestParam(value = "releaseStatus", required = false) String releaseStatus) { + @RequestParam(value = "releaseStatus", required = false) String releaseStatus, + @RequestParam(value = "type", required = false, defaultValue = "deb") String type) { ArtifactService artifactService = getService(provider); - return artifactService.getArtifactVersions(name, releaseStatus); + return artifactService.getArtifactVersions(type, name, releaseStatus); } @GetMapping("/{provider}/{name}/{version:.+}") public Artifact getArtifact( @PathVariable("provider") String provider, @PathVariable("name") String name, - @PathVariable("version") String version) { + @PathVariable("version") String version, + @RequestParam(value = "type", required = false, defaultValue = "deb") String type) { ArtifactService artifactService = getService(provider); - return artifactService.getArtifact(name, version); + return artifactService.getArtifact(type, name, version); } private ArtifactService getService(String serviceName) { diff --git a/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactService.java b/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactService.java index 6e22ceebd..c3d8b109e 100644 --- a/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactService.java +++ b/igor-web/src/main/java/com/netflix/spinnaker/igor/artifacts/ArtifactService.java @@ -33,9 +33,26 @@ public interface ArtifactService { /** Used to populate the manual trigger dropdown with options */ @Nonnull - List getArtifactVersions(@Nonnull String name, String releaseStatus); + List getArtifactVersions( + @Nonnull String type, @Nonnull String name, String releaseStatus); /** Used to fetch a specific artifact for decorating a trigger */ @Nonnull - Artifact getArtifact(@Nonnull String name, @Nonnull String version); + Artifact getArtifact(@Nonnull String type, @Nonnull String name, @Nonnull String version); + + /** + * Used to populate the manual trigger dropdown with options (backwards-compatibility for Debian) + */ + @Nonnull + default List getArtifactVersions(@Nonnull String name, String releaseStatus) { + return getArtifactVersions("deb", name, releaseStatus); + } + + /** + * Used to fetch a specific artifact for decorating a trigger (backwards-compatibility for Debian) + */ + @Nonnull + default Artifact getArtifact(@Nonnull String name, @Nonnull String version) { + return getArtifact("deb", name, version); + } } diff --git a/igor-web/src/test/java/com/netflix/spinnaker/igor/artifacts/TestArtifactService.java b/igor-web/src/test/java/com/netflix/spinnaker/igor/artifacts/TestArtifactService.java index 2b362a941..55a083a8a 100644 --- a/igor-web/src/test/java/com/netflix/spinnaker/igor/artifacts/TestArtifactService.java +++ b/igor-web/src/test/java/com/netflix/spinnaker/igor/artifacts/TestArtifactService.java @@ -31,7 +31,7 @@ public ArtifactServiceProvider artifactServiceProvider() { } @Override - public List getArtifactVersions(String name, String releaseStatus) { + public List getArtifactVersions(String type, String name, String releaseStatus) { if (!name.equals("test")) { return Collections.emptyList(); } @@ -49,7 +49,7 @@ public List getArtifactVersions(String name, String releaseStatus) { } @Override - public Artifact getArtifact(String name, String version) { + public Artifact getArtifact(String type, String name, String version) { if (!name.equals("test") && !version.equals("v0.4.0")) { throw new NotFoundException("Artifact not found"); }