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
65 changes: 65 additions & 0 deletions GenerateGitlabClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,10 @@ public static Config createConfig(Schema schema) {
.addIncludeName("EpicListConnection") //
.addIncludeName("EpicList") //
.addIncludeName("CurrentUser") //
.addIncludeName("MergeRequest") //
.addIncludeName("MergeRequestAuthor") //
.addIncludeName("MergeRequestReviewerConnection") //
.addIncludeName("MergeRequestReviewer") //
// --- ADDITIONAL TYPES ---
.addIncludeName("WorkItemRef") //
.addIncludeName("WorkItemConnectionRef") //
Expand Down Expand Up @@ -477,6 +481,19 @@ public static Config createConfig(Schema schema) {
.setFieldName("todoMarkDone")
.setJavaMethodName("todoMarkDone") //
)
.addHint(new FieldHint()
.setTypeKind(Kind.OBJECT)
.setTypeName(SchemaUtil.getQueryType(schema)
.getName())
.setFieldName("mergeRequest")
.setJavaMethodName("getMergeRequest")
.addNestedParameter(new NestedParameter()
.setGraphQlNestedParameterPath("notes")
.setGraphQlName("filter")
.setParameterType("{ModelPackageName}.NotesFilterType") //
.setParameterName("filter") //
) //
)
.addFilter(typesFilter)//
.addFilter(new TypesFilter()
.setTypeKind(Kind.SCALAR)
Expand All @@ -494,6 +511,7 @@ public static Config createConfig(Schema schema) {
.addIncludeName("DiscussionID") //
.addIncludeName("NoteableID") //
.addIncludeName("MilestoneID") //
.addIncludeName("MergeRequestID") //
.addIncludeName("NoteID") //
.addIncludeName("TodoID") //
.addIncludeName("WorkItemID") //
Expand All @@ -504,6 +522,7 @@ public static Config createConfig(Schema schema) {
.setTypeKind(Kind.INTERFACE)
// .addIncludeName("User") //
.addIncludeName("Todoable") //
// .addIncludeName("NoteableInterface") //
// .addIncludeName("TimeboxReportInterface") //
// .addIncludeName("CurrentUserTodos") //
// .addIncludeName("WorkItemWidgetDefinition") //
Expand All @@ -524,6 +543,8 @@ public static Config createConfig(Schema schema) {
.addIncludeName("TodoActionEnum") //
.addIncludeName("TodoStateEnum") //
.addIncludeName("TodoTargetEnum") //
.addIncludeName("MergeRequestState") //
.addIncludeName("UserType") //
// ---- MUTATION objects ----
.addIncludeName("WorkItemStateEvent") //
.addIncludeName("RelativePositionType") //
Expand All @@ -541,6 +562,7 @@ public static Config createConfig(Schema schema) {
.addIncludeName("boardList") //
.addIncludeName("epicBoardList") //
.addIncludeName("currentUser") //
.addIncludeName("mergeRequest") //
) //
.addFilter(new ArgsFilter()
.setTypeKind(Kind.OBJECT)
Expand Down Expand Up @@ -592,6 +614,13 @@ public static Config createConfig(Schema schema) {
.setFieldName("epicBoardList") //
.addIncludeName("id") //
) //
.addFilter(new ArgsFilter()
.setTypeKind(Kind.OBJECT)
.setTypeName(schema.getQueryType()
.getName())
.setFieldName("mergeRequest") //
.addIncludeName("id") //
) //
.addFilter(new FieldsFilter()
.setTypeKind(Kind.OBJECT)
.setTypeName("WorkItemConnection")
Expand Down Expand Up @@ -1680,6 +1709,42 @@ public static Config createConfig(Schema schema) {
.addIncludeName("clientMutationId") //
.addIncludeName("todo") //
) //
.addFilter(new FieldsFilter()
.setTypeKind(Kind.OBJECT)
.setTypeName("MergeRequest") //
.addIncludeName("id") //
.addIncludeName("title") //
.addIncludeName("webUrl") //
.addIncludeName("labels") //
.addIncludeName("author") //
.addIncludeName("description") //
.addIncludeName("state") //
.addIncludeName("sourceBranch") //
.addIncludeName("targetBranch") //
.addIncludeName("draft") //
.addIncludeName("reviewers") //
.addIncludeName("approvedBy") //
.addIncludeName("notes") //
) //
.addFilter(new FieldsFilter()
.setTypeKind(Kind.OBJECT)
.setTypeName("MergeRequestAuthor") //
.addIncludeName("id") //
.addIncludeName("username") //
.addIncludeName("type") //
) //
.addFilter(new FieldsFilter()
.setTypeKind(Kind.OBJECT)
.setTypeName("MergeRequestReviewerConnection") //
.addIncludeName("nodes") //
) //
.addFilter(new FieldsFilter()
.setTypeKind(Kind.OBJECT)
.setTypeName("MergeRequestReviewer") //
.addIncludeName("id") //
.addIncludeName("username") //
.addIncludeName("type") //
) //
.addFilter(new InputFieldsFilter()
.setTypeKind(Kind.INPUT_OBJECT)
.setTypeName("WorkItemWidgetAssigneesInput")
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/graphql/gitlab/api/WorkitemClientApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@
import graphql.gitlab.model.GroupContainingSingleEpicBoard;
import graphql.gitlab.model.GroupContainingSingleIssueBoard;
import graphql.gitlab.model.ListID;
import graphql.gitlab.model.MergeRequest;
import graphql.gitlab.model.MergeRequestID;
import graphql.gitlab.model.Namespace;
import graphql.gitlab.model.NotesFilterType;
import graphql.gitlab.model.Project;
Expand Down Expand Up @@ -112,6 +114,12 @@ public interface WorkitemClientApi {
@Query("group")
GroupContainingEpicBoards getEpicBoardsInGroup(@Name("fullPath") @NonNull @Id String fullPath);

/**
* Find a merge request.
*/
@Query("mergeRequest")
MergeRequest getMergeRequest(@Name("id") @NonNull MergeRequestID id, @NestedParameter("notes") @Name("filter") NotesFilterType filter);

/**
* Find a namespace.
*/
Expand Down
214 changes: 214 additions & 0 deletions src/main/java/graphql/gitlab/model/MergeRequest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
package graphql.gitlab.model;

import java.util.Objects;

import org.eclipse.microprofile.graphql.Name;

@Name("MergeRequest")
public class MergeRequest implements Todoable {

/**
* Users who approved the merge request.
*/
private UserCoreConnection approvedBy;

/**
* User who created the merge request.
*/
private MergeRequestAuthor author;

/**
* Description of the merge request (Markdown rendered as HTML for caching).
*/
private String description;

/**
* Indicates if the merge request is a draft.
*/
private Boolean draft;

/**
* ID of the merge request.
*/
private String id;

/**
* Labels of the merge request.
*/
private LabelConnection labels;

/**
* All notes on this noteable.
*/
private NoteConnection notes;

/**
* Users from whom a review has been requested.
*/
private MergeRequestReviewerConnection reviewers;

/**
* Source branch of the merge request.
*/
private String sourceBranch;

/**
* State of the merge request.
*/
private MergeRequestState state;

/**
* Target branch of the merge request.
*/
private String targetBranch;

/**
* Title of the merge request.
*/
private String title;

/**
* Web URL of the merge request.
*/
private String webUrl;

public UserCoreConnection getApprovedBy() {
return approvedBy;
}

public MergeRequest setApprovedBy(UserCoreConnection approvedBy) {
this.approvedBy = approvedBy;
return this;
}

public MergeRequestAuthor getAuthor() {
return author;
}

public MergeRequest setAuthor(MergeRequestAuthor author) {
this.author = author;
return this;
}

public String getDescription() {
return description;
}

public MergeRequest setDescription(String description) {
this.description = description;
return this;
}

public Boolean getDraft() {
return draft;
}

public MergeRequest setDraft(Boolean draft) {
this.draft = draft;
return this;
}

public String getId() {
return id;
}

public MergeRequest setId(String id) {
this.id = id;
return this;
}

public LabelConnection getLabels() {
return labels;
}

public MergeRequest setLabels(LabelConnection labels) {
this.labels = labels;
return this;
}

public NoteConnection getNotes() {
return notes;
}

public MergeRequest setNotes(NoteConnection notes) {
this.notes = notes;
return this;
}

public MergeRequestReviewerConnection getReviewers() {
return reviewers;
}

public MergeRequest setReviewers(MergeRequestReviewerConnection reviewers) {
this.reviewers = reviewers;
return this;
}

public String getSourceBranch() {
return sourceBranch;
}

public MergeRequest setSourceBranch(String sourceBranch) {
this.sourceBranch = sourceBranch;
return this;
}

public MergeRequestState getState() {
return state;
}

public MergeRequest setState(MergeRequestState state) {
this.state = state;
return this;
}

public String getTargetBranch() {
return targetBranch;
}

public MergeRequest setTargetBranch(String targetBranch) {
this.targetBranch = targetBranch;
return this;
}

public String getTitle() {
return title;
}

public MergeRequest setTitle(String title) {
this.title = title;
return this;
}

public String getWebUrl() {
return webUrl;
}

public MergeRequest setWebUrl(String webUrl) {
this.webUrl = webUrl;
return this;
}

@Override
public int hashCode() {
return Objects.hash(approvedBy, author, description, draft, id, labels, notes, reviewers, sourceBranch, state, targetBranch, title, webUrl);
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
MergeRequest other = (MergeRequest) obj;
return Objects.equals(approvedBy, other.approvedBy) && Objects.equals(author, other.author) && Objects.equals(description, other.description) && Objects.equals(draft, other.draft) && Objects.equals(id, other.id) && Objects.equals(labels, other.labels) && Objects.equals(notes, other.notes) && Objects.equals(reviewers, other.reviewers) && Objects.equals(sourceBranch, other.sourceBranch) && Objects.equals(state, other.state) && Objects.equals(targetBranch, other.targetBranch) && Objects.equals(title, other.title) && Objects.equals(webUrl, other.webUrl);
}

@Override
public String toString() {
return "MergeRequest [approvedBy=" + approvedBy + ", author=" + author + ", description=" + description + ", draft=" + draft + ", id=" + id + ", labels=" + labels + ", notes=" + notes + ", reviewers=" + reviewers + ", sourceBranch=" + sourceBranch + ", state=" + state + ", targetBranch=" + targetBranch + ", title=" + title + ", webUrl=" + webUrl + "]";
}

}
Loading