diff --git a/src/main/java/org/gitlab4j/api/EnvironmentsApi.java b/src/main/java/org/gitlab4j/api/EnvironmentsApi.java index 6eca51277f1413b31597a15a4097bb65d7a607aa..2816f18aed59597f047d5e10bd0969d53cb9703a 100644 --- a/src/main/java/org/gitlab4j/api/EnvironmentsApi.java +++ b/src/main/java/org/gitlab4j/api/EnvironmentsApi.java @@ -102,9 +102,27 @@ public class EnvironmentsApi extends AbstractApi { * @param externalUrl the place to link to for this environment * @return the created Environment instance * @throws GitLabApiException if any exception occurs + * @deprecated use {@link #createEnvironment(Object, String, String, String)} instead */ + @Deprecated public Environment createEnvironment(Object projectIdOrPath, String name, String externalUrl) throws GitLabApiException { - GitLabApiForm formData = new GitLabApiForm().withParam("name", name, true).withParam("external_url", externalUrl); + return createEnvironment(projectIdOrPath, name, externalUrl, null); + } + + /** + * Create a new environment with the given name, external_url and tier. + * + *
GitLab Endpoint:POST /projects/:id/environments
+ *
+ * @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
+ * @param name the name of the environment
+ * @param externalUrl the place to link to for this environment
+ * @param tier the tier of the environment
+ * @return the created Environment instance
+ * @throws GitLabApiException if any exception occurs
+ */
+ public Environment createEnvironment(Object projectIdOrPath, String name, String externalUrl, String tier) throws GitLabApiException {
+ GitLabApiForm formData = new GitLabApiForm().withParam("name", name, true).withParam("external_url", externalUrl).withParam("tier", tier);
Response response = post(Response.Status.CREATED, formData,
"projects", getProjectIdOrPath(projectIdOrPath), "environments");
return (response.readEntity(Environment.class));
@@ -121,9 +139,28 @@ public class EnvironmentsApi extends AbstractApi {
* @param externalUrl the place to link to for this environment
* @return the created Environment instance
* @throws GitLabApiException if any exception occurs
+ * @deprecated use {@link #updateEnvironment(Object, Long, String, String, String)} instead
*/
+ @Deprecated
public Environment updateEnvironment(Object projectIdOrPath, Long environmentId, String name, String externalUrl) throws GitLabApiException {
- GitLabApiForm formData = new GitLabApiForm().withParam("name", name).withParam("external_url", externalUrl);
+ return updateEnvironment(projectIdOrPath, environmentId, name, externalUrl, null);
+ }
+
+ /**
+ * Update an existing environment.
+ *
+ * GitLab Endpoint:POST /projects/:id/environments
+ *
+ * @param projectIdOrPath id, path of the project, or a Project instance holding the project ID or path
+ * @param environmentId the ID of the environment to update
+ * @param name the name of the environment
+ * @param externalUrl the place to link to for this environment
+ * @param tier the tier of the environment
+ * @return the created Environment instance
+ * @throws GitLabApiException if any exception occurs
+ */
+ public Environment updateEnvironment(Object projectIdOrPath, Long environmentId, String name, String externalUrl, String tier) throws GitLabApiException {
+ GitLabApiForm formData = new GitLabApiForm().withParam("name", name).withParam("external_url", externalUrl).withParam("tier", tier);
Response response = putWithFormData(Response.Status.OK, formData, formData,
"projects", getProjectIdOrPath(projectIdOrPath), "environments", environmentId);
return (response.readEntity(Environment.class));
@@ -175,4 +212,4 @@ public class EnvironmentsApi extends AbstractApi {
"projects", getProjectIdOrPath(projectIdOrPath), "environments", environmentId, "stop");
return (response.readEntity(Environment.class));
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/org/gitlab4j/api/models/Environment.java b/src/main/java/org/gitlab4j/api/models/Environment.java
index 1a2ecb59655c7dfd663583e3f86766d56d4253dc..74a2985747bf8a3ef537a2d78091a2eb56ea2284 100644
--- a/src/main/java/org/gitlab4j/api/models/Environment.java
+++ b/src/main/java/org/gitlab4j/api/models/Environment.java
@@ -35,6 +35,7 @@ public class Environment implements Serializable {
private String name;
private String slug;
private String externalUrl;
+ private String tier;
private EnvironmentState state;
private Deployment lastDeployment;
@@ -70,6 +71,14 @@ public class Environment implements Serializable {
this.externalUrl = externalUrl;
}
+ public String getTier() {
+ return tier;
+ }
+
+ public void setTier(String tier) {
+ this.tier = tier;
+ }
+
public EnvironmentState getState() {
return state;
}
diff --git a/src/test/java/org/gitlab4j/api/TestEnvironmentsApi.java b/src/test/java/org/gitlab4j/api/TestEnvironmentsApi.java
index f94eb1921e4afc4c25efa4cdda72fba66553c2e4..a142eb02d7dadb4f41bdb7d4c5ba825cdab9d2be 100644
--- a/src/test/java/org/gitlab4j/api/TestEnvironmentsApi.java
+++ b/src/test/java/org/gitlab4j/api/TestEnvironmentsApi.java
@@ -38,6 +38,7 @@ public class TestEnvironmentsApi extends AbstractIntegrationTest {
private static final String ENVIRONMENT_NAME = "gitlab4j-testing";
private static final String EXTERNAL_URL = "https:/testing.example.com/";
+ private static final String TIER = "testing";
private static Random randomNumberGenerator = new Random();
public TestEnvironmentsApi() {
@@ -94,7 +95,7 @@ public class TestEnvironmentsApi extends AbstractIntegrationTest {
public void testGetEnvironments() throws GitLabApiException {
final Environment env = gitLabApi.getEnvironmentsApi().createEnvironment(
- testProject, getUniqueName(), EXTERNAL_URL);
+ testProject, getUniqueName(), EXTERNAL_URL, TIER);
List