diff --git a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ApiReleaseResponse.java b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ApiProjectReleasesResponse.java similarity index 86% rename from octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ApiReleaseResponse.java rename to octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ApiProjectReleasesResponse.java index 9e1dacc..e26c076 100644 --- a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ApiReleaseResponse.java +++ b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ApiProjectReleasesResponse.java @@ -8,11 +8,11 @@ import java.util.List; import java.util.Map; -public class ApiReleaseResponse { +public class ApiProjectReleasesResponse { public Releases releases; public String nextLink; - public ApiReleaseResponse(String releasesResponse) throws ParseException { + public ApiProjectReleasesResponse(String releasesResponse) throws ParseException { JSONParser parser = new JSONParser(); Map response = (Map)parser.parse(releasesResponse); diff --git a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Release.java b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Release.java index 8f2d66f..c91dff7 100644 --- a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Release.java +++ b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Release.java @@ -5,9 +5,9 @@ import java.util.Map; public class Release implements Comparable { - final String id; - final OctopusDate assembledDate; - final String version; + public final String id; + public final OctopusDate assembledDate; + public final String version; public Release(Map item) { this.id = item.get("Id").toString(); diff --git a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Releases.java b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Releases.java index 50b77e3..9401e22 100644 --- a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Releases.java +++ b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/Releases.java @@ -88,4 +88,12 @@ else if (release.version.equals(oldRelease.version)) } return oldRelease; } + + public int size() { + return statusMap.size(); + } + + public Release[] toArray() { + return statusMap.toArray(new Release[0]); + } } diff --git a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/ReleasesProvider.java b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/ReleasesProvider.java index 1cbc70a..22f4e8e 100644 --- a/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/ReleasesProvider.java +++ b/octopus-build-trigger-server/src/main/java/com/mjrichardson/teamCity/buildTriggers/ReleaseCreated/ReleasesProvider.java @@ -34,14 +34,14 @@ public Releases getReleases(String projectId, Release oldRelease) throws Invalid final ApiRootResponse apiRootResponse = new ApiRootResponse(apiResponse); String releasesResponse = contentProvider.getContent("/api/projects/" + projectId + "/releases"); //todo: parse properly - ApiReleaseResponse apiReleaseResponse = new ApiReleaseResponse(releasesResponse); + ApiProjectReleasesResponse apiProjectReleasesResponse = new ApiProjectReleasesResponse(releasesResponse); - Releases newReleases = apiReleaseResponse.releases; + Releases newReleases = apiProjectReleasesResponse.releases; - while (shouldGetNextPage(oldRelease, newReleases, apiReleaseResponse)) { - releasesResponse = contentProvider.getContent(apiReleaseResponse.nextLink); - apiReleaseResponse = new ApiReleaseResponse(releasesResponse); - newReleases.Append(apiReleaseResponse.releases); + while (shouldGetNextPage(oldRelease, newReleases, apiProjectReleasesResponse)) { + releasesResponse = contentProvider.getContent(apiProjectReleasesResponse.nextLink); + apiProjectReleasesResponse = new ApiProjectReleasesResponse(releasesResponse); + newReleases.Append(apiProjectReleasesResponse.releases); } return newReleases; } @@ -59,10 +59,10 @@ public Releases getReleases(String projectId, Release oldRelease) throws Invalid } } - private boolean shouldGetNextPage(Release oldRelease, Releases newReleases, ApiReleaseResponse apiReleaseResponse) { + private boolean shouldGetNextPage(Release oldRelease, Releases newReleases, ApiProjectReleasesResponse apiProjectReleasesResponse) { if (newReleases.isEmpty()) return false; - if (apiReleaseResponse.nextLink == null) + if (apiProjectReleasesResponse.nextLink == null) return false; if (newReleases.overlapsWith(oldRelease)) return false; diff --git a/octopus-build-trigger-server/src/test/java/com/mjrichardson/teamCity/buildTriggers/ApiProjectReleasesResponseTest.java b/octopus-build-trigger-server/src/test/java/com/mjrichardson/teamCity/buildTriggers/ApiProjectReleasesResponseTest.java new file mode 100644 index 0000000..02a8c77 --- /dev/null +++ b/octopus-build-trigger-server/src/test/java/com/mjrichardson/teamCity/buildTriggers/ApiProjectReleasesResponseTest.java @@ -0,0 +1,38 @@ +package com.mjrichardson.teamCity.buildTriggers; + +import com.mjrichardson.teamCity.buildTriggers.ReleaseCreated.Release; +import org.apache.commons.io.IOUtils; +import org.json.simple.parser.ParseException; +import org.testng.Assert; +import org.testng.annotations.Test; + +import java.io.IOException; +import java.io.InputStream; + +@Test +public class ApiProjectReleasesResponseTest { + public void can_parse_valid_response_without_next_link() throws ParseException, IOException { + String json = getResource("api/projects/Projects-28/releases"); + ApiProjectReleasesResponse sut = new ApiProjectReleasesResponse(json); + Assert.assertEquals(sut.nextLink, null); + Assert.assertEquals(sut.releases.size(), 2); + Release[] releases = sut.releases.toArray(); + Assert.assertEquals(releases[0].id, "Releases-70"); + Assert.assertEquals(releases[0].version, "0.0.2"); + Assert.assertEquals(releases[1].id, "Releases-69"); + Assert.assertEquals(releases[1].version, "0.0.1"); + } + + public void can_parse_valid_response_with_next_link() throws IOException, ParseException { + String json = getResource("api/projects/Projects-103/releases"); + ApiProjectReleasesResponse sut = new ApiProjectReleasesResponse(json); + Assert.assertEquals(sut.nextLink, "/api/projects/Projects-103/releases?skip=30"); + Assert.assertEquals(sut.releases.size(), 30); + } + + private String getResource(String name) throws IOException { + final String resourceName = "/responses/3.3.0/" + name + ".json"; + InputStream resource = getClass().getResourceAsStream(resourceName); + return IOUtils.toString(resource); + } +} diff --git a/octopus-build-trigger-server/src/test/resources/responses/3.3.0/api/projects/Projects-103/releases.json b/octopus-build-trigger-server/src/test/resources/responses/3.3.0/api/projects/Projects-103/releases.json new file mode 100644 index 0000000..7e97950 --- /dev/null +++ b/octopus-build-trigger-server/src/test/resources/responses/3.3.0/api/projects/Projects-103/releases.json @@ -0,0 +1,826 @@ +{ + "ItemType": "Release", + "IsStale": false, + "TotalResults": 31, + "ItemsPerPage": 30, + "Items": [ + { + "Id": "Releases-177", + "Assembled": "2016-02-22T21:10:32.307+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.31", + "Links": { + "Self": "/api/releases/Releases-177{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-177/progression", + "Deployments": "/api/releases/Releases-177/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-177/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-177", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-177", + "SnapshotVariables": "/api/releases/Releases-177/snapshot-variables", + "Defects": "/api/releases/Releases-177/defects", + "ReportDefect": "/api/releases/Releases-177/defects", + "ResolveDefect": "/api/releases/Releases-177/defects/resolve" + } + }, + { + "Id": "Releases-176", + "Assembled": "2016-02-22T21:10:28.001+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.30", + "Links": { + "Self": "/api/releases/Releases-176{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-176/progression", + "Deployments": "/api/releases/Releases-176/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-176/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-176", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-176", + "SnapshotVariables": "/api/releases/Releases-176/snapshot-variables", + "Defects": "/api/releases/Releases-176/defects", + "ReportDefect": "/api/releases/Releases-176/defects", + "ResolveDefect": "/api/releases/Releases-176/defects/resolve" + } + }, + { + "Id": "Releases-175", + "Assembled": "2016-02-22T21:10:22.771+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.29", + "Links": { + "Self": "/api/releases/Releases-175{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-175/progression", + "Deployments": "/api/releases/Releases-175/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-175/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-175", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-175", + "SnapshotVariables": "/api/releases/Releases-175/snapshot-variables", + "Defects": "/api/releases/Releases-175/defects", + "ReportDefect": "/api/releases/Releases-175/defects", + "ResolveDefect": "/api/releases/Releases-175/defects/resolve" + } + }, + { + "Id": "Releases-174", + "Assembled": "2016-02-22T21:10:19.249+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.28", + "Links": { + "Self": "/api/releases/Releases-174{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-174/progression", + "Deployments": "/api/releases/Releases-174/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-174/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-174", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-174", + "SnapshotVariables": "/api/releases/Releases-174/snapshot-variables", + "Defects": "/api/releases/Releases-174/defects", + "ReportDefect": "/api/releases/Releases-174/defects", + "ResolveDefect": "/api/releases/Releases-174/defects/resolve" + } + }, + { + "Id": "Releases-173", + "Assembled": "2016-02-22T21:10:13.948+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.27", + "Links": { + "Self": "/api/releases/Releases-173{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-173/progression", + "Deployments": "/api/releases/Releases-173/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-173/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-173", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-173", + "SnapshotVariables": "/api/releases/Releases-173/snapshot-variables", + "Defects": "/api/releases/Releases-173/defects", + "ReportDefect": "/api/releases/Releases-173/defects", + "ResolveDefect": "/api/releases/Releases-173/defects/resolve" + } + }, + { + "Id": "Releases-172", + "Assembled": "2016-02-22T21:09:59.294+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.26", + "Links": { + "Self": "/api/releases/Releases-172{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-172/progression", + "Deployments": "/api/releases/Releases-172/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-172/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-172", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-172", + "SnapshotVariables": "/api/releases/Releases-172/snapshot-variables", + "Defects": "/api/releases/Releases-172/defects", + "ReportDefect": "/api/releases/Releases-172/defects", + "ResolveDefect": "/api/releases/Releases-172/defects/resolve" + } + }, + { + "Id": "Releases-171", + "Assembled": "2016-02-22T21:09:55.612+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.25", + "Links": { + "Self": "/api/releases/Releases-171{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-171/progression", + "Deployments": "/api/releases/Releases-171/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-171/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-171", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-171", + "SnapshotVariables": "/api/releases/Releases-171/snapshot-variables", + "Defects": "/api/releases/Releases-171/defects", + "ReportDefect": "/api/releases/Releases-171/defects", + "ResolveDefect": "/api/releases/Releases-171/defects/resolve" + } + }, + { + "Id": "Releases-170", + "Assembled": "2016-02-22T21:09:50.537+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.24", + "Links": { + "Self": "/api/releases/Releases-170{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-170/progression", + "Deployments": "/api/releases/Releases-170/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-170/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-170", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-170", + "SnapshotVariables": "/api/releases/Releases-170/snapshot-variables", + "Defects": "/api/releases/Releases-170/defects", + "ReportDefect": "/api/releases/Releases-170/defects", + "ResolveDefect": "/api/releases/Releases-170/defects/resolve" + } + }, + { + "Id": "Releases-169", + "Assembled": "2016-02-22T21:09:45.219+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.23", + "Links": { + "Self": "/api/releases/Releases-169{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-169/progression", + "Deployments": "/api/releases/Releases-169/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-169/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-169", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-169", + "SnapshotVariables": "/api/releases/Releases-169/snapshot-variables", + "Defects": "/api/releases/Releases-169/defects", + "ReportDefect": "/api/releases/Releases-169/defects", + "ResolveDefect": "/api/releases/Releases-169/defects/resolve" + } + }, + { + "Id": "Releases-168", + "Assembled": "2016-02-22T21:09:40.571+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.22", + "Links": { + "Self": "/api/releases/Releases-168{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-168/progression", + "Deployments": "/api/releases/Releases-168/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-168/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-168", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-168", + "SnapshotVariables": "/api/releases/Releases-168/snapshot-variables", + "Defects": "/api/releases/Releases-168/defects", + "ReportDefect": "/api/releases/Releases-168/defects", + "ResolveDefect": "/api/releases/Releases-168/defects/resolve" + } + }, + { + "Id": "Releases-167", + "Assembled": "2016-02-22T21:09:31.241+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.21", + "Links": { + "Self": "/api/releases/Releases-167{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-167/progression", + "Deployments": "/api/releases/Releases-167/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-167/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-167", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-167", + "SnapshotVariables": "/api/releases/Releases-167/snapshot-variables", + "Defects": "/api/releases/Releases-167/defects", + "ReportDefect": "/api/releases/Releases-167/defects", + "ResolveDefect": "/api/releases/Releases-167/defects/resolve" + } + }, + { + "Id": "Releases-166", + "Assembled": "2016-02-22T21:09:17.917+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.20", + "Links": { + "Self": "/api/releases/Releases-166{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-166/progression", + "Deployments": "/api/releases/Releases-166/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-166/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-166", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-166", + "SnapshotVariables": "/api/releases/Releases-166/snapshot-variables", + "Defects": "/api/releases/Releases-166/defects", + "ReportDefect": "/api/releases/Releases-166/defects", + "ResolveDefect": "/api/releases/Releases-166/defects/resolve" + } + }, + { + "Id": "Releases-165", + "Assembled": "2016-02-22T21:09:09.408+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.19", + "Links": { + "Self": "/api/releases/Releases-165{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-165/progression", + "Deployments": "/api/releases/Releases-165/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-165/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-165", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-165", + "SnapshotVariables": "/api/releases/Releases-165/snapshot-variables", + "Defects": "/api/releases/Releases-165/defects", + "ReportDefect": "/api/releases/Releases-165/defects", + "ResolveDefect": "/api/releases/Releases-165/defects/resolve" + } + }, + { + "Id": "Releases-164", + "Assembled": "2016-02-22T21:09:05.060+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.18", + "Links": { + "Self": "/api/releases/Releases-164{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-164/progression", + "Deployments": "/api/releases/Releases-164/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-164/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-164", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-164", + "SnapshotVariables": "/api/releases/Releases-164/snapshot-variables", + "Defects": "/api/releases/Releases-164/defects", + "ReportDefect": "/api/releases/Releases-164/defects", + "ResolveDefect": "/api/releases/Releases-164/defects/resolve" + } + }, + { + "Id": "Releases-163", + "Assembled": "2016-02-22T21:08:54.647+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.17", + "Links": { + "Self": "/api/releases/Releases-163{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-163/progression", + "Deployments": "/api/releases/Releases-163/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-163/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-163", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-163", + "SnapshotVariables": "/api/releases/Releases-163/snapshot-variables", + "Defects": "/api/releases/Releases-163/defects", + "ReportDefect": "/api/releases/Releases-163/defects", + "ResolveDefect": "/api/releases/Releases-163/defects/resolve" + } + }, + { + "Id": "Releases-162", + "Assembled": "2016-02-22T21:08:45.379+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.16", + "Links": { + "Self": "/api/releases/Releases-162{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-162/progression", + "Deployments": "/api/releases/Releases-162/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-162/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-162", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-162", + "SnapshotVariables": "/api/releases/Releases-162/snapshot-variables", + "Defects": "/api/releases/Releases-162/defects", + "ReportDefect": "/api/releases/Releases-162/defects", + "ResolveDefect": "/api/releases/Releases-162/defects/resolve" + } + }, + { + "Id": "Releases-161", + "Assembled": "2016-02-22T21:08:29.636+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.15", + "Links": { + "Self": "/api/releases/Releases-161{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-161/progression", + "Deployments": "/api/releases/Releases-161/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-161/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-161", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-161", + "SnapshotVariables": "/api/releases/Releases-161/snapshot-variables", + "Defects": "/api/releases/Releases-161/defects", + "ReportDefect": "/api/releases/Releases-161/defects", + "ResolveDefect": "/api/releases/Releases-161/defects/resolve" + } + }, + { + "Id": "Releases-160", + "Assembled": "2016-02-22T21:08:24.019+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.14", + "Links": { + "Self": "/api/releases/Releases-160{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-160/progression", + "Deployments": "/api/releases/Releases-160/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-160/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-160", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-160", + "SnapshotVariables": "/api/releases/Releases-160/snapshot-variables", + "Defects": "/api/releases/Releases-160/defects", + "ReportDefect": "/api/releases/Releases-160/defects", + "ResolveDefect": "/api/releases/Releases-160/defects/resolve" + } + }, + { + "Id": "Releases-159", + "Assembled": "2016-02-22T21:08:19.582+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.13", + "Links": { + "Self": "/api/releases/Releases-159{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-159/progression", + "Deployments": "/api/releases/Releases-159/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-159/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-159", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-159", + "SnapshotVariables": "/api/releases/Releases-159/snapshot-variables", + "Defects": "/api/releases/Releases-159/defects", + "ReportDefect": "/api/releases/Releases-159/defects", + "ResolveDefect": "/api/releases/Releases-159/defects/resolve" + } + }, + { + "Id": "Releases-158", + "Assembled": "2016-02-22T21:08:15.497+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.12", + "Links": { + "Self": "/api/releases/Releases-158{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-158/progression", + "Deployments": "/api/releases/Releases-158/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-158/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-158", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-158", + "SnapshotVariables": "/api/releases/Releases-158/snapshot-variables", + "Defects": "/api/releases/Releases-158/defects", + "ReportDefect": "/api/releases/Releases-158/defects", + "ResolveDefect": "/api/releases/Releases-158/defects/resolve" + } + }, + { + "Id": "Releases-157", + "Assembled": "2016-02-22T21:08:10.453+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.11", + "Links": { + "Self": "/api/releases/Releases-157{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-157/progression", + "Deployments": "/api/releases/Releases-157/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-157/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-157", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-157", + "SnapshotVariables": "/api/releases/Releases-157/snapshot-variables", + "Defects": "/api/releases/Releases-157/defects", + "ReportDefect": "/api/releases/Releases-157/defects", + "ResolveDefect": "/api/releases/Releases-157/defects/resolve" + } + }, + { + "Id": "Releases-156", + "Assembled": "2016-02-22T21:07:53.499+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.10", + "Links": { + "Self": "/api/releases/Releases-156{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-156/progression", + "Deployments": "/api/releases/Releases-156/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-156/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-156", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-156", + "SnapshotVariables": "/api/releases/Releases-156/snapshot-variables", + "Defects": "/api/releases/Releases-156/defects", + "ReportDefect": "/api/releases/Releases-156/defects", + "ResolveDefect": "/api/releases/Releases-156/defects/resolve" + } + }, + { + "Id": "Releases-155", + "Assembled": "2016-02-22T21:07:41.741+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.9", + "Links": { + "Self": "/api/releases/Releases-155{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-155/progression", + "Deployments": "/api/releases/Releases-155/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-155/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-155", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-155", + "SnapshotVariables": "/api/releases/Releases-155/snapshot-variables", + "Defects": "/api/releases/Releases-155/defects", + "ReportDefect": "/api/releases/Releases-155/defects", + "ResolveDefect": "/api/releases/Releases-155/defects/resolve" + } + }, + { + "Id": "Releases-154", + "Assembled": "2016-02-22T21:07:32.541+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.8", + "Links": { + "Self": "/api/releases/Releases-154{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-154/progression", + "Deployments": "/api/releases/Releases-154/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-154/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-154", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-154", + "SnapshotVariables": "/api/releases/Releases-154/snapshot-variables", + "Defects": "/api/releases/Releases-154/defects", + "ReportDefect": "/api/releases/Releases-154/defects", + "ResolveDefect": "/api/releases/Releases-154/defects/resolve" + } + }, + { + "Id": "Releases-153", + "Assembled": "2016-02-22T21:07:22.780+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.7", + "Links": { + "Self": "/api/releases/Releases-153{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-153/progression", + "Deployments": "/api/releases/Releases-153/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-153/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-153", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-153", + "SnapshotVariables": "/api/releases/Releases-153/snapshot-variables", + "Defects": "/api/releases/Releases-153/defects", + "ReportDefect": "/api/releases/Releases-153/defects", + "ResolveDefect": "/api/releases/Releases-153/defects/resolve" + } + }, + { + "Id": "Releases-152", + "Assembled": "2016-02-22T21:07:15.714+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.6", + "Links": { + "Self": "/api/releases/Releases-152{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-152/progression", + "Deployments": "/api/releases/Releases-152/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-152/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-152", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-152", + "SnapshotVariables": "/api/releases/Releases-152/snapshot-variables", + "Defects": "/api/releases/Releases-152/defects", + "ReportDefect": "/api/releases/Releases-152/defects", + "ResolveDefect": "/api/releases/Releases-152/defects/resolve" + } + }, + { + "Id": "Releases-151", + "Assembled": "2016-02-22T21:07:09.632+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.5", + "Links": { + "Self": "/api/releases/Releases-151{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-151/progression", + "Deployments": "/api/releases/Releases-151/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-151/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-151", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-151", + "SnapshotVariables": "/api/releases/Releases-151/snapshot-variables", + "Defects": "/api/releases/Releases-151/defects", + "ReportDefect": "/api/releases/Releases-151/defects", + "ResolveDefect": "/api/releases/Releases-151/defects/resolve" + } + }, + { + "Id": "Releases-150", + "Assembled": "2016-02-22T21:07:00.410+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.4", + "Links": { + "Self": "/api/releases/Releases-150{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-150/progression", + "Deployments": "/api/releases/Releases-150/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-150/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-150", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-150", + "SnapshotVariables": "/api/releases/Releases-150/snapshot-variables", + "Defects": "/api/releases/Releases-150/defects", + "ReportDefect": "/api/releases/Releases-150/defects", + "ResolveDefect": "/api/releases/Releases-150/defects/resolve" + } + }, + { + "Id": "Releases-149", + "Assembled": "2016-02-22T21:06:53.947+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.3", + "Links": { + "Self": "/api/releases/Releases-149{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-149/progression", + "Deployments": "/api/releases/Releases-149/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-149/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-149", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-149", + "SnapshotVariables": "/api/releases/Releases-149/snapshot-variables", + "Defects": "/api/releases/Releases-149/defects", + "ReportDefect": "/api/releases/Releases-149/defects", + "ResolveDefect": "/api/releases/Releases-149/defects/resolve" + } + }, + { + "Id": "Releases-148", + "Assembled": "2016-02-22T21:06:45.598+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-103", + "ChannelId": "Channels-103", + "ProjectVariableSetSnapshotId": "variableset-Projects-103-s-0-64MT3", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-103-s-1-6X8PU", + "SelectedPackages": [], + "Version": "0.0.2", + "Links": { + "Self": "/api/releases/Releases-148{?force}", + "Project": "/api/projects/Projects-103", + "Progression": "/api/releases/Releases-148/progression", + "Deployments": "/api/releases/Releases-148/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-148/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-148", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-103-s-0-64MT3", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-103-s-1-6X8PU", + "Web": "/app#/releases/Releases-148", + "SnapshotVariables": "/api/releases/Releases-148/snapshot-variables", + "Defects": "/api/releases/Releases-148/defects", + "ReportDefect": "/api/releases/Releases-148/defects", + "ResolveDefect": "/api/releases/Releases-148/defects/resolve" + } + } + ], + "Links": { + "Self": "/api/projects/Projects-103/releases", + "Template": "/api/projects/Projects-103/releases", + "Page.Next": "/api/projects/Projects-103/releases?skip=30", + "Page.Current": "/api/projects/Projects-103/releases?skip=0", + "Page.0": "/api/projects/Projects-103/releases?skip=0", + "Page.1": "/api/projects/Projects-103/releases?skip=30" + } +} diff --git a/octopus-build-trigger-server/src/test/resources/responses/3.3.0/api/projects/Projects-28/releases.json b/octopus-build-trigger-server/src/test/resources/responses/3.3.0/api/projects/Projects-28/releases.json new file mode 100644 index 0000000..4b6502f --- /dev/null +++ b/octopus-build-trigger-server/src/test/resources/responses/3.3.0/api/projects/Projects-28/releases.json @@ -0,0 +1,68 @@ +{ + "ItemType": "Release", + "IsStale": false, + "TotalResults": 2, + "ItemsPerPage": 30, + "Items": [ + { + "Id": "Releases-70", + "Assembled": "2016-01-21T14:26:10.732+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-28", + "ChannelId": "Channels-28", + "ProjectVariableSetSnapshotId": "variableset-Projects-28-s-0-4NHSR", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-28-s-1-N56TF", + "SelectedPackages": [], + "Version": "0.0.2", + "Links": { + "Self": "/api/releases/Releases-70{?force}", + "Project": "/api/projects/Projects-28", + "Progression": "/api/releases/Releases-70/progression", + "Deployments": "/api/releases/Releases-70/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-70/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-70", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-28-s-0-4NHSR", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-28-s-1-N56TF", + "Web": "/app#/releases/Releases-70", + "SnapshotVariables": "/api/releases/Releases-70/snapshot-variables", + "Defects": "/api/releases/Releases-70/defects", + "ReportDefect": "/api/releases/Releases-70/defects", + "ResolveDefect": "/api/releases/Releases-70/defects/resolve" + } + }, + { + "Id": "Releases-69", + "Assembled": "2016-01-21T14:25:36.888+00:00", + "ReleaseNotes": null, + "ProjectId": "Projects-28", + "ChannelId": "Channels-28", + "ProjectVariableSetSnapshotId": "variableset-Projects-28-s-0-4NHSR", + "LibraryVariableSetSnapshotIds": [], + "ProjectDeploymentProcessSnapshotId": "deploymentprocess-Projects-28-s-0-53ULV", + "SelectedPackages": [], + "Version": "0.0.1", + "Links": { + "Self": "/api/releases/Releases-69{?force}", + "Project": "/api/projects/Projects-28", + "Progression": "/api/releases/Releases-69/progression", + "Deployments": "/api/releases/Releases-69/deployments{?skip}", + "DeploymentTemplate": "/api/releases/Releases-69/deployments/template", + "Artifacts": "/api/artifacts?regarding=Releases-69", + "ProjectVariableSnapshot": "/api/variables/variableset-Projects-28-s-0-4NHSR", + "ProjectDeploymentProcessSnapshot": "/api/deploymentprocesses/deploymentprocess-Projects-28-s-0-53ULV", + "Web": "/app#/releases/Releases-69", + "SnapshotVariables": "/api/releases/Releases-69/snapshot-variables", + "Defects": "/api/releases/Releases-69/defects", + "ReportDefect": "/api/releases/Releases-69/defects", + "ResolveDefect": "/api/releases/Releases-69/defects/resolve" + } + } + ], + "Links": { + "Self": "/api/projects/Projects-28/releases", + "Template": "/api/projects/Projects-28/releases", + "Page.Current": "/api/projects/Projects-28/releases?skip=0", + "Page.0": "/api/projects/Projects-28/releases?skip=0" + } +}