NAME
Pithub::Issues - Github v3 Issues API
VERSION
version 0.01043
METHODS
assignees
Provides access to Pithub::Issues::Assignees.
comments
Provides access to Pithub::Issues::Comments.
create
- •
-
Create an issue
POST /repos/:user/:repo/issuesParameters:
- •
-
user: mandatory string
- •
-
repo: mandatory string
- •
-
data: mandatory hashref, having following keys:
- •
-
title: mandatory string
- •
-
body: optional string
- •
-
assignee: optional string - Login for the user that this issue should be assigned to.
- •
-
milestone: optional number - Milestone to associate this issue with.
- •
-
labels: optional arrayref of strings - Labels to associate with this issue.
Examples:
my $i = Pithub::Issues->new;my $result = $i->create(user => 'plu',repo => 'Pithub',data => {assignee => 'octocat',body => "I'm having a problem with this.",labels => [ 'Label1', 'Label2' ],milestone => 1,title => 'Found a bug'});Response: Status: 201 Created
{"url": "https://api.github.com/repos/octocat/Hello-World/issues/1","html_url": "https://github.com/octocat/Hello-World/issues/1","number": 1347,"state": "open","title": "Found a bug","body": "I'm having a problem with this.","user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"labels": [{"url": "https://api.github.com/repos/octocat/Hello-World/labels/bug","name": "bug","color": "f29513"}],"assignee": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"milestone": {"url": "https://api.github.com/repos/octocat/Hello-World/milestones/1","number": 1,"state": "open","title": "v1.0","description": "","creator": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"open_issues": 4,"closed_issues": 8,"created_at": "2011-04-10T20:09:31Z","due_on": null},"comments": 0,"pull_request": {"html_url": "https://github.com/octocat/Hello-World/issues/1","diff_url": "https://github.com/octocat/Hello-World/issues/1.diff","patch_url": "https://github.com/octocat/Hello-World/issues/1.patch"},"closed_at": null,"created_at": "2011-04-22T13:33:48Z","updated_at": "2011-04-22T13:33:48Z"}
events
Provides access to Pithub::Issues::Events.
get
- •
-
Get a single issue
GET /repos/:user/:repo/issues/:idParameters:
- •
-
user: mandatory string
- •
-
repo: mandatory string
- •
-
issue_id: mandatory integer
Examples:
my $i = Pithub::Issues->new;my $result = $i->get(user => 'plu',repo => 'Pithub',issue_id => 1,);Response: Status: 200 OK
{"url": "https://api.github.com/repos/octocat/Hello-World/issues/1","html_url": "https://github.com/octocat/Hello-World/issues/1","number": 1347,"state": "open","title": "Found a bug","body": "I'm having a problem with this.","user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"labels": [{"url": "https://api.github.com/repos/octocat/Hello-World/labels/bug","name": "bug","color": "f29513"}],"assignee": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"milestone": {"url": "https://api.github.com/repos/octocat/Hello-World/milestones/1","number": 1,"state": "open","title": "v1.0","description": "","creator": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"open_issues": 4,"closed_issues": 8,"created_at": "2011-04-10T20:09:31Z","due_on": null},"comments": 0,"pull_request": {"html_url": "https://github.com/octocat/Hello-World/issues/1","diff_url": "https://github.com/octocat/Hello-World/issues/1.diff","patch_url": "https://github.com/octocat/Hello-World/issues/1.patch"},"closed_at": null,"created_at": "2011-04-22T13:33:48Z","updated_at": "2011-04-22T13:33:48Z"}
labels
Provides access to Pithub::Issues::Labels.
list
- •
-
List the issues of the authenticated user
GET /issuesThis API call can be influenced via the
"params"hashref with following parameters:- •
-
filter: one of the following:
- •
-
assigned: Issues assigned to you (default)
- •
-
created: Issues created by you
- •
-
mentioned: Issues mentioning you
- •
-
subscribed: Issues you're subscribed to updates for
- •
-
state: one of the following:
- •
-
open (default)
- •
-
closed
- •
-
labels: String list of comma separated Label names. Example:
"bug,ui,@high"
- •
-
sort: one of the following:
- •
-
created (default)
- •
-
updated
- •
-
comments
- •
-
direction: one of the following:
- •
-
asc
- •
-
desc (default)
- •
-
since: optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ
Examples:
my $i = Pithub::Issues->new;my $result = $i->list(params => {filter => 'assigned',state => 'open',labels => 'bug',sort => 'updated',direction => 'asc',});Response: Status: 200 OK
[{"url": "https://api.github.com/repos/octocat/Hello-World/issues/1","html_url": "https://github.com/octocat/Hello-World/issues/1","number": 1347,"state": "open","title": "Found a bug","body": "I'm having a problem with this.","user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"labels": [{"url": "https://api.github.com/repos/octocat/Hello-World/labels/bug","name": "bug","color": "f29513"}],"assignee": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"milestone": {"url": "https://api.github.com/repos/octocat/Hello-World/milestones/1","number": 1,"state": "open","title": "v1.0","description": "","creator": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"open_issues": 4,"closed_issues": 8,"created_at": "2011-04-10T20:09:31Z","due_on": null},"comments": 0,"pull_request": {"html_url": "https://github.com/octocat/Hello-World/issues/1","diff_url": "https://github.com/octocat/Hello-World/issues/1.diff","patch_url": "https://github.com/octocat/Hello-World/issues/1.patch"},"closed_at": null,"created_at": "2011-04-22T13:33:48Z","updated_at": "2011-04-22T13:33:48Z"}]
- •
-
List issues for a repository
GET /repos/:user/:repo/issuesParameters:
- •
-
user: mandatory string
- •
-
repo: mandatory string
This API call can be influenced via the
"params"hashref with following parameters:- •
-
milestone: one of the following:
- •
-
"Integer"Milestone number
- •
-
"none"for Issues with no Milestone
- •
-
"*"for Issues with any Milestone
- •
-
state: one of the following:
- •
-
open (default)
- •
-
closed
- •
-
assignee: one of the following:
- •
-
"String"User login
- •
-
"none"for Issues with no assigned User
- •
-
"*"for Issues with any assigned User
- •
-
mentioned: String User login
- •
-
labels: String list of comma separated Label names. Example:
"bug,ui,@high"
- •
-
sort: one of the following:
- •
-
created (default)
- •
-
updated
- •
-
comments
- •
-
direction: one of the following:
- •
-
asc
- •
-
desc (default)
- •
-
since: optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ
Examples:
my $i = Pithub::Issues->new;my $result = $i->list(user => 'plu',repo => 'Pithub',params => {milestone => 42,state => 'open',labels => 'bug',sort => 'updated',direction => 'asc',});Response: Status: 200 OK
[{"url": "https://api.github.com/repos/octocat/Hello-World/issues/1","html_url": "https://github.com/octocat/Hello-World/issues/1","number": 1347,"state": "open","title": "Found a bug","body": "I'm having a problem with this.","user": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"labels": [{"url": "https://api.github.com/repos/octocat/Hello-World/labels/bug","name": "bug","color": "f29513"}],"assignee": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"milestone": {"url": "https://api.github.com/repos/octocat/Hello-World/milestones/1","number": 1,"state": "open","title": "v1.0","description": "","creator": {"login": "octocat","id": 1,"gravatar_url": "https://github.com/images/error/octocat_happy.gif","url": "https://api.github.com/users/octocat"},"open_issues": 4,"closed_issues": 8,"created_at": "2011-04-10T20:09:31Z","due_on": null},"comments": 0,"pull_request": {"html_url": "https://github.com/octocat/Hello-World/issues/1","diff_url": "https://github.com/octocat/Hello-World/issues/1.diff","patch_url": "https://github.com/octocat/Hello-World/issues/1.patch"},"closed_at": null,"created_at": "2011-04-22T13:33:48Z","updated_at": "2011-04-22T13:33:48Z"}]
milestones
Provides access to Pithub::Issues::Milestones.
update
- •
-
Edit an issue
PATCH /repos/:user/:repo/issues/:idParameters:
- •
-
user: mandatory string
- •
-
repo: mandatory string
- •
-
data: mandatory hashref, having following keys:
- •
-
title: mandatory string
- •
-
body: optional string
- •
-
assignee: optional string - Login for the user that this issue should be assigned to.
- •
-
milestone: optional number - Milestone to associate this issue with.
- •
-
labels: optional arrayref of strings - Labels to associate with this issue. Pass one or more Labels to replace the set of Labels on this Issue. Send an empty arrayref (
"[]") to clear all Labels from the Issue.
Examples:
my $i = Pithub::Issues->new;my $result = $i->update(user => 'plu',repo => 'Pithub',issue_id => 1,data => {assignee => 'octocat',body => "I'm having a problem with this.",labels => [ 'Label1', 'Label2' ],milestone => 1,state => 'open',title => 'Found a bug'});
AUTHOR
Johannes Plunien <[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Johannes Plunien.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.