org.eclipse.egit.github.core.service
Class IssueService

java.lang.Object
  extended by org.eclipse.egit.github.core.service.GitHubService
      extended by org.eclipse.egit.github.core.service.IssueService

public class IssueService
extends GitHubService

Issue service class for listing, searching, and fetching Issue objects using a GitHubClient.

See Also:
GitHub Issues API documentation

Field Summary
static String DIRECTION_ASCENDING
          Ascending direction sort order
static String DIRECTION_DESCENDING
          Descending direction sort order
static String FIELD_BODY
          Issue body field name
static String FIELD_DIRECTION
          Sort direction of output
static String FIELD_FILTER
          Filter field key
static String FIELD_SINCE
          Since date field
static String FIELD_SORT
          Sort field key
static String FIELD_TITLE
          Issue title field name
static String FILTER_ASSIGNED
          Filter by assigned issues for user
static String FILTER_ASSIGNEE
          Filter by issue assignee
static String FILTER_CREATED
          Filter by created issues by user
static String FILTER_LABELS
          Filter by issue's labels
static String FILTER_MENTIONED
          Filter by user mentioned in issue
static String FILTER_MILESTONE
          Filter by issue's milestone
static String FILTER_STATE
          Filter by issue's state
static String FILTER_SUBSCRIBED
          Filter by subscribed issues for user
static String SORT_COMMENTS
          Sort by commented on at
static String SORT_CREATED
          Sort by created at
static String SORT_UPDATED
          Sort by updated at
static String STATE_CLOSED
          Issue closed state filter value
static String STATE_OPEN
          Issue open state filter value
 
Fields inherited from class org.eclipse.egit.github.core.service.GitHubService
ACCEPT_FULL, ACCEPT_HTML, ACCEPT_TEXT, client
 
Constructor Summary
IssueService()
          Create issue service
IssueService(GitHubClient client)
          Create issue service
 
Method Summary
 Comment createComment(IRepositoryIdProvider repository, int issueNumber, String comment)
          Create comment on specified issue number
 Comment createComment(IRepositoryIdProvider repository, String issueNumber, String comment)
          Create comment on specified issue number
 Comment createComment(String user, String repository, int issueNumber, String comment)
          Create comment on specified issue number
 Comment createComment(String user, String repository, String issueNumber, String comment)
          Create comment on specified issue number
 Issue createIssue(IRepositoryIdProvider repository, Issue issue)
          Create issue
 Issue createIssue(String user, String repository, Issue issue)
          Create issue
protected  Map<Object,Object> createIssueMap(Issue issue, boolean newIssue)
          Create issue map for issue
protected  PagedRequest<Issue> createIssuesRequest(String repoId, Map<String,String> filterData, int start, int size)
          Get bulk issues request
 void deleteComment(IRepositoryIdProvider repository, long commentId)
          Delete the issue comment with the given id
 void deleteComment(IRepositoryIdProvider repository, String commentId)
          Delete the issue comment with the given id
 void deleteComment(String user, String repository, long commentId)
          Delete the issue comment with the given id
 void deleteComment(String user, String repository, String commentId)
          Delete the issue comment with the given id
 Comment editComment(IRepositoryIdProvider repository, Comment comment)
          Edit issue comment
 Comment editComment(String user, String repository, Comment comment)
          Edit issue comment
 Issue editIssue(IRepositoryIdProvider repository, Issue issue)
          Edit issue
 Issue editIssue(String user, String repository, Issue issue)
          Edit issue
 Comment getComment(String user, String repository, long commentId)
          Get issue comment
 List<Comment> getComments(IRepositoryIdProvider repository, int issueNumber)
          Get an issue's comments
 List<Comment> getComments(IRepositoryIdProvider repository, String issueNumber)
          Get an issue's comments
 List<Comment> getComments(String user, String repository, int issueNumber)
          Get an issue's comments
 List<Comment> getComments(String user, String repository, String issueNumber)
          Get an issue's comments
 Issue getIssue(IRepositoryIdProvider repository, int issueNumber)
          Get issue
 Issue getIssue(IRepositoryIdProvider repository, String issueNumber)
          Get issue
 Issue getIssue(String user, String repository, int issueNumber)
          Get issue
 Issue getIssue(String user, String repository, String issueNumber)
          Get issue
 IssueEvent getIssueEvent(String user, String repository, long eventId)
          Get issue event for repository
 List<RepositoryIssue> getIssues()
          Get issues for currently authenticated user
 List<Issue> getIssues(IRepositoryIdProvider repository, Map<String,String> filterData)
          Get a list of Issue objects that match the specified filter data
 List<RepositoryIssue> getIssues(Map<String,String> filterData)
          Get issues for currently authenticated user
 List<Issue> getIssues(String user, String repository, Map<String,String> filterData)
          Get a list of Issue objects that match the specified filter data
 PageIterator<IssueEvent> pageEvents(String user, String repository)
          Page issue events for repository
 PageIterator<IssueEvent> pageEvents(String user, String repository, int size)
          Page issue events for repository
 PageIterator<IssueEvent> pageEvents(String user, String repository, int start, int size)
          Page events for issue in repository
 PageIterator<IssueEvent> pageIssueEvents(String user, String repository, int issueId)
          Page events for issue in repository
 PageIterator<IssueEvent> pageIssueEvents(String user, String repository, int issueId, int size)
          Page events for issue in repository
 PageIterator<IssueEvent> pageIssueEvents(String user, String repository, int issueId, int start, int size)
          Page issue events for repository
 PageIterator<RepositoryIssue> pageIssues()
          Page issues for currently authenticated user
 PageIterator<Issue> pageIssues(IRepositoryIdProvider repository)
          Get page iterator over issues query
 PageIterator<Issue> pageIssues(IRepositoryIdProvider repository, Map<String,String> filterData)
          Get page iterator over issues query
 PageIterator<Issue> pageIssues(IRepositoryIdProvider repository, Map<String,String> filterData, int size)
          Get page iterator over issues query
 PageIterator<Issue> pageIssues(IRepositoryIdProvider repository, Map<String,String> filterData, int start, int size)
          Get page iterator over issues query
 PageIterator<RepositoryIssue> pageIssues(Map<String,String> filterData)
          Page issues for currently authenticated user
 PageIterator<RepositoryIssue> pageIssues(Map<String,String> filterData, int size)
          Page issues for currently authenticated user
 PageIterator<RepositoryIssue> pageIssues(Map<String,String> filterData, int start, int size)
          Page issues for currently authenticated user
 PageIterator<Issue> pageIssues(String user, String repository)
          Get page iterator over issues query
 PageIterator<Issue> pageIssues(String user, String repository, Map<String,String> filterData)
          Get page iterator over issues query
 PageIterator<Issue> pageIssues(String user, String repository, Map<String,String> filterData, int size)
          Get page iterator over issues query
 PageIterator<Issue> pageIssues(String user, String repository, Map<String,String> filterData, int start, int size)
          Get page iterator over issues query
 List<SearchIssue> searchIssues(IRepositoryIdProvider repository, String state, String query)
          Search issues in the given repository using the given query
 
Methods inherited from class org.eclipse.egit.github.core.service.GitHubService
check, createPagedRequest, createPagedRequest, createPageIterator, createRequest, getAll, getAll, getClient, getId, verifyRepository
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FIELD_FILTER

public static final String FIELD_FILTER
Filter field key

See Also:
Constant Field Values

FILTER_ASSIGNEE

public static final String FILTER_ASSIGNEE
Filter by issue assignee

See Also:
Constant Field Values

FILTER_MILESTONE

public static final String FILTER_MILESTONE
Filter by issue's milestone

See Also:
Constant Field Values

FILTER_MENTIONED

public static final String FILTER_MENTIONED
Filter by user mentioned in issue

See Also:
Constant Field Values

FILTER_SUBSCRIBED

public static final String FILTER_SUBSCRIBED
Filter by subscribed issues for user

See Also:
Constant Field Values

FILTER_CREATED

public static final String FILTER_CREATED
Filter by created issues by user

See Also:
Constant Field Values

FILTER_ASSIGNED

public static final String FILTER_ASSIGNED
Filter by assigned issues for user

See Also:
Constant Field Values

FILTER_LABELS

public static final String FILTER_LABELS
Filter by issue's labels

See Also:
Constant Field Values

FILTER_STATE

public static final String FILTER_STATE
Filter by issue's state

See Also:
Constant Field Values

STATE_OPEN

public static final String STATE_OPEN
Issue open state filter value

See Also:
Constant Field Values

STATE_CLOSED

public static final String STATE_CLOSED
Issue closed state filter value

See Also:
Constant Field Values

FIELD_BODY

public static final String FIELD_BODY
Issue body field name

See Also:
Constant Field Values

FIELD_TITLE

public static final String FIELD_TITLE
Issue title field name

See Also:
Constant Field Values

FIELD_SINCE

public static final String FIELD_SINCE
Since date field

See Also:
Constant Field Values

FIELD_DIRECTION

public static final String FIELD_DIRECTION
Sort direction of output

See Also:
Constant Field Values

DIRECTION_ASCENDING

public static final String DIRECTION_ASCENDING
Ascending direction sort order

See Also:
Constant Field Values

DIRECTION_DESCENDING

public static final String DIRECTION_DESCENDING
Descending direction sort order

See Also:
Constant Field Values

FIELD_SORT

public static final String FIELD_SORT
Sort field key

See Also:
Constant Field Values

SORT_CREATED

public static final String SORT_CREATED
Sort by created at

See Also:
Constant Field Values

SORT_UPDATED

public static final String SORT_UPDATED
Sort by updated at

See Also:
Constant Field Values

SORT_COMMENTS

public static final String SORT_COMMENTS
Sort by commented on at

See Also:
Constant Field Values
Constructor Detail

IssueService

public IssueService()
Create issue service


IssueService

public IssueService(GitHubClient client)
Create issue service

Parameters:
client - cannot be null
Method Detail

getIssues

public List<RepositoryIssue> getIssues()
                                throws IOException
Get issues for currently authenticated user

Returns:
non-null but possibly empty list of issues
Throws:
IOException

getIssues

public List<RepositoryIssue> getIssues(Map<String,String> filterData)
                                throws IOException
Get issues for currently authenticated user

Parameters:
filterData -
Returns:
non-null but possibly empty list of issues
Throws:
IOException

pageIssues

public PageIterator<RepositoryIssue> pageIssues()
Page issues for currently authenticated user

Returns:
iterator over pages of issues

pageIssues

public PageIterator<RepositoryIssue> pageIssues(Map<String,String> filterData)
Page issues for currently authenticated user

Parameters:
filterData -
Returns:
iterator over pages of issues

pageIssues

public PageIterator<RepositoryIssue> pageIssues(Map<String,String> filterData,
                                                int size)
Page issues for currently authenticated user

Parameters:
filterData -
size -
Returns:
iterator over pages of issues

pageIssues

public PageIterator<RepositoryIssue> pageIssues(Map<String,String> filterData,
                                                int start,
                                                int size)
Page issues for currently authenticated user

Parameters:
filterData -
start -
size -
Returns:
iterator over pages of issues

getIssue

public Issue getIssue(String user,
                      String repository,
                      int issueNumber)
               throws IOException
Get issue

Parameters:
user -
repository -
issueNumber -
Returns:
issue
Throws:
IOException

getIssue

public Issue getIssue(String user,
                      String repository,
                      String issueNumber)
               throws IOException
Get issue

Parameters:
user -
repository -
issueNumber -
Returns:
issue
Throws:
IOException

getIssue

public Issue getIssue(IRepositoryIdProvider repository,
                      int issueNumber)
               throws IOException
Get issue

Parameters:
repository -
issueNumber -
Returns:
issue
Throws:
IOException

getIssue

public Issue getIssue(IRepositoryIdProvider repository,
                      String issueNumber)
               throws IOException
Get issue

Parameters:
repository -
issueNumber -
Returns:
issue
Throws:
IOException

getComments

public List<Comment> getComments(String user,
                                 String repository,
                                 int issueNumber)
                          throws IOException
Get an issue's comments

Parameters:
user -
repository -
issueNumber -
Returns:
list of comments
Throws:
IOException

getComments

public List<Comment> getComments(String user,
                                 String repository,
                                 String issueNumber)
                          throws IOException
Get an issue's comments

Parameters:
user -
repository -
issueNumber -
Returns:
list of comments
Throws:
IOException

getComments

public List<Comment> getComments(IRepositoryIdProvider repository,
                                 int issueNumber)
                          throws IOException
Get an issue's comments

Parameters:
repository -
issueNumber -
Returns:
list of comments
Throws:
IOException

getComments

public List<Comment> getComments(IRepositoryIdProvider repository,
                                 String issueNumber)
                          throws IOException
Get an issue's comments

Parameters:
repository -
issueNumber -
Returns:
list of comments
Throws:
IOException

createIssuesRequest

protected PagedRequest<Issue> createIssuesRequest(String repoId,
                                                  Map<String,String> filterData,
                                                  int start,
                                                  int size)
Get bulk issues request

Parameters:
repoId -
filterData -
start -
size -
Returns:
paged request

getIssues

public List<Issue> getIssues(String user,
                             String repository,
                             Map<String,String> filterData)
                      throws IOException
Get a list of Issue objects that match the specified filter data

Parameters:
user -
repository -
filterData -
Returns:
list of issues
Throws:
IOException

getIssues

public List<Issue> getIssues(IRepositoryIdProvider repository,
                             Map<String,String> filterData)
                      throws IOException
Get a list of Issue objects that match the specified filter data

Parameters:
repository -
filterData -
Returns:
list of issues
Throws:
IOException

pageIssues

public PageIterator<Issue> pageIssues(String user,
                                      String repository)
Get page iterator over issues query

Parameters:
user -
repository -
Returns:
iterator over issue pages

pageIssues

public PageIterator<Issue> pageIssues(String user,
                                      String repository,
                                      Map<String,String> filterData)
Get page iterator over issues query

Parameters:
user -
repository -
filterData -
Returns:
iterator

pageIssues

public PageIterator<Issue> pageIssues(String user,
                                      String repository,
                                      Map<String,String> filterData,
                                      int size)
Get page iterator over issues query

Parameters:
user -
repository -
filterData -
size -
Returns:
iterator

pageIssues

public PageIterator<Issue> pageIssues(String user,
                                      String repository,
                                      Map<String,String> filterData,
                                      int start,
                                      int size)
Get page iterator over issues query

Parameters:
user -
repository -
filterData -
size - page size
start - starting page number
Returns:
iterator

pageIssues

public PageIterator<Issue> pageIssues(IRepositoryIdProvider repository)
Get page iterator over issues query

Parameters:
repository -
Returns:
iterator over issue pages

pageIssues

public PageIterator<Issue> pageIssues(IRepositoryIdProvider repository,
                                      Map<String,String> filterData)
Get page iterator over issues query

Parameters:
repository -
filterData -
Returns:
iterator

pageIssues

public PageIterator<Issue> pageIssues(IRepositoryIdProvider repository,
                                      Map<String,String> filterData,
                                      int size)
Get page iterator over issues query

Parameters:
repository -
filterData -
size -
Returns:
iterator

pageIssues

public PageIterator<Issue> pageIssues(IRepositoryIdProvider repository,
                                      Map<String,String> filterData,
                                      int start,
                                      int size)
Get page iterator over issues query

Parameters:
repository -
filterData -
size - page size
start - starting page number
Returns:
iterator

createIssueMap

protected Map<Object,Object> createIssueMap(Issue issue,
                                            boolean newIssue)
Create issue map for issue

Parameters:
issue -
newIssue -
Returns:
map

createIssue

public Issue createIssue(String user,
                         String repository,
                         Issue issue)
                  throws IOException
Create issue

Parameters:
user -
repository -
issue -
Returns:
created issue
Throws:
IOException

createIssue

public Issue createIssue(IRepositoryIdProvider repository,
                         Issue issue)
                  throws IOException
Create issue

Parameters:
repository -
issue -
Returns:
created issue
Throws:
IOException

editIssue

public Issue editIssue(String user,
                       String repository,
                       Issue issue)
                throws IOException
Edit issue

Parameters:
user -
repository -
issue -
Returns:
created issue
Throws:
IOException

editIssue

public Issue editIssue(IRepositoryIdProvider repository,
                       Issue issue)
                throws IOException
Edit issue

Parameters:
repository -
issue -
Returns:
created issue
Throws:
IOException

createComment

public Comment createComment(String user,
                             String repository,
                             int issueNumber,
                             String comment)
                      throws IOException
Create comment on specified issue number

Parameters:
user -
repository -
issueNumber -
comment -
Returns:
created issue
Throws:
IOException

createComment

public Comment createComment(String user,
                             String repository,
                             String issueNumber,
                             String comment)
                      throws IOException
Create comment on specified issue number

Parameters:
user -
repository -
issueNumber -
comment -
Returns:
created issue
Throws:
IOException

createComment

public Comment createComment(IRepositoryIdProvider repository,
                             int issueNumber,
                             String comment)
                      throws IOException
Create comment on specified issue number

Parameters:
repository -
issueNumber -
comment -
Returns:
created issue
Throws:
IOException

createComment

public Comment createComment(IRepositoryIdProvider repository,
                             String issueNumber,
                             String comment)
                      throws IOException
Create comment on specified issue number

Parameters:
repository -
issueNumber -
comment -
Returns:
created issue
Throws:
IOException

getComment

public Comment getComment(String user,
                          String repository,
                          long commentId)
                   throws IOException
Get issue comment

Parameters:
user -
repository -
commentId -
Returns:
comment
Throws:
IOException

editComment

public Comment editComment(String user,
                           String repository,
                           Comment comment)
                    throws IOException
Edit issue comment

Parameters:
user -
repository -
comment -
Returns:
edited comment
Throws:
IOException

editComment

public Comment editComment(IRepositoryIdProvider repository,
                           Comment comment)
                    throws IOException
Edit issue comment

Parameters:
repository -
comment -
Returns:
edited comment
Throws:
IOException

deleteComment

public void deleteComment(String user,
                          String repository,
                          long commentId)
                   throws IOException
Delete the issue comment with the given id

Parameters:
user -
repository -
commentId -
Throws:
IOException

deleteComment

public void deleteComment(String user,
                          String repository,
                          String commentId)
                   throws IOException
Delete the issue comment with the given id

Parameters:
user -
repository -
commentId -
Throws:
IOException

deleteComment

public void deleteComment(IRepositoryIdProvider repository,
                          long commentId)
                   throws IOException
Delete the issue comment with the given id

Parameters:
repository -
commentId -
Throws:
IOException

deleteComment

public void deleteComment(IRepositoryIdProvider repository,
                          String commentId)
                   throws IOException
Delete the issue comment with the given id

Parameters:
repository -
commentId -
Throws:
IOException

pageEvents

public PageIterator<IssueEvent> pageEvents(String user,
                                           String repository)
Page issue events for repository

Parameters:
user -
repository -
Returns:
iterator over issue event pages

pageEvents

public PageIterator<IssueEvent> pageEvents(String user,
                                           String repository,
                                           int size)
Page issue events for repository

Parameters:
user -
repository -
size -
Returns:
iterator over issue event pages

pageEvents

public PageIterator<IssueEvent> pageEvents(String user,
                                           String repository,
                                           int start,
                                           int size)
Page events for issue in repository

Parameters:
user -
repository -
start -
size -
Returns:
iterator over issue event pages

pageIssueEvents

public PageIterator<IssueEvent> pageIssueEvents(String user,
                                                String repository,
                                                int issueId)
Page events for issue in repository

Parameters:
user -
repository -
issueId -
Returns:
iterator over issue event pages

pageIssueEvents

public PageIterator<IssueEvent> pageIssueEvents(String user,
                                                String repository,
                                                int issueId,
                                                int size)
Page events for issue in repository

Parameters:
user -
repository -
issueId -
size -
Returns:
iterator over issue event pages

pageIssueEvents

public PageIterator<IssueEvent> pageIssueEvents(String user,
                                                String repository,
                                                int issueId,
                                                int start,
                                                int size)
Page issue events for repository

Parameters:
user -
repository -
issueId -
start -
size -
Returns:
iterator over issue event pages

getIssueEvent

public IssueEvent getIssueEvent(String user,
                                String repository,
                                long eventId)
                         throws IOException
Get issue event for repository

Parameters:
user -
repository -
eventId -
Returns:
iterator over issue event pages
Throws:
IOException

searchIssues

public List<SearchIssue> searchIssues(IRepositoryIdProvider repository,
                                      String state,
                                      String query)
                               throws IOException
Search issues in the given repository using the given query

Parameters:
repository -
state - STATE_OPEN or STATE_CLOSED
query -
Returns:
issues matching query
Throws:
IOException


Copyright © 2012. All Rights Reserved.