App-gqmt
view release on metacpan or search on metacpan
etc/gqmt.d/github-query-all-versions.tt view on Meta::CPAN
query { repository(name: "[% repo %]", owner: "[% user %]") {
packages(first: [% pkg_num %] names: ["[% pkg_name %]"]) {
nodes {
id
name
versions(last: [% vers_num %][% cursor %]) {
nodes {
id
version
files(first:1, orderBy: {direction: DESC, field: CREATED_AT}) {
totalCount
nodes {
updatedAt
}
}
}
repo : repository name
user : user name
pkg_num : first num element of packages list
pkg_name : package name
vers_num : first num elements from the version files
cursor : pagination object
=back
=item B<-T | --token> I<STRING>
personal access token to access the GitHub API
=item B<-U | --url> I<STRING>
GraphQL API endpoint, default is I<https://api.github.com/graphql>
See examples in distribution directory I<etc>
Example of query template:
query { repository(name: "[% repo %]", owner: "[% user %]") {
packages(first: [% pkg_num %] names: ["[% pkg_name %]"]) {
nodes {
id
name
versions(last: [% vers_num %][% cursor %]) {
nodes {
id
version
files(first:1, orderBy: {direction: DESC, field: CREATED_AT}) {
totalCount
nodes {
updatedAt
}
}
}
lib/App/gqmt.pm view on Meta::CPAN
RELATIVE => 1 ) || die Template->error(), "\n";
$tt->process(
$self->option('query_template'),
{
repo => $self->option('repo'),
user => $self->option('user'),
pkg_num => $self->option('rows_number'),
pkg_name => $self->option('package'),
vers_num => $self->option('rows_number'),
cursor => $arg->{inf}->{hasPreviousPage} == 1 ? sprintf(', before: "%s"', $arg->{inf}->{startCursor}) : ''
},
\$tt_out
);
$query = { query => $tt_out };
} else {
$query = $self->
query_default({ inf => $arg->{inf}->{hasPreviousPage} == 1 ? sprintf(', before: "%s"', $arg->{inf}->{startCursor}) : ''});
}
( run in 0.240 second using v1.01-cache-2.11-cpan-4d50c553e7e )