Package org.kohsuke.github
Class GHIssue
- java.lang.Object
-
- org.kohsuke.github.GHObject
-
- org.kohsuke.github.GHIssue
-
- All Implemented Interfaces:
Reactable
- Direct Known Subclasses:
GHPullRequest
public class GHIssue extends GHObject implements Reactable
Represents an issue on GitHub.- Author:
- Eric Maupin, Kohsuke Kawaguchi
- See Also:
GHRepository#getIssue(int),GitHub#searchIssues(),GHIssueSearchBuilder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGHIssue.PullRequestThe type PullRequest.
-
Field Summary
Fields Modifier and Type Field Description protected GHUserassigneeprotected GHUser[]assigneesprotected Stringbodyprotected Stringclosed_atprotected GHUserclosed_byprotected intcommentsprotected Stringhtml_urlprotected List<GHLabel>labelsprotected booleanlockedprotected GHMilestonemilestoneprotected intnumberprotected GHIssue.PullRequestpull_requestprotected Stringstateprotected Stringtitleprotected GHUseruser-
Fields inherited from class org.kohsuke.github.GHObject
responseHeaderFields
-
-
Constructor Summary
Constructors Constructor Description GHIssue()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddAssignees(Collection<GHUser> assignees)Add assignees.voidaddAssignees(GHUser... assignees)Add assignees.voidaddLabels(String... names)Adds labels to the issue.voidaddLabels(Collection<GHLabel> labels)Add labels.voidaddLabels(GHLabel... labels)Add labels.voidassignTo(GHUser user)Assign to.voidclose()Closes this issue.GHIssueCommentcomment(String message)Updates the issue by adding a comment.GHReactioncreateReaction(ReactionContent content)Deprecated.protected StringgetApiRoute()Gets api route.URLgetApiURL()Deprecated.GHUsergetAssignee()Gets assignee.List<GHUser>getAssignees()Gets assignees.StringgetBody()The description of this pull request.DategetClosedAt()Gets closed at.GHUsergetClosedBy()Reports who has closed the issue.List<GHIssueComment>getComments()Obtains all the comments associated with this issue.intgetCommentsCount()Gets comments count.URLgetHtmlUrl()The HTML page of this issue, like https://github.com/jenkinsci/jenkins/issues/100protected StringgetIssuesApiRoute()Gets issues api route.Collection<GHLabel>getLabels()Gets labels.protected static List<String>getLogins(Collection<GHUser> users)GHMilestonegetMilestone()Gets milestone.intgetNumber()ID.GHIssue.PullRequestgetPullRequest()Returns non-null if this issue is a shadow of a pull request.GHRepositorygetRepository()Repository to which the issue belongs.GHIssueStategetState()Gets state.StringgetTitle()Gets title.GHUsergetUser()User who submitted the issue.booleanisLocked()Is locked boolean.booleanisPullRequest()Is pull request boolean.PagedIterable<GHIssueComment>listComments()Obtains all the comments associated with this issue.PagedIterable<GHIssueEvent>listEvents()Lists events for this issue.PagedIterable<GHReaction>listReactions()Deprecated.voidlock()Lock.voidremoveAssignees(Collection<GHUser> assignees)Remove assignees.voidremoveAssignees(GHUser... assignees)Remove assignees.voidremoveLabel(String name)Remove a single label.voidremoveLabels(String... names)Remove a collection of labels.voidremoveLabels(Collection<GHLabel> labels)Remove a collection of labels.voidremoveLabels(GHLabel... labels)Remove a collection of labels.voidreopen()Reopens this issue.voidsetAssignees(Collection<GHUser> assignees)Sets assignees.voidsetAssignees(GHUser... assignees)Sets assignees.voidsetBody(String body)Sets body.voidsetLabels(String... labels)Sets labels on the target to a specific list.voidsetMilestone(GHMilestone milestone)Sets the milestone for this issue.voidsetTitle(String title)Sets title.voidunlock()Unlock.-
Methods inherited from class org.kohsuke.github.GHObject
getCreatedAt, getId, getNodeId, getResponseHeaderFields, getUpdatedAt, getUrl, setResponseHeaderFields, toString
-
-
-
-
Field Detail
-
assignee
protected GHUser assignee
-
assignees
protected GHUser[] assignees
-
state
protected String state
-
number
protected int number
-
closed_at
protected String closed_at
-
comments
protected int comments
-
body
protected String body
-
user
protected GHUser user
-
title
protected String title
-
html_url
protected String html_url
-
pull_request
protected GHIssue.PullRequest pull_request
-
milestone
protected GHMilestone milestone
-
closed_by
protected GHUser closed_by
-
locked
protected boolean locked
-
-
Method Detail
-
getRepository
public GHRepository getRepository()
Repository to which the issue belongs.- Returns:
- the repository
-
getBody
public String getBody()
The description of this pull request.- Returns:
- the body
-
getNumber
public int getNumber()
ID.- Returns:
- the number
-
getHtmlUrl
public URL getHtmlUrl()
The HTML page of this issue, like https://github.com/jenkinsci/jenkins/issues/100- Specified by:
getHtmlUrlin classGHObject- Returns:
- URL of this object for humans, which renders some HTML.
-
getTitle
public String getTitle()
Gets title.- Returns:
- the title
-
isLocked
public boolean isLocked()
Is locked boolean.- Returns:
- the boolean
-
getState
public GHIssueState getState()
Gets state.- Returns:
- the state
-
getLabels
public Collection<GHLabel> getLabels()
Gets labels.- Returns:
- the labels
-
getClosedAt
public Date getClosedAt()
Gets closed at.- Returns:
- the closed at
-
getApiURL
@Deprecated public URL getApiURL()
Deprecated.Gets api url.- Returns:
- API URL of this object.
-
lock
public void lock() throws IOExceptionLock.- Throws:
IOException- the io exception
-
unlock
public void unlock() throws IOExceptionUnlock.- Throws:
IOException- the io exception
-
comment
@WithBridgeMethods(void.class) public GHIssueComment comment(String message) throws IOException
Updates the issue by adding a comment.- Parameters:
message- the message- Returns:
- Newly posted comment.
- Throws:
IOException- the io exception
-
close
public void close() throws IOExceptionCloses this issue.- Throws:
IOException- the io exception
-
reopen
public void reopen() throws IOExceptionReopens this issue.- Throws:
IOException- the io exception
-
setTitle
public void setTitle(String title) throws IOException
Sets title.- Parameters:
title- the title- Throws:
IOException- the io exception
-
setBody
public void setBody(String body) throws IOException
Sets body.- Parameters:
body- the body- Throws:
IOException- the io exception
-
setMilestone
public void setMilestone(GHMilestone milestone) throws IOException
Sets the milestone for this issue.- Parameters:
milestone- The milestone to assign this issue to. Use null to remove the milestone for this issue.- Throws:
IOException- The io exception
-
assignTo
public void assignTo(GHUser user) throws IOException
Assign to.- Parameters:
user- the user- Throws:
IOException- the io exception
-
setLabels
public void setLabels(String... labels) throws IOException
Sets labels on the target to a specific list.- Parameters:
labels- the labels- Throws:
IOException- the io exception
-
addLabels
public void addLabels(String... names) throws IOException
Adds labels to the issue. Labels that are already present on the target are ignored.- Parameters:
names- Names of the label- Throws:
IOException- the io exception
-
addLabels
public void addLabels(GHLabel... labels) throws IOException
Add labels. Labels that are already present on the target are ignored.- Parameters:
labels- the labels- Throws:
IOException- the io exception
-
addLabels
public void addLabels(Collection<GHLabel> labels) throws IOException
Add labels. Labels that are already present on the target are ignored.- Parameters:
labels- the labels- Throws:
IOException- the io exception
-
removeLabel
public void removeLabel(String name) throws IOException
Remove a single label. Attempting to remove a label that is not present throwsGHFileNotFoundException.- Parameters:
name- the name- Throws:
IOException- the io exception, throwsGHFileNotFoundExceptionif label was not present.
-
removeLabels
public void removeLabels(String... names) throws IOException
Remove a collection of labels. Attempting to remove labels that are not present on the target are ignored.- Parameters:
names- the names- Throws:
IOException- the io exception
-
removeLabels
public void removeLabels(GHLabel... labels) throws IOException
Remove a collection of labels. Attempting to remove labels that are not present on the target are ignored.- Parameters:
labels- the labels- Throws:
IOException- the io exception- See Also:
#removeLabels(String...)
-
removeLabels
public void removeLabels(Collection<GHLabel> labels) throws IOException
Remove a collection of labels. Attempting to remove labels that are not present on the target are ignored.- Parameters:
labels- the labels- Throws:
IOException- the io exception
-
getComments
public List<GHIssueComment> getComments() throws IOException
Obtains all the comments associated with this issue.- Returns:
- the comments
- Throws:
IOException- the io exception- See Also:
#listComments()
-
listComments
public PagedIterable<GHIssueComment> listComments() throws IOException
Obtains all the comments associated with this issue.- Returns:
- the paged iterable
- Throws:
IOException- the io exception
-
createReaction
@Preview(SQUIRREL_GIRL) @Deprecated public GHReaction createReaction(ReactionContent content) throws IOException
Deprecated.Description copied from interface:ReactableLeaves a reaction to this object.- Specified by:
createReactionin interfaceReactable- Parameters:
content- the content- Returns:
- the gh reaction
- Throws:
IOException- the io exception
-
listReactions
@Preview(SQUIRREL_GIRL) @Deprecated public PagedIterable<GHReaction> listReactions()
Deprecated.Description copied from interface:ReactableList all the reactions left to this object.- Specified by:
listReactionsin interfaceReactable- Returns:
- the paged iterable
-
addAssignees
public void addAssignees(GHUser... assignees) throws IOException
Add assignees.- Parameters:
assignees- the assignees- Throws:
IOException- the io exception
-
addAssignees
public void addAssignees(Collection<GHUser> assignees) throws IOException
Add assignees.- Parameters:
assignees- the assignees- Throws:
IOException- the io exception
-
setAssignees
public void setAssignees(GHUser... assignees) throws IOException
Sets assignees.- Parameters:
assignees- the assignees- Throws:
IOException- the io exception
-
setAssignees
public void setAssignees(Collection<GHUser> assignees) throws IOException
Sets assignees.- Parameters:
assignees- the assignees- Throws:
IOException- the io exception
-
removeAssignees
public void removeAssignees(GHUser... assignees) throws IOException
Remove assignees.- Parameters:
assignees- the assignees- Throws:
IOException- the io exception
-
removeAssignees
public void removeAssignees(Collection<GHUser> assignees) throws IOException
Remove assignees.- Parameters:
assignees- the assignees- Throws:
IOException- the io exception
-
getApiRoute
protected String getApiRoute()
Gets api route.- Returns:
- the api route
-
getIssuesApiRoute
protected String getIssuesApiRoute()
Gets issues api route.- Returns:
- the issues api route
-
getAssignee
public GHUser getAssignee() throws IOException
Gets assignee.- Returns:
- the assignee
- Throws:
IOException- the io exception
-
getUser
public GHUser getUser() throws IOException
User who submitted the issue.- Returns:
- the user
- Throws:
IOException- the io exception
-
getClosedBy
public GHUser getClosedBy() throws IOException
Reports who has closed the issue.Note that GitHub doesn't always seem to report this information even for an issue that's already closed. See https://github.com/kohsuke/github-api/issues/60.
- Returns:
- the closed by
- Throws:
IOException- the io exception
-
getCommentsCount
public int getCommentsCount()
Gets comments count.- Returns:
- the comments count
-
getPullRequest
public GHIssue.PullRequest getPullRequest()
Returns non-null if this issue is a shadow of a pull request.- Returns:
- the pull request
-
isPullRequest
public boolean isPullRequest()
Is pull request boolean.- Returns:
- the boolean
-
getMilestone
public GHMilestone getMilestone()
Gets milestone.- Returns:
- the milestone
-
getLogins
protected static List<String> getLogins(Collection<GHUser> users)
-
listEvents
public PagedIterable<GHIssueEvent> listEvents() throws IOException
Lists events for this issue. See https://developer.github.com/v3/issues/events/- Returns:
- the paged iterable
- Throws:
IOException- the io exception
-
-