Commit d3508619 authored by Alex's avatar Alex Committed by Greg Messner
Browse files

Get project users (#87)

* Get project users (not members)
https://docs.gitlab.com/ce/api/projects.html#get-project-users

* Removed wildcard imports
parent 56306fcf
......@@ -23,23 +23,23 @@
package org.gitlab4j.api;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.Response;
import org.gitlab4j.api.GitLabApi.ApiVersion;
import org.gitlab4j.api.models.Event;
import org.gitlab4j.api.models.Issue;
import org.gitlab4j.api.models.Member;
import org.gitlab4j.api.models.Project;
import org.gitlab4j.api.models.ProjectHook;
import org.gitlab4j.api.models.ProjectUser;
import org.gitlab4j.api.models.Snippet;
import org.gitlab4j.api.models.Visibility;
import javax.ws.rs.core.Form;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.Response;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;
/**
* This class provides an entry point to all the GitLab API project calls.
*/
......@@ -112,8 +112,8 @@ public class ProjectApi extends AbstractApi implements Constants {
* Constants.ProjectOrderBy, Constants.SortOrder, String, Boolean, Boolean, Boolean, Boolean, Boolean)}
*/
public List<Project> getProjects(Boolean archived, Visibility visibility, String orderBy,
String sort, String search, Boolean simple, Boolean owned, Boolean membership,
Boolean starred, Boolean statistics) throws GitLabApiException {
String sort, String search, Boolean simple, Boolean owned, Boolean membership,
Boolean starred, Boolean statistics) throws GitLabApiException {
GitLabApiForm formData = new GitLabApiForm()
.withParam("archived", archived)
......@@ -921,6 +921,17 @@ public class ProjectApi extends AbstractApi implements Constants {
delete(expectedStatus, null, "projects", projectId, "members", userId);
}
/**
* Get a list of project users. This list includes all project members and all users assigned to project parent groups.
* @param projectId the project ID to get users for
* @return the users belonging to the specified project and its parent groups
* @throws GitLabApiException
*/
public List<ProjectUser> getProjectUsers(Integer projectId) throws GitLabApiException {
Response response = get(Response.Status.OK, this.getDefaultPerPageParam(), "projects", projectId, "users");
return (response.readEntity(new GenericType<List<ProjectUser>>() {}));
}
/**
* Get the project events for specific project. Sorted from newest to latest.
*
......
package org.gitlab4j.api.models;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ProjectUser {
private Integer id;
private String username;
private String name;
private String state;
private String avatarUrl;
private String webUrl;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getAvatarUrl() {
return avatarUrl;
}
public void setAvatarUrl(String avatarUrl) {
this.avatarUrl = avatarUrl;
}
public String getWebUrl() {
return webUrl;
}
public void setWebUrl(String webUrl) {
this.webUrl = webUrl;
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment