Skip to content
Closed
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
28 changes: 18 additions & 10 deletions src/main/java/org/gitlab4j/api/ProjectApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -2064,6 +2064,8 @@ public ProjectHook addHook(Object projectIdOrPath, String url, ProjectHook enabl
.withParam("wiki_events", enabledHooks.getWikiPageEvents(), false)
.withParam("enable_ssl_verification", enableSslVerification, false)
.withParam("repository_update_events", enabledHooks.getRepositoryUpdateEvents(), 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 @@ -2133,16 +2135,22 @@ public void deleteHook(ProjectHook hook) throws GitLabApiException {
public ProjectHook modifyHook(ProjectHook hook) throws GitLabApiException {

GitLabApiForm formData = new GitLabApiForm()
.withParam("url", hook.getUrl(), true)
.withParam("push_events", hook.getPushEvents(), false)
.withParam("issues_events", hook.getIssuesEvents(), false)
.withParam("merge_requests_events", hook.getMergeRequestsEvents(), false)
.withParam("tag_push_events", hook.getTagPushEvents(), false)
.withParam("note_events", hook.getNoteEvents(), false)
.withParam("job_events", hook.getJobEvents(), false)
.withParam("pipeline_events", hook.getPipelineEvents(), false)
.withParam("wiki_events", hook.getWikiPageEvents(), false)
.withParam("enable_ssl_verification", hook.getEnableSslVerification(), false)
.withParam("url", hook.getUrl(), true)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you remove the formatting change here?

.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_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
42 changes: 35 additions & 7 deletions src/main/java/org/gitlab4j/api/models/ProjectHook.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@

package org.gitlab4j.api.models;

import java.util.Date;

import org.gitlab4j.api.utils.JacksonJson;

import java.util.Date;

public class ProjectHook {

private Boolean buildEvents;
private Date createdAt;
private Boolean enableSslVerification;
private Integer id;
private Boolean issuesEvents;
private Boolean deploymentEvents;
private Boolean releasesEvents;
private Boolean mergeRequestsEvents;
private Boolean noteEvents;
private Boolean jobEvents;
Expand Down Expand Up @@ -83,7 +85,7 @@ public Boolean getNoteEvents() {
public void setNoteEvents(Boolean noteEvents) {
this.noteEvents = noteEvents;
}

public Boolean getJobEvents() {
return jobEvents;
}
Expand Down Expand Up @@ -123,7 +125,7 @@ public Boolean getTagPushEvents() {
public void setTagPushEvents(Boolean tagPushEvents) {
this.tagPushEvents = tagPushEvents;
}

public String getToken() {
return token;
}
Expand Down Expand Up @@ -179,7 +181,23 @@ public String getPushEventsBranchFilter() {
public void setPushEventsBranchFilter(String pushEventsBranchFilter) {
this.pushEventsBranchFilter = pushEventsBranchFilter;
}


public Boolean getDeploymentEvents() {
return deploymentEvents;
}

public void setDeploymentEvents(Boolean deploymentEvents) {
this.deploymentEvents = deploymentEvents;
}

public Boolean getReleasesEvents() {
return releasesEvents;
}

public void setReleasesEvents(Boolean releasesEvents) {
this.releasesEvents = releasesEvents;
}

public ProjectHook withIssuesEvents(Boolean issuesEvents) {
this.issuesEvents = issuesEvents;
return (this);
Expand All @@ -194,7 +212,7 @@ public ProjectHook withNoteEvents(Boolean noteEvents) {
this.noteEvents = noteEvents;
return (this);
}

public ProjectHook withJobEvents(Boolean jobEvents) {
this.jobEvents = jobEvents;
return (this);
Expand Down Expand Up @@ -240,8 +258,18 @@ public ProjectHook withPushEventsBranchFilter(String pushEventsBranchFilter) {
return (this);
}

public ProjectHook withDeploymentEvents(Boolean deploymentEvents) {
this.deploymentEvents = deploymentEvents;
return (this);
}

public ProjectHook withReleasesEvents(Boolean releasesEvents) {
this.releasesEvents = releasesEvents;
return (this);
}

@Override
public String toString() {
return (JacksonJson.toJsonString(this));
}
}
}
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 JOB_HOOK_X_GITLAB_EVENT = "Deployment Hook";
public static final String OBJECT_KIND = "deployment";

private String status;
private String statusChanged_at;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure the name is correct. Should be 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 getStatusChanged_at() {
return statusChanged_at;
}

public void setStatusChanged_at(String statusChanged_at) {
this.statusChanged_at = statusChanged_at;
}
Comment on lines +40 to +46
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget to update getter and setter here.


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));
}
}
Loading