Skip to content

Commit 7214a95

Browse files
committed
accept callback_url
1 parent c4494e5 commit 7214a95

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

src/main/java/uk/ac/ebi/tsc/tesk/k8s/constant/Constants.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class Constants {
2525
* Key in JSON taskmaster input, which holds list of executors
2626
*/
2727
public static final String TASKMASTER_INPUT_EXEC_KEY = "executors";
28-
28+
2929
/**
3030
*
3131
*/
@@ -69,6 +69,11 @@ public class Constants {
6969
*/
7070
public static final String ANN_JSON_INPUT_KEY = "json-input";
7171

72+
/**
73+
* Key of the annotation, that stores the callback URL
74+
*/
75+
public static final String ANN_CALLBACK_URL_KEY = "callback_url";
76+
7277
/**
7378
* Key of the label, that stores taskmaster's name (==TES task generated ID) in executor jobs
7479
*/

src/main/java/uk/ac/ebi/tsc/tesk/k8s/convert/TesKubernetesConverter.java

+4
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ public V1Job fromTesTaskToK8sJob(TesTask task, User user) {
7575
V1Job taskMasterJob = this.taskmasterTemplateSupplier.get();
7676
//put input task name as annotation
7777
taskMasterJob.getMetadata().putAnnotationsItem(ANN_TESTASK_NAME_KEY, task.getName());
78+
// put callback URL as annotation
79+
if (task.getCallbackUrl() != null) {
80+
taskMasterJob.getMetadata().putAnnotationsItem(ANN_CALLBACK_URL_KEY, task.getCallbackUrl());
81+
}
7882
//creating user and owning group
7983
taskMasterJob.getMetadata().putLabelsItem(LABEL_USERID_KEY, user.getUsername());
8084
if (task.getTags() != null && task.getTags().containsKey("GROUP_NAME")) {

src/main/java/uk/ac/ebi/tsc/tesk/tes/model/TesTask.java

+26-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ public class TesTask {
3232
@JsonProperty("description")
3333
private String description;
3434

35+
@JsonProperty("callback_url")
36+
private String callbackUrl;
37+
3538
@JsonProperty("inputs")
3639
@Valid
3740
private List<TesInput> inputs = null;
@@ -144,6 +147,26 @@ public void setDescription(String description) {
144147
this.description = description;
145148
}
146149

150+
public TesTask callbackUrl(String callbackUrl) {
151+
this.callbackUrl = callbackUrl;
152+
return this;
153+
}
154+
155+
/**
156+
* Optional user-provided callback URL.
157+
* @return callbackUrl
158+
*/
159+
@ApiModelProperty(value = "Optional user-provided callback URL.")
160+
161+
162+
public String getCallbackUrl() {
163+
return callbackUrl;
164+
}
165+
166+
public void setCallbackUrl(String callbackUrl) {
167+
this.callbackUrl = callbackUrl;
168+
}
169+
147170
public TesTask inputs(List<TesInput> inputs) {
148171
this.inputs = inputs;
149172
return this;
@@ -372,6 +395,7 @@ public boolean equals(Object o) {
372395
Objects.equals(this.state, tesTask.state) &&
373396
Objects.equals(this.name, tesTask.name) &&
374397
Objects.equals(this.description, tesTask.description) &&
398+
Objects.equals(this.callbackUrl, tesTask.callbackUrl) &&
375399
Objects.equals(this.inputs, tesTask.inputs) &&
376400
Objects.equals(this.outputs, tesTask.outputs) &&
377401
Objects.equals(this.resources, tesTask.resources) &&
@@ -384,7 +408,7 @@ public boolean equals(Object o) {
384408

385409
@Override
386410
public int hashCode() {
387-
return Objects.hash(id, state, name, description, inputs, outputs, resources, executors, volumes, tags, logs, creationTime);
411+
return Objects.hash(id, state, name, description, callbackUrl, inputs, outputs, resources, executors, volumes, tags, logs, creationTime);
388412
}
389413

390414
@Override
@@ -396,6 +420,7 @@ public String toString() {
396420
sb.append(" state: ").append(toIndentedString(state)).append("\n");
397421
sb.append(" name: ").append(toIndentedString(name)).append("\n");
398422
sb.append(" description: ").append(toIndentedString(description)).append("\n");
423+
sb.append(" callbackUrl: ").append(toIndentedString(callbackUrl)).append("\n");
399424
sb.append(" inputs: ").append(toIndentedString(inputs)).append("\n");
400425
sb.append(" outputs: ").append(toIndentedString(outputs)).append("\n");
401426
sb.append(" resources: ").append(toIndentedString(resources)).append("\n");

0 commit comments

Comments
 (0)