Pithub...stones(3pm)

πŸ“¦
version 0.01043 Β· 4 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– Pithub::Issues::Milestones β€” the Github v3 Issue Milestones API, bestie edition πŸ’–

okay so. this is Pithub::Issues::Milestones, and it's a chunk of the Perl Pithub situation β€” specifically the part that talks to the Github v3 Issue Milestones API. it ships as User Contributed Perl Documentation, section 3pm, so like… it's a Perl module page, not a command you run in your shell. no cap. πŸŽ€


✨ VERSION ✨

version 0.01043 β€” that's the one, that's the whole vibe check. πŸ¦‹


🌸 METHODS 🌸

five methods, five little icons, all of them do exactly one thing and do it slayfully. let's go. πŸ’…

πŸ’« create

  • create a milestone β€” literally just making a new one, main character energy πŸ‘‘

the endpoint it hits:

POST /repos/:user/:repo/milestones

and here's how you'd actually call it:

my $m = Pithub::Issues::Milestones->new;
my $result = $m->create(
    repo => 'Pithub',
    user => 'plu',
    data => {
        description => 'String',
        due_on      => 'Time',
        state       => 'open or closed',
        title       => 'String'
    }
);

so you pass repo, user, and a data hashref carrying description, due_on, state and title. 🫢


πŸ—‘οΈ delete

  • delete a milestone β€” it's giving "we don't talk about bruno" πŸ’€

the endpoint:

DELETE /repos/:user/:repo/milestones/:id

and the call, verbatim:

my $m = Pithub::Issues::Milestones->new;
my $result = $m->delete(
    repo => 'Pithub',
    user => 'plu',
    milestone_id => 1,
);

note the milestone_id => 1 there β€” that's the :id in the path, bestie, don't forget it or you'll be deleting a mystery. πŸ™ˆ


πŸ” get

  • get a single milestone β€” one (1) milestone, very specific, very demure ✨

the endpoint:

GET /repos/:user/:repo/milestones/:id

the call:

my $m = Pithub::Issues::Milestones->new;
my $result = $m->get(
    repo => 'Pithub',
    user => 'plu',
    milestone_id => 1,
);

same shape as delete, just a GET instead. iconic. ⭐


πŸ“‹ list

  • list milestones for an issue β€” the full roster, the whole group chat 🌈

the endpoint:

GET /repos/:user/:repo/milestones

the call:

my $m = Pithub::Issues::Milestones->new;
my $result = $m->list(
    repo => 'Pithub',
    user => 'plu',
);

no milestone_id here because we're grabbing all of them, not just one. periodt. πŸ“


πŸ”§ update

  • update a milestone β€” glow-up time πŸ’…

the endpoint (and yes it's PATCH, not POST, don't come for me):

PATCH /repos/:user/:repo/milestones/:id

the call:

my $m = Pithub::Issues::Milestones->new;
my $result = $m->update(
    repo => 'Pithub',
    user => 'plu',
    data => {
        description => 'String',
        due_on      => 'Time',
        state       => 'open or closed',
        title       => 'String'
    }
);

same data keys as create β€” description, due_on, state, title. it's consistent, we love consistency. 🧚


πŸ‘‘ AUTHOR πŸ‘‘

Johannes Plunien <plu@cpan.org> β€” the legend, the moment, the author. 🫢


this software is copyright (c) 2011 by Johannes Plunien.

and the license, fr fr: this is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


okay that's the whole page! this was documented with perl v5.40.1, dated 2025-06-08, and it's the Pithub...stones(3pm) page β€” yes the header truncates it like that, and no we're not gonna be weird about it. go forth and milestone, bestie. πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from