Provided by: libpithub-perl_0.01039-1_all bug

NAME

       Pithub::Issues - Github v3 Issues API

VERSION

       version 0.01039

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)

               •   closedlabels: String list of comma separated Label names.  Example: "bug,ui,@high"

           •   sort: one of the following:

               •   created (default)

               •   updatedcommentsdirection: one of the following:

               •   ascdesc (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)

               •   closedassignee: 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)

               •   updatedcommentsdirection: one of the following:

               •   ascdesc (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.