Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/main/java/org/gitlab4j/api/ProjectApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -2075,6 +2075,7 @@ public ProjectHook addHook(Object projectIdOrPath, String url, ProjectHook enabl
.withParam("repository_update_events", enabledHooks.getRepositoryUpdateEvents(), false)
.withParam("deployment_events", enabledHooks.getDeploymentEvents(), false)
.withParam("releases_events", enabledHooks.getReleasesEvents(), false)
.withParam("deployment_events", enabledHooks.getDeploymentEvents(), false)
.withParam("token", secretToken, false);
Response response = post(Response.Status.CREATED, formData, "projects", getProjectIdOrPath(projectIdOrPath), "hooks");
return (response.readEntity(ProjectHook.class));
Expand Down Expand Up @@ -2146,14 +2147,20 @@ public ProjectHook modifyHook(ProjectHook hook) throws GitLabApiException {
GitLabApiForm formData = new GitLabApiForm()
.withParam("url", hook.getUrl(), true)
.withParam("push_events", hook.getPushEvents(), false)
.withParam("push_events_branch_filter", hook.getPushEventsBranchFilter(), false)
.withParam("issues_events", hook.getIssuesEvents(), false)
.withParam("confidential_issues_events", hook.getConfidentialIssuesEvents(), false)
.withParam("merge_requests_events", hook.getMergeRequestsEvents(), false)
.withParam("tag_push_events", hook.getTagPushEvents(), false)
.withParam("note_events", hook.getNoteEvents(), false)
.withParam("confidential_note_events", hook.getConfidentialNoteEvents(), false)
.withParam("job_events", hook.getJobEvents(), false)
.withParam("pipeline_events", hook.getPipelineEvents(), false)
.withParam("wiki_page_events", hook.getWikiPageEvents(), false)
.withParam("enable_ssl_verification", hook.getEnableSslVerification(), false)
.withParam("repository_update_events", hook.getRepositoryUpdateEvents(), false)
.withParam("releases_events", hook.getReleasesEvents(), false)
.withParam("deployment_events", hook.getDeploymentEvents(), false)
.withParam("token", hook.getToken(), false);

Response response = put(Response.Status.OK, formData.asMap(), "projects", hook.getProjectId(), "hooks", hook.getId());
Expand Down
124 changes: 124 additions & 0 deletions src/main/java/org/gitlab4j/api/webhook/DeploymentEvent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
package org.gitlab4j.api.webhook;

import org.gitlab4j.api.models.User;
import org.gitlab4j.api.utils.JacksonJson;

public class DeploymentEvent extends AbstractEvent {

public static final String X_GITLAB_EVENT = "Deployment Hook";
public static final String OBJECT_KIND = "deployment";

private String status;
private String statusChangedAt;
private Integer deployableId;
private String deployableUrl;
private String environment;
private EventProject project;
private String shortSha;
private User user;
private String userUrl;
private String commitUrl;
private String commitTitle;

public String getObjectKind() {
return (OBJECT_KIND);
}

public void setObjectKind(String objectKind) {
if (!OBJECT_KIND.equals(objectKind))
throw new RuntimeException("Invalid object_kind (" + objectKind + "), must be '" + OBJECT_KIND + "'");
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getStatusChangedAt() {
return statusChangedAt;
}

public void setStatusChangedAt(String statusChangedAt) {
this.statusChangedAt = statusChangedAt;
}

public Integer getDeployableId() {
return deployableId;
}

public void setDeployableId(Integer deployableId) {
this.deployableId = deployableId;
}

public String getDeployableUrl() {
return deployableUrl;
}

public void setDeployableUrl(String deployableUrl) {
this.deployableUrl = deployableUrl;
}

public String getEnvironment() {
return environment;
}

public void setEnvironment(String environment) {
this.environment = environment;
}

public EventProject getProject() {
return project;
}

public void setProject(EventProject project) {
this.project = project;
}

public String getShortSha() {
return shortSha;
}

public void setShortSha(String shortSha) {
this.shortSha = shortSha;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public String getUserUrl() {
return userUrl;
}

public void setUserUrl(String userUrl) {
this.userUrl = userUrl;
}

public String getCommitUrl() {
return commitUrl;
}

public void setCommitUrl(String commitUrl) {
this.commitUrl = commitUrl;
}

public String getCommitTitle() {
return commitTitle;
}

public void setCommitTitle(String commitTitle) {
this.commitTitle = commitTitle;
}

@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
4 changes: 3 additions & 1 deletion src/main/java/org/gitlab4j/api/webhook/Event.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
@JsonSubTypes.Type(value = PipelineEvent.class, name = PipelineEvent.OBJECT_KIND),
@JsonSubTypes.Type(value = PushEvent.class, name = PushEvent.OBJECT_KIND),
@JsonSubTypes.Type(value = TagPushEvent.class, name = TagPushEvent.OBJECT_KIND),
@JsonSubTypes.Type(value = WikiPageEvent.class, name = WikiPageEvent.OBJECT_KIND)
@JsonSubTypes.Type(value = WikiPageEvent.class, name = WikiPageEvent.OBJECT_KIND),
@JsonSubTypes.Type(value = DeploymentEvent.class, name = DeploymentEvent.OBJECT_KIND),
@JsonSubTypes.Type(value = ReleaseEvent.class, name = ReleaseEvent.OBJECT_KIND)
})
public interface Event {
String getObjectKind();
Expand Down
41 changes: 41 additions & 0 deletions src/main/java/org/gitlab4j/api/webhook/EventReleaseAssets.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package org.gitlab4j.api.webhook;

import org.gitlab4j.api.utils.JacksonJson;

import java.util.List;

public class EventReleaseAssets {

private Integer count;
private List<EventReleaseLink> links;
private List<EventReleaseSource> sources;

public Integer getCount() {
return count;
}

public void setCount(Integer count) {
this.count = count;
}

public List<EventReleaseLink> getLinks() {
return links;
}

public void setLinks(List<EventReleaseLink> links) {
this.links = links;
}

public List<EventReleaseSource> getSources() {
return sources;
}

public void setSources(List<EventReleaseSource> sources) {
this.sources = sources;
}

@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
56 changes: 56 additions & 0 deletions src/main/java/org/gitlab4j/api/webhook/EventReleaseLink.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package org.gitlab4j.api.webhook;

import org.gitlab4j.api.utils.JacksonJson;

public class EventReleaseLink {
private Integer id;
private Boolean external;
private String linkType;
private String name;
private String url;

public Integer getId() {
return id;
}

public void setId(final Integer id) {
this.id = id;
}

public Boolean getExternal() {
return external;
}

public void setExternal(final Boolean external) {
this.external = external;
}

public String getLinkType() {
return linkType;
}

public void setLinkType(final String linkType) {
this.linkType = linkType;
}

public String getName() {
return name;
}

public void setName(final String name) {
this.name = name;
}

public String getUrl() {
return url;
}

public void setUrl(final String url) {
this.url = url;
}

@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
29 changes: 29 additions & 0 deletions src/main/java/org/gitlab4j/api/webhook/EventReleaseSource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package org.gitlab4j.api.webhook;

import org.gitlab4j.api.utils.JacksonJson;

public class EventReleaseSource {
private String format;
private String url;

public String getFormat() {
return format;
}

public void setFormat(final String format) {
this.format = format;
}

public String getUrl() {
return url;
}

public void setUrl(final String url) {
this.url = url;
}

@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
Loading