Skip to content

Commit

Permalink
add labels when creating deployment event
Browse files Browse the repository at this point in the history
  • Loading branch information
amendelsohn committed Jul 24, 2019
1 parent 2e0492c commit 4f1862b
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
import com.mabl.integration.jenkins.domain.GetLabelsResult;

import java.io.IOException;
import java.util.List;

public interface MablRestApiClient {

CreateDeploymentResult createDeploymentEvent(
String environmentId,
String applicationId,
List<String> labels,
CreateDeploymentProperties properties
) throws IOException, MablSystemError;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@

import java.io.IOException;
import java.nio.charset.Charset;
import java.util.List;
import java.util.concurrent.TimeUnit;

import javax.net.ssl.SSLContext;
Expand Down Expand Up @@ -161,12 +162,13 @@ private Header getBasicAuthHeader(
public CreateDeploymentResult createDeploymentEvent(
final String environmentId,
final String applicationId,
final List<String> labels,
final CreateDeploymentProperties properties
) throws IOException, MablSystemError {
final String url = restApiBaseUrl + DEPLOYMENT_TRIGGER_ENDPOINT; // TODO validate inputs so we can't have illegal urls

// TODO do sanity check of parameters, so we can catch the encoding exception
final String jsonPayload = objectMapper.writeValueAsString(new CreateDeploymentPayload(environmentId, applicationId, properties));
final String jsonPayload = objectMapper.writeValueAsString(new CreateDeploymentPayload(environmentId, applicationId, labels, properties));
final AbstractHttpEntity payloadEntity = new ByteArrayEntity(jsonPayload.getBytes("UTF-8"));

final HttpPost request = new HttpPost(url);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class MablStepConstants {
public static final String FORM_API_KEY_LABEL = "API Key";
public static final String FORM_ENVIRONMENT_ID_LABEL = "Application ID";
public static final String FORM_APPLICATION_ID_LABEL = "Environment ID";

public static final String FORM_LABEL_LABEL = "Labels";

/**
* Dynamically grab the plugin version, so we can't forget to update it on release.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public class MablStepDeploymentRunner implements Callable<Boolean> {

private final String environmentId;
private final String applicationId;
private final List<String> labels;
private final boolean continueOnPlanFailure;
private final boolean continueOnMablError;
private final boolean collectVars;
Expand All @@ -68,7 +69,7 @@ public MablStepDeploymentRunner(
final long pollingIntervalMilliseconds,
final String environmentId,
final String applicationId,
List<String> labels,
final List<String> labels,
final boolean continueOnPlanFailure,
final boolean continueOnMablError,
final boolean collectVars,
Expand All @@ -81,6 +82,7 @@ public MablStepDeploymentRunner(
this.pollingIntervalMilliseconds = pollingIntervalMilliseconds;
this.environmentId = environmentId;
this.applicationId = applicationId;
this.labels = labels;
this.continueOnPlanFailure = continueOnPlanFailure;
this.continueOnMablError = continueOnMablError;
this.collectVars = collectVars;
Expand Down Expand Up @@ -116,9 +118,10 @@ public Boolean call() {
private void execute() throws MablSystemError, MablPlanExecutionFailure {
// TODO descriptive error messages on 401/403
// TODO retry on 50x errors (proxy, redeploy)
outputStream.printf("mabl is creating a deployment event:%n environment_id: [%s]%n application_id: [%s]%n",
outputStream.printf("mabl is creating a deployment event:%n environment_id: [%s]%n application_id: [%s]%n labels: [%s]%n",
environmentId == null ? "empty" : environmentId,
applicationId == null ? "empty" : applicationId
applicationId == null ? "empty" : applicationId,
labels == null ? "empty" : String.join(", ", labels)
);

try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package com.mabl.integration.jenkins.domain;

import java.util.List;

public class CreateDeploymentPayload {
final String environmentId;
final String applicationId;
final List<String> labels;
final CreateDeploymentProperties properties;

public CreateDeploymentPayload(String environmentId, String applicationId, CreateDeploymentProperties properties) {
public CreateDeploymentPayload(String environmentId, String applicationId, List<String> labels, CreateDeploymentProperties properties) {
this.environmentId = environmentId;
this.applicationId = applicationId;
this.labels = labels;
this.properties = properties;
}
}

0 comments on commit 4f1862b

Please sign in to comment.