table of contents
| Pithub::Issues(3pm) | User Contributed Perl Documentation | Pithub::Issues(3pm) |
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 <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.
| 2025-06-08 | perl v5.40.1 |