table of contents
Pithub::Issues(3pm) | User Contributed Perl Documentation | Pithub::Issues(3pm) |
NAME¶
Pithub::Issues - Github v3 Issues API
VERSION¶
version 0.01041
METHODS¶
assignees¶
Provides access to Pithub::Issues::Assignees.
comments¶
Provides access to Pithub::Issues::Comments.
create¶
- •
- Create an issue
POST /repos/:user/:repo/issues
Parameters:
- 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/:id
Parameters:
- 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 /issues
This 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/issues
Parameters:
- 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/:id
Parameters:
- 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 <plu@cpan.org>
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.
2023-09-02 | perl v5.36.0 |