view release on metacpan or search on metacpan
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The license agreements of most software companies try to keep users
at the mercy of those companies. By contrast, our General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. The
General Public License applies to the Free Software Foundation's
software and to any other program whose authors commit to using it.
You can use it for your programs, too.
When we speak of free software, we are referring to freedom, not
price. Specifically, the General Public License is designed to make
sure that you have the freedom to give away or sell copies of free
software, that you receive source code or can get it if you want it,
that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
For example, if you distribute copies of a such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must tell them their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any program or other work which
contains a notice placed by the copyright holder saying it may be
distributed under the terms of this General Public License. The
Each version is given a distinguishing version number. If the Program
specifies a version number of the license which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
the license, you may choose any version ever published by the Free Software
Foundation.
8. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
possible use to humanity, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
To do so, attach the following notices to the program. It is safest to
attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19xx name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the
appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and `show
c'; they could even be mouse-clicks or menu items--whatever suits your
program.
---
abstract: 'Generic Framework for REST API Command Line Clients'
author:
- 'Tina Müller <cpan2@tinita.de>'
build_requires:
File::Spec: '0'
IO::Handle: '0'
IPC::Open3: '0'
Test::More: '0'
blib: '1.01'
configure_requires:
ExtUtils::MakeMaker: '0'
File::ShareDir::Install: '0.06'
name = API-CLI
author = Tina Müller <cpan2@tinita.de>
license = Perl_5
copyright_holder = Tina Müller
copyright_year = 2016
version = 0.001
[@Filter]
-bundle = @Basic
-remove = GatherDir
option = for_basic
examples/bash/githubcl.bash view on Meta::CPAN
esac
;;
GET)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
__githubcl_dynamic_comp 'commands' '/emojis'$'\t''Lists all the emojis available to use on GitHub....'$'\n''/events'$'\t''List public events.'$'\n''/feeds'$'\t''List Feeds.'$'\n''/gists'$'\t''List the authenticated user'"'"'s gists or if ...
;;
*)
# subcmds
case ${MYWORDS[1]} in
/emojis)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
examples/bash/githubcl.bash view on Meta::CPAN
--data-file)
;;
esac
;;
esac
;;
/issues)
FLAGS+=()
OPTIONS+=('--q-filter' 'Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
' '--q-state' '' '--q-labels' 'String list of comma separated Label names. Example - bug,ui,@high.' '--q-sort' '' '--q-direction' '' '--q-since' 'Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
')
__githubcl_handle_options_flags
case $INDEX in
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--data-file)
;;
examples/bash/githubcl.bash view on Meta::CPAN
--data-file)
;;
esac
;;
esac
;;
/orgs/:org/issues)
FLAGS+=()
OPTIONS+=('--q-filter' 'Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
' '--q-state' '' '--q-labels' 'String list of comma separated Label names. Example - bug,ui,@high.' '--q-sort' '' '--q-direction' '' '--q-since' 'Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
')
__githubcl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
;;
*)
__comp_current_options true || return # after parameters
examples/bash/githubcl.bash view on Meta::CPAN
;;
esac
;;
esac
;;
/repos/:owner/:repo/commits)
FLAGS+=()
OPTIONS+=('--q-since' 'The time should be passed in as UTC in the ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Example: "2012-10-09T23:39:01Z".
' '--q-sha' 'Sha or branch to start listing commits from.' '--q-path' 'Only commits containing this file path will be returned.' '--q-author' 'GitHub login, name, or email by which to filter by commit author.' '--q-until' 'ISO 8601 Date - Only commit...
__githubcl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
;;
3)
__comp_current_options || return
;;
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--data-file)
;;
--q-since)
;;
--q-sha)
;;
--q-path)
;;
--q-author)
;;
--q-until)
;;
esac
;;
esac
;;
/repos/:owner/:repo/commits/:ref/status)
FLAGS+=()
examples/bash/githubcl.bash view on Meta::CPAN
--data-file)
;;
esac
;;
esac
;;
/repos/:owner/:repo/issues)
FLAGS+=()
OPTIONS+=('--q-filter' 'Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
' '--q-state' '' '--q-labels' 'String list of comma separated Label names. Example - bug,ui,@high.' '--q-sort' '' '--q-direction' '' '--q-since' 'Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
')
__githubcl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
;;
3)
__comp_current_options || return
examples/bash/githubcl.bash view on Meta::CPAN
--data-file)
;;
esac
;;
esac
;;
/user/issues)
FLAGS+=()
OPTIONS+=('--q-filter' 'Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
' '--q-state' '' '--q-labels' 'String list of comma separated Label names. Example - bug,ui,@high.' '--q-sort' '' '--q-direction' '' '--q-since' 'Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
')
__githubcl_handle_options_flags
case $INDEX in
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--data-file)
;;
examples/bash/githubcl.bash view on Meta::CPAN
esac
;;
PATCH)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
__githubcl_dynamic_comp 'commands' '/gists/:id'$'\t''Edit a gist.'$'\n''/gists/:id/comments/:commentId'$'\t''Edit a comment.'$'\n''/notifications/threads/:id'$'\t''Mark a thread as read'$'\n''/orgs/:org'$'\t''Edit an Organization.'$'\n''/...
;;
*)
# subcmds
case ${MYWORDS[1]} in
/gists/:id)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
case $INDEX in
examples/bash/githubcl.bash view on Meta::CPAN
esac
;;
POST)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
__githubcl_dynamic_comp 'commands' '/gists'$'\t''Create a gist.'$'\n''/gists/:id/comments'$'\t''Create a commen'$'\n''/gists/:id/forks'$'\t''Fork a gist.'$'\n''/markdown'$'\t''Render an arbitrary Markdown document...'$'\n''/markdown/raw'$...
;;
*)
# subcmds
case ${MYWORDS[1]} in
/gists)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
examples/bash/githubcl.bash view on Meta::CPAN
esac
;;
PUT)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
__githubcl_dynamic_comp 'commands' '/gists/:id/star'$'\t''Star a gist.'$'\n''/notifications'$'\t''Mark as read.'$'\n''/notifications/threads/:id/subscription'$'\t''Set a Thread Subscription.'$'\n''/orgs/:org/public_members/:username'$'\t'...
;;
*)
# subcmds
case ${MYWORDS[1]} in
/gists/:id/star)
FLAGS+=()
OPTIONS+=()
__githubcl_handle_options_flags
case $INDEX in
examples/bash/metacpancl.bash view on Meta::CPAN
# subcmds
case ${MYWORDS[0]} in
GET)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
case $INDEX in
1)
__comp_current_options || return
__metacpancl_dynamic_comp 'commands' '/author/:author'$'\t''Author information'$'\n''/distribution/:distribution'$'\t''Distribution information not specific to a version...'$'\n''/module/:module'$'\t''Module information'$'\n''/pod/:module...
;;
*)
# subcmds
case ${MYWORDS[1]} in
/author/:author)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
;;
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
examples/bash/metacpancl.bash view on Meta::CPAN
--data-file)
;;
--q-content-type)
_metacpancl_compreply "'text/html'"$'\n'"'text/plain'"$'\n'"'text/x-pod'"$'\n'"'text/x-markdown'"
;;
esac
;;
esac
;;
/release/:author/:release)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
;;
3)
__comp_current_options || return
;;
examples/bash/metacpancl.bash view on Meta::CPAN
case ${MYWORDS[$INDEX-1]} in
--data-file)
;;
esac
;;
esac
;;
/release/_search)
FLAGS+=()
OPTIONS+=('--q-q' 'query ("author:ANDK AND status:latest")' '--q-fields' 'resultset fields' '--q-size' 'how many results')
__metacpancl_handle_options_flags
case $INDEX in
*)
__comp_current_options true || return # after parameters
case ${MYWORDS[$INDEX-1]} in
--data-file)
;;
--q-q)
;;
--q-fields)
examples/bash/metacpancl.bash view on Meta::CPAN
# subcmds
case ${MYWORDS[1]} in
GET)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
case $INDEX in
2)
__comp_current_options || return
__metacpancl_dynamic_comp 'commands' '/author/:author'$'\n''/distribution/:distribution'$'\n''/module/:module'$'\n''/pod/:module'$'\n''/release/:author/:release'$'\n''/release/:distribution'$'\n''/release/_search'
;;
*)
# subcmds
case ${MYWORDS[2]} in
/author/:author)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
;;
/distribution/:distribution)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
examples/bash/metacpancl.bash view on Meta::CPAN
OPTIONS+=()
__metacpancl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
;;
/pod/:module)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
;;
/release/:author/:release)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
;;
/release/:distribution)
FLAGS+=()
OPTIONS+=()
__metacpancl_handle_options_flags
__comp_current_options true || return # no subcmds, no params/opts
examples/bin/metacpancl view on Meta::CPAN
use 5.010;
use Data::Dumper;
use FindBin '$Bin';
use lib "$Bin/../../lib";
use API::CLI::App::Spec;
package API::CLI::MetaCPAN;
use base 'API::CLI';
sub add_auth {
}
package main;
my $appspec_file = "$Bin/../metacpancl-appspec.yaml";
my $spec = API::CLI::App::Spec->read($appspec_file);
my $runner = App::Spec::Run->new(
spec => $spec,
cmd => API::CLI::MetaCPAN->new(
dir => "$ENV{HOME}/.githubcl",
examples/githubcl-appspec.yaml view on Meta::CPAN
properties:
_links:
properties:
html:
type: string
self:
type: string
type: object
commit:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
committer:
properties:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
type: array
commit:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
type: object
committer:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
commits:
items:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
type: object
committer:
examples/githubcl-appspec.yaml view on Meta::CPAN
url:
type: string
type: object
type: array
compare-commits:
properties:
ahead_by:
type: integer
base_commit:
properties:
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: string
subscriptions_url:
type: string
type:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-appspec.yaml view on Meta::CPAN
sha:
type: string
url:
type: string
type: object
behind_by:
type: integer
commits:
items:
properties:
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: string
subscriptions_url:
type: string
type:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: array
contributorsStats:
items:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
total:
description: The Total number of commits authored by the contributor.
type: integer
weeks:
items:
properties:
a:
description: Number of additions.
type: integer
c:
description: Number of commits.
type: integer
examples/githubcl-appspec.yaml view on Meta::CPAN
type: string
size:
type: integer
url:
type: string
type: object
createFile:
properties:
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: object
content:
type: string
message:
type: string
type: object
deleteFile:
properties:
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
type: array
gitCommit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
message:
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
type: string
type: object
mergesConflict:
properties:
message:
description: Error message
type: string
type: object
mergesSuccessful:
properties:
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: string
type:
type: string
url:
type: string
type: object
comments_url:
type: string
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
comment_count:
type: integer
examples/githubcl-appspec.yaml view on Meta::CPAN
type: string
url:
type: string
type: object
url:
type: string
type: object
type: array
assets_url:
type: string
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: string
url:
type: string
type: object
url:
type: string
type: object
type: array
assets_url:
type: string
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-appspec.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
type: array
repoCommit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
type: object
committer:
examples/githubcl-appspec.yaml view on Meta::CPAN
sha:
type: string
url:
type: string
type: object
url:
type: string
type: object
repoCommitBody:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
message:
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
description: String of the SHA of the git object this is tagging.
type: string
tag:
type: string
tagger:
properties:
date:
description: Timestamp of when this object was tagged.
type: string
email:
description: String of the email of the author of the tag.
type: string
name:
description: String of the name of the author of the tag.
type: string
type: object
type:
description: String of the type of the object weâre tagging. Normally this
is a commit but it can also be a tree or a blob.
type: string
required:
- tag
- message
- object
examples/githubcl-appspec.yaml view on Meta::CPAN
$ref: '#/definitions/events'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/feeds:
get:
description: |
List Feeds.
GitHub provides several timeline resources in Atom format. The Feeds API
lists all the feeds available to the authenticating user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/feeds'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/gists:
get:
description: |
List the authenticated user's gists or if called anonymously, this will
return all public gists.
parameters:
- description: |
Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
in: query
name: since
type: string
- description: |
You can check the current version of media type in responses.
examples/githubcl-appspec.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/gists'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/gists/starred:
get:
description: List the authenticated user's starred gists.
parameters:
- description: |
Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
in: query
name: since
type: string
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-appspec.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/gitignore-lang'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/issues:
get:
description: |
List issues.
List all issues across all the authenticated user's visible repositories.
parameters:
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum: &1
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/events'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/orgs/{org}/issues:
get:
description: |
List issues.
List all issues for a given organization for the authenticated user.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum: &10
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
$ref: '#/definitions/issues'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/orgs/{org}/members:
get:
description: |
Members list.
List all users who are members of an organization. A member is a user tha
belongs to at least 1 team in the organization. If the authenticated user
is also an owner of this organization then both concealed and public members
will be returned. If the requester is not an owner of the organization the
query will be redirected to the public members list.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- description: |
examples/githubcl-appspec.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/repos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
post:
description: |
Create a new repository for the authenticated user. OAuth users must supply
repo scope.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-appspec.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/teams'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
post:
description: |
Create team.
In order to create a team, the authenticated user must be an owner of organization.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-appspec.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/branch'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/repos/{owner}/{repo}/collaborators:
get:
description: |
List.
When authenticating as an organization owner of an organization-owned
repository, all organization owners are included in the list of
collaborators. Otherwise, only users with access to the repository are
returned in the collaborators list.
parameters:
- description: Name of repository owner.
in: path
name: owner
required: true
type: string
- description: Name of repository.
examples/githubcl-appspec.yaml view on Meta::CPAN
name: since
type: string
- description: Sha or branch to start listing commits from.
in: query
name: sha
type: string
- description: Only commits containing this file path will be returned.
in: query
name: path
type: string
- description: GitHub login, name, or email by which to filter by commit author.
in: query
name: author
type: string
- description: ISO 8601 Date - Only commits before this date will be returned.
in: query
name: until
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
required: true
type: string
- description: Name of repository.
in: path
name: repo
required: true
type: string
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum: &16
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/search-users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/teams/{teamId}:
delete:
description: |
Delete team.
In order to delete a team, the authenticated user must be an owner of the
org that the team is associated with.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-appspec.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/team'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
patch:
description: |
Edit team.
In order to edit a team, the authenticated user must be an owner of the org
that the team is associated with.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-appspec.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/team'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/teams/{teamId}/members:
get:
description: |
List team members.
In order to list members in a team, the authenticated user must be a member
of the team.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-appspec.yaml view on Meta::CPAN
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/teams/{teamId}/members/{username}:
delete:
description: |
The "Remove team member" API is deprecated and is scheduled for removal in the next major version of the API. We recommend using the Remove team membership API instead. It allows you to remove both active and pending memberships.
Remove team member.
In order to remove a user from a team, the authenticated user must have 'admin'
permissions to the team or be an owner of the org that the team is associated
with.
NOTE This does not delete the user, it just remove them from the team.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
examples/githubcl-appspec.yaml view on Meta::CPAN
description: Team member removed.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
get:
description: |
The "Get team member" API is deprecated and is scheduled for removal in the next major version of the API. We recommend using the Get team membership API instead. It allows you to get both active and pending memberships.
Get team member.
In order to get if a user is a member of a team, the authenticated user mus
be a member of the team.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
name: username
examples/githubcl-appspec.yaml view on Meta::CPAN
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'404':
description: User is not a member.
put:
description: |
The API (described below) is deprecated and is scheduled for removal in the next major version of the API. We recommend using the Add team membership API instead. It allows you to invite new organization members to your teams.
Add team member.
In order to add a user to a team, the authenticated user must have 'admin'
permissions to the team or be an owner of the org that the team is associated
with.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
examples/githubcl-appspec.yaml view on Meta::CPAN
for details.
'422':
description: If you attempt to add an organization to a team, you will
get this.
schema:
$ref: '#/definitions/organizationAsTeamMember'
/teams/{teamId}/memberships/{username}:
delete:
description: |
Remove team membership.
In order to remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. NOTE: This does not delete the user, it just re...
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
name: username
required: true
examples/githubcl-appspec.yaml view on Meta::CPAN
responses:
'204':
description: Team member removed.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
get:
description: |
Get team membership.
In order to get a user's membership with a team, the authenticated user must be a member of the team or an owner of the team's organization.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
name: username
required: true
examples/githubcl-appspec.yaml view on Meta::CPAN
$ref: '#/definitions/teamMembership'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'404':
description: User has no membership with team
put:
description: |
Add team membership.
In order to add a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with.
If the user is already a part of the team's organization (meaning they're on at least one other team in the organization), this endpoint will add the user to the team.
If the user is completely unaffiliated with the team's organization (meaning they're on none of the organization's teams), this endpoint will send an invitation to the user via email. This newly-created membership will be in the 'pending' s...
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
examples/githubcl-appspec.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/teamRepos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/teams/{teamId}/repos/{org}/{repo}:
put:
description: In order to add a repository to a team, the authenticated user
must be an owner of the org that the team is associated with. Also, the
repository must be owned by the organization, or a direct fork of a repository
owned by the organization.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a organization.
examples/githubcl-appspec.yaml view on Meta::CPAN
- in: header
name: X-GitHub-Request-Id
type: integer
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/teams/{teamId}/repos/{owner}/{repo}:
delete:
description: 'In order to remove a repository from a team, the authenticated
user must be an owner of the org that the team is associated with. NOTE:
This does not delete the repository, it just removes it from the team.'
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a repository owner.
in: path
examples/githubcl-appspec.yaml view on Meta::CPAN
- in: header
name: X-GitHub-Request-Id
type: integer
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user:
get:
description: Get the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
responses:
'200':
description: OK
schema:
$ref: '#/definitions/user'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
patch:
description: Update the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
required: true
schema:
$ref: '#/definitions/emailsPost'
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/followers:
get:
description: List the authenticated user's followers
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/following:
get:
description: List who the authenticated user is following.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/following/{username}:
delete:
description: |
Unfollow a user.
Unfollowing a user requires the user to be logged in and authenticated with
basic auth or OAuth with the user:follow scope.
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-appspec.yaml view on Meta::CPAN
description: Response if you are following this user.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'404':
description: Response if you are not following this user.
put:
description: |
Follow a user.
Following a user requires the user to be logged in and authenticated with
basic auth or OAuth with the user:follow scope.
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-appspec.yaml view on Meta::CPAN
'204':
description: You are now following the user.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/issues:
get:
description: |
List issues.
List all issues across owned and member repositories for the authenticated
user.
parameters:
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum: &34
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
$ref: '#/definitions/issues'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/keys:
get:
description: |
List your public keys.
Lists the current user's keys. Management of public keys via the API requires
that you are authenticated through basic auth, or OAuth with the 'user', 'write:public_key' scopes.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
description: Created
schema:
$ref: '#/definitions/user-keys-keyId'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/keys/{keyId}:
delete:
description: Delete a public key. Removes a public key. Requires that you
are authenticated via Basic Auth or via OAuth with at least admin:public_key
scope.
parameters:
- description: ID of key.
in: path
name: keyId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-appspec.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/user-keys-keyId'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/orgs:
get:
description: List public and private organizations for the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/gitignore'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/repos:
get:
description: |
List repositories for the authenticated user. Note that this does not include
repositories owned by organizations which the user can access. You can lis
user organizations and list organization repositories separately.
parameters:
- default: all
enum: &38
- all
- public
- private
- forks
- sources
examples/githubcl-appspec.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/repos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
post:
description: |
Create a new repository for the authenticated user. OAuth users must supply
repo scope.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
examples/githubcl-appspec.yaml view on Meta::CPAN
'201':
description: Created
schema:
$ref: '#/definitions/repos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/starred:
get:
description: List repositories being starred by the authenticated user.
parameters:
- description: Ignored without 'sort' parameter.
in: query
name: direction
type: string
- default: created
description: ''
enum: &39
- created
- updated
examples/githubcl-appspec.yaml view on Meta::CPAN
type: integer
responses:
'204':
description: Repository starred.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/subscriptions:
get:
description: List repositories being watched by the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
responses:
'204':
description: Repository is watched.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/teams:
get:
description: List all of the teams across all of the organizations to which
the authenticated user belongs. This method requires user or repo scope
when authenticating via OAuth.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/users/{username}/events:
get:
description: If you are authenticated as the given user, you will see your
private events. Otherwise, you'll only see public events.
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-appspec.yaml view on Meta::CPAN
- in: header
name: X-GitHub-Request-Id
type: integer
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/users/{username}/events/orgs/{org}:
get:
description: This is the user's organization dashboard. You must be authenticated
as the user to view this.
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- in: path
name: org
required: true
examples/githubcl-appspec.yaml view on Meta::CPAN
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
produces:
- application/json
schemes:
- https
securityDefinitions:
oauth_2_0:
authorizationUrl: https://github.com/login/oauth/authorize
description: |
OAuth2 is a protocol that lets external apps request authorization to private
details in a user's GitHub account without getting their password. This is
preferred over Basic Authentication because tokens can be limited to specific
types of data, and can be revoked by users at any time.
flow: accessCode
scopes:
admin:org: ''
admin:org_hook: ''
admin:public_key: ''
admin:repo_hook: ''
delete_repo: ''
examples/githubcl-appspec.yaml view on Meta::CPAN
read:repo_hook: ''
repo: ''
repo:status: ''
repo_deployment: ''
user: ''
user:email: ''
user:follow: ''
write:org: ''
write:public_key: ''
write:repo_hook: ''
tokenUrl: https://github.com/login/oauth/access_token
type: oauth2
swagger: '2.0'
x-hasEquivalentPaths: true
options:
- name: data-file
summary: File with data for POST/PUT/PATCH/DELETE requests
type: file
- aliases:
- d
name: debug
summary: debug
examples/githubcl-appspec.yaml view on Meta::CPAN
summary: List Feeds.
/gists:
options:
- name: q-since
required: ~
summary: |
Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
type: string
parameters: []
summary: List the authenticated user's gists or if called a...
/gists/:id:
options: []
parameters:
- name: id
required: 1
summary: Id of gist.
type: integer
summary: Get a single gist.
/gists/:id/comments:
options: []
examples/githubcl-appspec.yaml view on Meta::CPAN
summary: List all public gists.
/gists/starred:
options:
- name: q-since
required: ~
summary: |
Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
type: string
parameters: []
summary: List the authenticated user's starred gists....
/gitignore/templates:
options: []
parameters: []
summary: Listing available templates.
/gitignore/templates/:language:
options: []
parameters:
- name: language
required: 1
summary: ~
type: string
summary: Get a single template.
/issues:
options:
- enum: *1
name: q-filter
required: 1
summary: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
type: string
- enum: *2
name: q-state
required: 1
summary: ~
type: string
- name: q-labels
required: 1
summary: String list of comma separated Label names. Example - bug,ui,@high.
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
summary: Name of organisation.
type: string
summary: List public events for an organization....
/orgs/:org/issues:
options:
- enum: *10
name: q-filter
required: 1
summary: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
type: string
- enum: *11
name: q-state
required: 1
summary: ~
type: string
- name: q-labels
required: 1
summary: String list of comma separated Label names. Example - bug,ui,@high.
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
Example: "2012-10-09T23:39:01Z".
type: string
- name: q-sha
required: ~
summary: Sha or branch to start listing commits from.
type: string
- name: q-path
required: ~
summary: Only commits containing this file path will be returned.
type: string
- name: q-author
required: ~
summary: GitHub login, name, or email by which to filter by commit author.
type: string
- name: q-until
required: ~
summary: ISO 8601 Date - Only commits before this date will be returned.
type: string
parameters:
- name: owner
required: 1
summary: Name of repository owner.
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
summary: Id of hook.
type: integer
summary: Get single hook.
/repos/:owner/:repo/issues:
options:
- enum: *16
name: q-filter
required: 1
summary: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
type: string
- enum: *17
name: q-state
required: 1
summary: ~
type: string
- name: q-labels
required: 1
summary: String list of comma separated Label names. Example - bug,ui,@high.
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
summary: Name of a repository owner.
type: string
- name: repo
required: 1
summary: Name of a repository.
type: string
summary: Check if a team manages a repository...
/user:
options: []
parameters: []
summary: Get the authenticated user.
/user/emails:
options: []
parameters: []
summary: List email addresses for a user....
/user/followers:
options: []
parameters: []
summary: List the authenticated user's followers...
/user/following:
options: []
parameters: []
summary: List who the authenticated user is following....
/user/following/:username:
options: []
parameters:
- name: username
required: 1
summary: Name of user.
type: string
summary: Check if you are following a user....
/user/issues:
options:
- enum: *34
name: q-filter
required: 1
summary: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
type: string
- enum: *35
name: q-state
required: 1
summary: ~
type: string
- name: q-labels
required: 1
summary: String list of comma separated Label names. Example - bug,ui,@high.
type: string
examples/githubcl-appspec.yaml view on Meta::CPAN
options: []
parameters:
- name: keyId
required: 1
summary: ID of key.
type: integer
summary: Get a single public key.
/user/orgs:
options: []
parameters: []
summary: List public and private organizations for the auth...
/user/repos:
options:
- enum: *38
name: q-type
required: ~
summary: ~
type: string
parameters: []
summary: List repositories for the authenticated user. Note...
/user/starred:
options:
- name: q-direction
required: ~
summary: Ignored without 'sort' parameter.
type: string
- enum: *39
name: q-sort
required: ~
summary: ''
type: string
parameters: []
summary: List repositories being starred by the authenticat...
/user/starred/:owner/:repo:
options: []
parameters:
- name: owner
required: 1
summary: Name of a repository owner.
type: string
- name: repo
required: 1
summary: Name of a repository.
type: string
summary: Check if you are starring a repository....
/user/subscriptions:
options: []
parameters: []
summary: List repositories being watched by the authenticat...
/user/subscriptions/:owner/:repo:
options: []
parameters:
- name: owner
required: 1
summary: Name of the owner.
type: string
- name: repo
required: 1
summary: Name of repository.
examples/githubcl-appspec.yaml view on Meta::CPAN
summary: Name of user.
type: string
summary: Get a single user.
/users/:username/events:
options: []
parameters:
- name: username
required: 1
summary: Name of user.
type: string
summary: If you are authenticated as the given user, you wi...
/users/:username/events/orgs/:org:
options: []
parameters:
- name: username
required: 1
summary: Name of user.
type: string
- name: org
required: 1
summary: ~
examples/githubcl-appspec.yaml view on Meta::CPAN
options: []
parameters:
- name: teamId
required: 1
summary: Id of team.
type: integer
summary: Edit team.
/user:
options: []
parameters: []
summary: Update the authenticated user.
summary: PATCH call
POST:
op: apicall
subcommands:
/gists:
options: []
parameters: []
summary: Create a gist.
/gists/:id/comments:
options: []
examples/githubcl-appspec.yaml view on Meta::CPAN
options: []
parameters: []
summary: Render a Markdown document in raw mode...
/orgs/:org/repos:
options: []
parameters:
- name: org
required: 1
summary: Name of organisation.
type: string
summary: Create a new repository for the authenticated user...
/orgs/:org/teams:
options: []
parameters:
- name: org
required: 1
summary: Name of organisation.
type: string
summary: Create team.
/repos/:owner/:repo/commits/:shaCode/comments:
options: []
examples/githubcl-appspec.yaml view on Meta::CPAN
options: []
parameters: []
summary: Add email address(es).
/user/keys:
options: []
parameters: []
summary: Create a public key.
/user/repos:
options: []
parameters: []
summary: Create a new repository for the authenticated user...
summary: POST call
PUT:
op: apicall
subcommands:
/gists/:id/star:
options: []
parameters:
- name: id
required: 1
summary: Id of gist.
examples/githubcl-appspec.yaml view on Meta::CPAN
summary: Id of team.
type: integer
- name: org
required: 1
summary: Name of a organization.
type: string
- name: repo
required: 1
summary: Name of a repository.
type: string
summary: In order to add a repository to a team, the authen...
/user/following/:username:
options: []
parameters:
- name: username
required: 1
summary: Name of user.
type: string
summary: Follow a user.
/user/starred/:owner/:repo:
options: []
examples/githubcl-openapi.yaml view on Meta::CPAN
version: '2.0'
x-providerName: github.com
x-unofficialSpec: true
externalDocs:
url: 'https://developer.github.com/v3/'
consumes:
- application/json
produces:
- application/json
securityDefinitions:
oauth_2_0:
authorizationUrl: 'https://github.com/login/oauth/authorize'
description: |
OAuth2 is a protocol that lets external apps request authorization to private
details in a user's GitHub account without getting their password. This is
preferred over Basic Authentication because tokens can be limited to specific
types of data, and can be revoked by users at any time.
flow: accessCode
scopes:
'admin:org': ''
'admin:org_hook': ''
'admin:public_key': ''
'admin:repo_hook': ''
delete_repo: ''
examples/githubcl-openapi.yaml view on Meta::CPAN
'read:repo_hook': ''
repo: ''
'repo:status': ''
repo_deployment: ''
user: ''
'user:email': ''
'user:follow': ''
'write:org': ''
'write:public_key': ''
'write:repo_hook': ''
tokenUrl: 'https://github.com/login/oauth/access_token'
type: oauth2
paths:
/emojis:
get:
description: Lists all the emojis available to use on GitHub.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
$ref: '#/definitions/events'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/feeds:
get:
description: |
List Feeds.
GitHub provides several timeline resources in Atom format. The Feeds API
lists all the feeds available to the authenticating user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/feeds'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/gists:
get:
description: |
List the authenticated user's gists or if called anonymously, this will
return all public gists.
parameters:
- description: |
Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
in: query
name: since
type: string
- description: |
You can check the current version of media type in responses.
examples/githubcl-openapi.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/gists'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/gists/starred:
get:
description: List the authenticated user's starred gists.
parameters:
- description: |
Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
in: query
name: since
type: string
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-openapi.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/gitignore-lang'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/issues:
get:
description: |
List issues.
List all issues across all the authenticated user's visible repositories.
parameters:
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum:
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/events'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/orgs/{org}/issues':
get:
description: |
List issues.
List all issues for a given organization for the authenticated user.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum:
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
$ref: '#/definitions/issues'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/orgs/{org}/members':
get:
description: |
Members list.
List all users who are members of an organization. A member is a user tha
belongs to at least 1 team in the organization. If the authenticated user
is also an owner of this organization then both concealed and public members
will be returned. If the requester is not an owner of the organization the
query will be redirected to the public members list.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- description: |
examples/githubcl-openapi.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/repos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
post:
description: |
Create a new repository for the authenticated user. OAuth users must supply
repo scope.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-openapi.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/teams'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
post:
description: |
Create team.
In order to create a team, the authenticated user must be an owner of organization.
parameters:
- description: Name of organisation.
in: path
name: org
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-openapi.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/branch'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/repos/{owner}/{repo}/collaborators':
get:
description: |
List.
When authenticating as an organization owner of an organization-owned
repository, all organization owners are included in the list of
collaborators. Otherwise, only users with access to the repository are
returned in the collaborators list.
parameters:
- description: Name of repository owner.
in: path
name: owner
required: true
type: string
- description: Name of repository.
examples/githubcl-openapi.yaml view on Meta::CPAN
name: since
type: string
- description: Sha or branch to start listing commits from.
in: query
name: sha
type: string
- description: Only commits containing this file path will be returned.
in: query
name: path
type: string
- description: 'GitHub login, name, or email by which to filter by commit author.'
in: query
name: author
type: string
- description: ISO 8601 Date - Only commits before this date will be returned.
in: query
name: until
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
required: true
type: string
- description: Name of repository.
in: path
name: repo
required: true
type: string
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum:
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/search-users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/teams/{teamId}':
delete:
description: |
Delete team.
In order to delete a team, the authenticated user must be an owner of the
org that the team is associated with.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-openapi.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/team'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
patch:
description: |
Edit team.
In order to edit a team, the authenticated user must be an owner of the org
that the team is associated with.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-openapi.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/team'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/teams/{teamId}/members':
get:
description: |
List team members.
In order to list members in a team, the authenticated user must be a member
of the team.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
examples/githubcl-openapi.yaml view on Meta::CPAN
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/teams/{teamId}/members/{username}':
delete:
description: |
The "Remove team member" API is deprecated and is scheduled for removal in the next major version of the API. We recommend using the Remove team membership API instead. It allows you to remove both active and pending memberships.
Remove team member.
In order to remove a user from a team, the authenticated user must have 'admin'
permissions to the team or be an owner of the org that the team is associated
with.
NOTE This does not delete the user, it just remove them from the team.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
examples/githubcl-openapi.yaml view on Meta::CPAN
description: Team member removed.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
get:
description: |
The "Get team member" API is deprecated and is scheduled for removal in the next major version of the API. We recommend using the Get team membership API instead. It allows you to get both active and pending memberships.
Get team member.
In order to get if a user is a member of a team, the authenticated user mus
be a member of the team.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
name: username
examples/githubcl-openapi.yaml view on Meta::CPAN
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'404':
description: User is not a member.
put:
description: |
The API (described below) is deprecated and is scheduled for removal in the next major version of the API. We recommend using the Add team membership API instead. It allows you to invite new organization members to your teams.
Add team member.
In order to add a user to a team, the authenticated user must have 'admin'
permissions to the team or be an owner of the org that the team is associated
with.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
examples/githubcl-openapi.yaml view on Meta::CPAN
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'422':
description: 'If you attempt to add an organization to a team, you will get this.'
schema:
$ref: '#/definitions/organizationAsTeamMember'
'/teams/{teamId}/memberships/{username}':
delete:
description: |
Remove team membership.
In order to remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. NOTE: This does not delete the user, it just remo...
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
name: username
required: true
examples/githubcl-openapi.yaml view on Meta::CPAN
responses:
'204':
description: Team member removed.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
get:
description: |
Get team membership.
In order to get a user's membership with a team, the authenticated user must be a member of the team or an owner of the team's organization.
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a member.
in: path
name: username
required: true
examples/githubcl-openapi.yaml view on Meta::CPAN
$ref: '#/definitions/teamMembership'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'404':
description: User has no membership with team
put:
description: |
Add team membership.
In order to add a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with.
If the user is already a part of the team's organization (meaning they're on at least one other team in the organization), this endpoint will add the user to the team.
If the user is completely unaffiliated with the team's organization (meaning they're on none of the organization's teams), this endpoint will send an invitation to the user via email. This newly-created membership will be in the 'pending' sta...
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
examples/githubcl-openapi.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/teamRepos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/teams/{teamId}/repos/{org}/{repo}':
put:
description: 'In order to add a repository to a team, the authenticated user must be an owner of the org that the team is associated with. Also, the repository must be owned by the organization, or a direct fork of a repository owned by the org...
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a organization.
in: path
name: org
required: true
examples/githubcl-openapi.yaml view on Meta::CPAN
- in: header
name: X-GitHub-Request-Id
type: integer
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/teams/{teamId}/repos/{owner}/{repo}':
delete:
description: 'In order to remove a repository from a team, the authenticated user must be an owner of the org that the team is associated with. NOTE: This does not delete the repository, it just removes it from the team.'
parameters:
- description: Id of team.
in: path
name: teamId
required: true
type: integer
- description: Name of a repository owner.
in: path
name: owner
required: true
examples/githubcl-openapi.yaml view on Meta::CPAN
- in: header
name: X-GitHub-Request-Id
type: integer
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user:
get:
description: Get the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
responses:
'200':
description: OK
schema:
$ref: '#/definitions/user'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
patch:
description: Update the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
required: true
schema:
$ref: '#/definitions/emailsPost'
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/followers:
get:
description: List the authenticated user's followers
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/following:
get:
description: List who the authenticated user is following.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
schema:
$ref: '#/definitions/users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/user/following/{username}':
delete:
description: |
Unfollow a user.
Unfollowing a user requires the user to be logged in and authenticated with
basic auth or OAuth with the user:follow scope.
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-openapi.yaml view on Meta::CPAN
description: Response if you are following this user.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'404':
description: Response if you are not following this user.
put:
description: |
Follow a user.
Following a user requires the user to be logged in and authenticated with
basic auth or OAuth with the user:follow scope.
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-openapi.yaml view on Meta::CPAN
'204':
description: You are now following the user.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/issues:
get:
description: |
List issues.
List all issues across owned and member repositories for the authenticated
user.
parameters:
- default: all
description: |
Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
enum:
- assigned
- created
- mentioned
- subscribed
- all
in: query
name: filter
required: true
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
$ref: '#/definitions/issues'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/keys:
get:
description: |
List your public keys.
Lists the current user's keys. Management of public keys via the API requires
that you are authenticated through basic auth, or OAuth with the 'user', 'write:public_key' scopes.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
'201':
description: Created
schema:
$ref: '#/definitions/user-keys-keyId'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/user/keys/{keyId}':
delete:
description: 'Delete a public key. Removes a public key. Requires that you are authenticated via Basic Auth or via OAuth with at least admin:public_key scope.'
parameters:
- description: ID of key.
in: path
name: keyId
required: true
type: integer
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-openapi.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/user-keys-keyId'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/orgs:
get:
description: List public and private organizations for the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
description: OK
schema:
$ref: '#/definitions/gitignore'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/repos:
get:
description: |
List repositories for the authenticated user. Note that this does not include
repositories owned by organizations which the user can access. You can lis
user organizations and list organization repositories separately.
parameters:
- default: all
enum:
- all
- public
- private
- forks
- sources
examples/githubcl-openapi.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/repos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
post:
description: |
Create a new repository for the authenticated user. OAuth users must supply
repo scope.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
examples/githubcl-openapi.yaml view on Meta::CPAN
'201':
description: Created
schema:
$ref: '#/definitions/repos'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/starred:
get:
description: List repositories being starred by the authenticated user.
parameters:
- description: Ignored without 'sort' parameter.
in: query
name: direction
type: string
- default: created
description: ''
enum:
- created
- updated
examples/githubcl-openapi.yaml view on Meta::CPAN
type: integer
responses:
'204':
description: Repository starred.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/subscriptions:
get:
description: List repositories being watched by the authenticated user.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
type: integer
responses:
'204':
description: Repository is watched.
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
/user/teams:
get:
description: List all of the teams across all of the organizations to which the authenticated user belongs. This method requires user or repo scope when authenticating via OAuth.
parameters:
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
type: string
- description: Is used to set specified media type.
in: header
name: Accept
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
'200':
description: OK
schema:
$ref: '#/definitions/users'
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/users/{username}/events':
get:
description: 'If you are authenticated as the given user, you will see your private events. Otherwise, you''ll only see public events.'
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- description: |
You can check the current version of media type in responses.
in: header
name: X-GitHub-Media-Type
examples/githubcl-openapi.yaml view on Meta::CPAN
- in: header
name: X-GitHub-Request-Id
type: integer
responses:
'403':
description: |
API rate limit exceeded. See http://developer.github.com/v3/#rate-limiting
for details.
'/users/{username}/events/orgs/{org}':
get:
description: This is the user's organization dashboard. You must be authenticated as the user to view this.
parameters:
- description: Name of user.
in: path
name: username
required: true
type: string
- in: path
name: org
required: true
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
properties:
_links:
properties:
html:
type: string
self:
type: string
type: object
commit:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
committer:
properties:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
type: array
commit:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
type: object
committer:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
commits:
items:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
type: object
committer:
examples/githubcl-openapi.yaml view on Meta::CPAN
url:
type: string
type: object
type: array
compare-commits:
properties:
ahead_by:
type: integer
base_commit:
properties:
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: string
subscriptions_url:
type: string
type:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-openapi.yaml view on Meta::CPAN
sha:
type: string
url:
type: string
type: object
behind_by:
type: integer
commits:
items:
properties:
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: string
subscriptions_url:
type: string
type:
type: string
url:
type: string
type: object
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: array
contributorsStats:
items:
properties:
author:
properties:
avatar_url:
type: string
gravatar_id:
type: string
id:
type: integer
login:
type: string
url:
type: string
type: object
total:
description: The Total number of commits authored by the contributor.
type: integer
weeks:
items:
properties:
a:
description: Number of additions.
type: integer
c:
description: Number of commits.
type: integer
examples/githubcl-openapi.yaml view on Meta::CPAN
type: string
size:
type: integer
url:
type: string
type: object
createFile:
properties:
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: object
content:
type: string
message:
type: string
type: object
deleteFile:
properties:
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
committer:
properties:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
type: array
gitCommit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
message:
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
type: string
type: object
mergesConflict:
properties:
message:
description: Error message
type: string
type: object
mergesSuccessful:
properties:
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: string
type:
type: string
url:
type: string
type: object
comments_url:
type: string
commit:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
comment_count:
type: integer
examples/githubcl-openapi.yaml view on Meta::CPAN
type: string
url:
type: string
type: object
url:
type: string
type: object
type: array
assets_url:
type: string
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: string
url:
type: string
type: object
url:
type: string
type: object
type: array
assets_url:
type: string
author:
properties:
avatar_url:
type: string
events_url:
type: string
followers_url:
type: string
following_url:
type: string
gists_url:
examples/githubcl-openapi.yaml view on Meta::CPAN
type: integer
login:
type: string
url:
type: string
type: object
type: object
type: array
repoCommit:
properties:
author:
properties:
date:
description: 'ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ'
type: string
email:
type: string
name:
type: string
type: object
committer:
examples/githubcl-openapi.yaml view on Meta::CPAN
sha:
type: string
url:
type: string
type: object
url:
type: string
type: object
repoCommitBody:
properties:
author:
properties:
date:
type: string
email:
type: string
name:
type: string
type: object
message:
type: string
examples/githubcl-openapi.yaml view on Meta::CPAN
description: String of the SHA of the git object this is tagging.
type: string
tag:
type: string
tagger:
properties:
date:
description: Timestamp of when this object was tagged.
type: string
email:
description: String of the email of the author of the tag.
type: string
name:
description: String of the name of the author of the tag.
type: string
type: object
type:
description: String of the type of the object weâre tagging. Normally this is a commit but it can also be a tree or a blob.
type: string
required:
- tag
- message
- object
- type
examples/html/githubcl.html view on Meta::CPAN
<h3 id="GET-feeds">GET /feeds</h3>
<pre><code> githubcl GET /feeds</code></pre>
<p>List Feeds.</p>
<h3 id="GET-gists">GET /gists</h3>
<pre><code> githubcl GET /gists [options]</code></pre>
<p>List the authenticated user's gists or if called a...</p>
<p>Options:</p>
<pre><code> --q-since Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.</code></pre>
<h3 id="GET-gists-:id">GET /gists/:id</h3>
<pre><code> githubcl GET /gists/:id <id></code></pre>
examples/html/githubcl.html view on Meta::CPAN
<p>Options:</p>
<pre><code> --q-since Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.</code></pre>
<h3 id="GET-gists-starred">GET /gists/starred</h3>
<pre><code> githubcl GET /gists/starred [options]</code></pre>
<p>List the authenticated user's starred gists....</p>
<p>Options:</p>
<pre><code> --q-since Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.</code></pre>
<h3 id="GET-gitignore-templates">GET /gitignore/templates</h3>
<pre><code> githubcl GET /gitignore/templates</code></pre>
examples/html/githubcl.html view on Meta::CPAN
<h3 id="GET-issues">GET /issues</h3>
<pre><code> githubcl GET /issues [options]</code></pre>
<p>List issues.</p>
<p>Options:</p>
<pre><code> --q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned. </code></pre>
<h3 id="GET-legacy-issues-search-:owner-:repository-:state-:keyword">GET /legacy/issues/search/:owner/:repository/:state/:keyword</h3>
<pre><code> githubcl GET /legacy/issues/search/:owner/:repository/:state/:keyword <keyword> <state> <owner> <repository></code></pre>
examples/html/githubcl.html view on Meta::CPAN
<h3 id="GET-orgs-:org-issues">GET /orgs/:org/issues</h3>
<pre><code> githubcl GET /orgs/:org/issues [options] <org></code></pre>
<p>List issues.</p>
<p>Options:</p>
<pre><code> --q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned. </code></pre>
<p>Parameters:</p>
<pre><code> org * Name of organisation.</code></pre>
examples/html/githubcl.html view on Meta::CPAN
<pre><code> githubcl GET /repos/:owner/:repo/commits [options] <owner> <repo></code></pre>
<p>List commits on a repository.</p>
<p>Options:</p>
<pre><code> --q-since The time should be passed in as UTC in the ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Example: "2012-10-09T23:39:01Z".
--q-sha Sha or branch to start listing commits from.
--q-path Only commits containing this file path will be returned.
--q-author GitHub login, name, or email by which to filter by commit author.
--q-until ISO 8601 Date - Only commits before this date will be returned. </code></pre>
<p>Parameters:</p>
<pre><code> owner * Name of repository owner.
repo * Name of repository. </code></pre>
<h3 id="GET-repos-:owner-:repo-commits-:ref-status">GET /repos/:owner/:repo/commits/:ref/status</h3>
<pre><code> githubcl GET /repos/:owner/:repo/commits/:ref/status <owner> <repo> <ref></code></pre>
examples/html/githubcl.html view on Meta::CPAN
<h3 id="GET-repos-:owner-:repo-issues">GET /repos/:owner/:repo/issues</h3>
<pre><code> githubcl GET /repos/:owner/:repo/issues [options] <owner> <repo></code></pre>
<p>List issues for a repository.</p>
<p>Options:</p>
<pre><code> --q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned. </code></pre>
<p>Parameters:</p>
<pre><code> owner * Name of repository owner.
examples/html/githubcl.html view on Meta::CPAN
<p>Parameters:</p>
<pre><code> teamId * Id of team.
owner * Name of a repository owner.
repo * Name of a repository. </code></pre>
<h3 id="GET-user">GET /user</h3>
<pre><code> githubcl GET /user</code></pre>
<p>Get the authenticated user.</p>
<h3 id="GET-user-emails">GET /user/emails</h3>
<pre><code> githubcl GET /user/emails</code></pre>
<p>List email addresses for a user....</p>
<h3 id="GET-user-followers">GET /user/followers</h3>
<pre><code> githubcl GET /user/followers</code></pre>
<p>List the authenticated user's followers...</p>
<h3 id="GET-user-following">GET /user/following</h3>
<pre><code> githubcl GET /user/following</code></pre>
<p>List who the authenticated user is following....</p>
<h3 id="GET-user-following-:username">GET /user/following/:username</h3>
<pre><code> githubcl GET /user/following/:username <username></code></pre>
<p>Check if you are following a user....</p>
<p>Parameters:</p>
<pre><code> username * Name of user.</code></pre>
<h3 id="GET-user-issues">GET /user/issues</h3>
<pre><code> githubcl GET /user/issues [options]</code></pre>
<p>List issues.</p>
<p>Options:</p>
<pre><code> --q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned. </code></pre>
<h3 id="GET-user-keys">GET /user/keys</h3>
<pre><code> githubcl GET /user/keys</code></pre>
examples/html/githubcl.html view on Meta::CPAN
<p>Get a single public key.</p>
<p>Parameters:</p>
<pre><code> keyId * ID of key.</code></pre>
<h3 id="GET-user-orgs">GET /user/orgs</h3>
<pre><code> githubcl GET /user/orgs</code></pre>
<p>List public and private organizations for the auth...</p>
<h3 id="GET-user-repos">GET /user/repos</h3>
<pre><code> githubcl GET /user/repos [options]</code></pre>
<p>List repositories for the authenticated user. Note...</p>
<p>Options:</p>
<pre><code> --q-type </code></pre>
<h3 id="GET-user-starred">GET /user/starred</h3>
<pre><code> githubcl GET /user/starred [options]</code></pre>
<p>List repositories being starred by the authenticat...</p>
<p>Options:</p>
<pre><code> --q-direction Ignored without 'sort' parameter.
--q-sort </code></pre>
<h3 id="GET-user-starred-:owner-:repo">GET /user/starred/:owner/:repo</h3>
<pre><code> githubcl GET /user/starred/:owner/:repo <owner> <repo></code></pre>
examples/html/githubcl.html view on Meta::CPAN
<p>Parameters:</p>
<pre><code> owner * Name of a repository owner.
repo * Name of a repository. </code></pre>
<h3 id="GET-user-subscriptions">GET /user/subscriptions</h3>
<pre><code> githubcl GET /user/subscriptions</code></pre>
<p>List repositories being watched by the authenticat...</p>
<h3 id="GET-user-subscriptions-:owner-:repo">GET /user/subscriptions/:owner/:repo</h3>
<pre><code> githubcl GET /user/subscriptions/:owner/:repo <owner> <repo></code></pre>
<p>Check if you are watching a repository....</p>
<p>Parameters:</p>
<pre><code> owner * Name of the owner.
examples/html/githubcl.html view on Meta::CPAN
<p>Get a single user.</p>
<p>Parameters:</p>
<pre><code> username * Name of user.</code></pre>
<h3 id="GET-users-:username-events">GET /users/:username/events</h3>
<pre><code> githubcl GET /users/:username/events <username></code></pre>
<p>If you are authenticated as the given user, you wi...</p>
<p>Parameters:</p>
<pre><code> username * Name of user.</code></pre>
<h3 id="GET-users-:username-events-orgs-:org">GET /users/:username/events/orgs/:org</h3>
<pre><code> githubcl GET /users/:username/events/orgs/:org <username> <org></code></pre>
<p>This is the user's organization dashboard. You mus...</p>
examples/html/githubcl.html view on Meta::CPAN
<p>Edit team.</p>
<p>Parameters:</p>
<pre><code> teamId * Id of team.</code></pre>
<h3 id="PATCH-user">PATCH /user</h3>
<pre><code> githubcl PATCH /user</code></pre>
<p>Update the authenticated user.</p>
<h3 id="POST">POST</h3>
<pre><code> githubcl POST <subcommands></code></pre>
<p>POST call</p>
<h3 id="POST-gists">POST /gists</h3>
<pre><code> githubcl POST /gists</code></pre>
examples/html/githubcl.html view on Meta::CPAN
<h3 id="POST-markdown-raw">POST /markdown/raw</h3>
<pre><code> githubcl POST /markdown/raw</code></pre>
<p>Render a Markdown document in raw mode...</p>
<h3 id="POST-orgs-:org-repos">POST /orgs/:org/repos</h3>
<pre><code> githubcl POST /orgs/:org/repos <org></code></pre>
<p>Create a new repository for the authenticated user...</p>
<p>Parameters:</p>
<pre><code> org * Name of organisation.</code></pre>
<h3 id="POST-orgs-:org-teams">POST /orgs/:org/teams</h3>
<pre><code> githubcl POST /orgs/:org/teams <org></code></pre>
<p>Create team.</p>
examples/html/githubcl.html view on Meta::CPAN
<h3 id="POST-user-keys">POST /user/keys</h3>
<pre><code> githubcl POST /user/keys</code></pre>
<p>Create a public key.</p>
<h3 id="POST-user-repos">POST /user/repos</h3>
<pre><code> githubcl POST /user/repos</code></pre>
<p>Create a new repository for the authenticated user...</p>
<h3 id="PUT">PUT</h3>
<pre><code> githubcl PUT <subcommands></code></pre>
<p>PUT call</p>
<h3 id="PUT-gists-:id-star">PUT /gists/:id/star</h3>
<pre><code> githubcl PUT /gists/:id/star <id></code></pre>
examples/html/githubcl.html view on Meta::CPAN
<p>Parameters:</p>
<pre><code> teamId * Id of team.
username * Name of a member.</code></pre>
<h3 id="PUT-teams-:teamId-repos-:org-:repo">PUT /teams/:teamId/repos/:org/:repo</h3>
<pre><code> githubcl PUT /teams/:teamId/repos/:org/:repo <teamId> <org> <repo></code></pre>
<p>In order to add a repository to a team, the authen...</p>
<p>Parameters:</p>
<pre><code> teamId * Id of team.
org * Name of a organization.
repo * Name of a repository. </code></pre>
<h3 id="PUT-user-following-:username">PUT /user/following/:username</h3>
<pre><code> githubcl PUT /user/following/:username <username></code></pre>
examples/html/metacpancl.html view on Meta::CPAN
<ul id="index">
<li><a href="#NAME">NAME</a></li>
<li><a href="#ABSTRACT">ABSTRACT</a></li>
<li><a href="#DESCRIPTION">DESCRIPTION</a>
<ul>
<li><a href="#GLOBAL-OPTIONS">GLOBAL OPTIONS</a></li>
<li><a href="#SUBCOMMANDS">SUBCOMMANDS</a>
<ul>
<li><a href="#GET">GET</a></li>
<li><a href="#GET-author-:author">GET /author/:author</a></li>
<li><a href="#GET-distribution-:distribution">GET /distribution/:distribution</a></li>
<li><a href="#GET-module-:module">GET /module/:module</a></li>
<li><a href="#GET-pod-:module">GET /pod/:module</a></li>
<li><a href="#GET-release-:author-:release">GET /release/:author/:release</a></li>
<li><a href="#GET-release-:distribution">GET /release/:distribution</a></li>
<li><a href="#GET-release-_search">GET /release/_search</a></li>
<li><a href="#POST">POST</a></li>
<li><a href="#POST-file">POST /file</a></li>
<li><a href="#help">help</a></li>
<li><a href="#meta">_meta</a></li>
<li><a href="#meta-completion">_meta completion</a></li>
<li><a href="#meta-completion-generate">_meta completion generate</a></li>
<li><a href="#meta-pod">_meta pod</a></li>
<li><a href="#meta-pod-generate">_meta pod generate</a></li>
examples/html/metacpancl.html view on Meta::CPAN
--help -h Show command help (flag) </code></pre>
<h2 id="SUBCOMMANDS">SUBCOMMANDS</h2>
<h3 id="GET">GET</h3>
<pre><code> metacpancl GET <subcommands></code></pre>
<p>GET call</p>
<h3 id="GET-author-:author">GET /author/:author</h3>
<pre><code> metacpancl GET /author/:author <author></code></pre>
<p>Author information</p>
<p>Parameters:</p>
<pre><code> author * CPAN handle</code></pre>
<h3 id="GET-distribution-:distribution">GET /distribution/:distribution</h3>
<pre><code> metacpancl GET /distribution/:distribution <distribution></code></pre>
<p>Distribution information not specific to a version...</p>
<p>Parameters:</p>
<pre><code> distribution * distribution name</code></pre>
examples/html/metacpancl.html view on Meta::CPAN
<p>Module POD</p>
<p>Options:</p>
<pre><code> --q-content-type Default is text/html</code></pre>
<p>Parameters:</p>
<pre><code> module * Module name</code></pre>
<h3 id="GET-release-:author-:release">GET /release/:author/:release</h3>
<pre><code> metacpancl GET /release/:author/:release <author> <release></code></pre>
<p>Release information</p>
<p>Parameters:</p>
<pre><code> author * CPAN handle
release * release, e.g. Moose-123</code></pre>
<h3 id="GET-release-:distribution">GET /release/:distribution</h3>
<pre><code> metacpancl GET /release/:distribution <distribution></code></pre>
<p>Release information</p>
<p>Parameters:</p>
<pre><code> distribution * distribution name</code></pre>
<h3 id="GET-release-_search">GET /release/_search</h3>
<pre><code> metacpancl GET /release/_search [options]</code></pre>
<p>Search releases</p>
<p>Options:</p>
<pre><code> --q-q * query ("author:ANDK AND status:latest")
--q-fields resultset fields
--q-size how many results </code></pre>
<h3 id="POST">POST</h3>
<pre><code> metacpancl POST <subcommands></code></pre>
<p>POST call</p>
<h3 id="POST-file">POST /file</h3>
examples/metacpancl-appspec.yaml view on Meta::CPAN
class: API::CLI
name: metacpancl
openapi:
basePath: /v0
host: api.metacpan.org
info:
description: Unofficial MetaCPAN API specification
title: MetaCPAN API
version: 3
paths:
/author/:author:
get:
description: Author information
parameters:
- description: CPAN handle
in: path
name: author
required: true
type: string
/distribution/:distribution:
get:
description: Distribution information not specific to a version
parameters:
- description: distribution name
in: path
name: distribution
required: true
examples/metacpancl-appspec.yaml view on Meta::CPAN
type: string
- description: Default is text/html
enum: &1
- text/html
- text/plain
- text/x-pod
- text/x-markdown
in: query
name: content-type
type: string
/release/:author/:release:
get:
description: Release information
parameters:
- description: CPAN handle
in: path
name: author
required: true
type: string
- description: release, e.g. Moose-123
in: path
name: release
required: true
type: string
/release/:distribution:
get:
description: Release information
parameters:
- description: distribution name
in: path
name: distribution
required: true
type: string
/release/_search:
get:
description: Search releases
parameters:
- description: query ("author:ANDK AND status:latest")
in: query
name: q
required: true
type: string
- description: resultset fields
in: query
name: fields
type: string
- description: how many results
in: query
examples/metacpancl-appspec.yaml view on Meta::CPAN
type: flag
- aliases:
- v
name: verbose
summary: verbose
type: flag
subcommands:
GET:
op: apicall
subcommands:
/author/:author:
options: []
parameters:
- name: author
required: 1
summary: CPAN handle
type: string
summary: Author information
/distribution/:distribution:
options: []
parameters:
- name: distribution
required: 1
summary: distribution name
examples/metacpancl-appspec.yaml view on Meta::CPAN
name: q-content-type
required: ~
summary: Default is text/html
type: string
parameters:
- name: module
required: 1
summary: Module name
type: string
summary: Module POD
/release/:author/:release:
options: []
parameters:
- name: author
required: 1
summary: CPAN handle
type: string
- name: release
required: 1
summary: release, e.g. Moose-123
type: string
summary: Release information
/release/:distribution:
options: []
parameters:
- name: distribution
required: 1
summary: distribution name
type: string
summary: Release information
/release/_search:
options:
- name: q-q
required: 1
summary: query ("author:ANDK AND status:latest")
type: string
- name: q-fields
required: ~
summary: resultset fields
type: string
- name: q-size
required: ~
summary: how many results
type: integer
parameters: []
examples/metacpancl-openapi.yaml view on Meta::CPAN
swagger: 2.0
info:
title: MetaCPAN API
description: Unofficial MetaCPAN API specification
version: 3
host: api.metacpan.org
schemes: [https]
basePath: /v0
paths:
/author/:author:
get:
description: Author information
parameters:
-
name: author
in: path
type: string
required: true
description: CPAN handle
/distribution/:distribution:
get:
description: Distribution information not specific to a version
parameters:
-
examples/metacpancl-openapi.yaml view on Meta::CPAN
get:
description: Release information
parameters:
-
name: distribution
in: path
type: string
required: true
description: distribution name
/release/:author/:release:
get:
description: Release information
parameters:
-
name: author
in: path
type: string
required: true
description: CPAN handle
-
name: release
in: path
type: string
required: true
description: release, e.g. Moose-123
examples/metacpancl-openapi.yaml view on Meta::CPAN
/release/_search:
get:
description: Search releases
parameters:
-
name: q
in: query
type: string
required: true
description: query ("author:ANDK AND status:latest")
-
name: fields
in: query
type: string
description: resultset fields
-
name: size
in: query
type: integer
description: how many results
examples/pod/githubcl.pod view on Meta::CPAN
githubcl GET /feeds
List Feeds.
=head3 GET /gists
githubcl GET /gists [options]
List the authenticated user's gists or if called a...
Options:
--q-since Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
=head3 GET /gists/:id
githubcl GET /gists/:id <id>
examples/pod/githubcl.pod view on Meta::CPAN
Options:
--q-since Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
=head3 GET /gists/starred
githubcl GET /gists/starred [options]
List the authenticated user's starred gists....
Options:
--q-since Timestamp in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ.
Only gists updated at or after this time are returned.
=head3 GET /gitignore/templates
githubcl GET /gitignore/templates
examples/pod/githubcl.pod view on Meta::CPAN
=head3 GET /issues
githubcl GET /issues [options]
List issues.
Options:
--q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
=head3 GET /legacy/issues/search/:owner/:repository/:state/:keyword
examples/pod/githubcl.pod view on Meta::CPAN
=head3 GET /orgs/:org/issues
githubcl GET /orgs/:org/issues [options] <org>
List issues.
Options:
--q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
Parameters:
org * Name of organisation.
examples/pod/githubcl.pod view on Meta::CPAN
githubcl GET /repos/:owner/:repo/commits [options] <owner> <repo>
List commits on a repository.
Options:
--q-since The time should be passed in as UTC in the ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Example: "2012-10-09T23:39:01Z".
--q-sha Sha or branch to start listing commits from.
--q-path Only commits containing this file path will be returned.
--q-author GitHub login, name, or email by which to filter by commit author.
--q-until ISO 8601 Date - Only commits before this date will be returned.
Parameters:
owner * Name of repository owner.
repo * Name of repository.
=head3 GET /repos/:owner/:repo/commits/:ref/status
githubcl GET /repos/:owner/:repo/commits/:ref/status <owner> <repo> <ref>
examples/pod/githubcl.pod view on Meta::CPAN
=head3 GET /repos/:owner/:repo/issues
githubcl GET /repos/:owner/:repo/issues [options] <owner> <repo>
List issues for a repository.
Options:
--q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
Parameters:
owner * Name of repository owner.
examples/pod/githubcl.pod view on Meta::CPAN
Parameters:
teamId * Id of team.
owner * Name of a repository owner.
repo * Name of a repository.
=head3 GET /user
githubcl GET /user
Get the authenticated user.
=head3 GET /user/emails
githubcl GET /user/emails
List email addresses for a user....
=head3 GET /user/followers
githubcl GET /user/followers
List the authenticated user's followers...
=head3 GET /user/following
githubcl GET /user/following
List who the authenticated user is following....
=head3 GET /user/following/:username
githubcl GET /user/following/:username <username>
Check if you are following a user....
Parameters:
examples/pod/githubcl.pod view on Meta::CPAN
=head3 GET /user/issues
githubcl GET /user/issues [options]
List issues.
Options:
--q-filter * Issues assigned to you / created by you / mentioning you / you're
subscribed to updates for / All issues the authenticated user can see
--q-state *
--q-labels * String list of comma separated Label names. Example - bug,ui,@high.
--q-sort *
--q-direction *
--q-since Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
=head3 GET /user/keys
examples/pod/githubcl.pod view on Meta::CPAN
Get a single public key.
Parameters:
keyId * ID of key.
=head3 GET /user/orgs
githubcl GET /user/orgs
List public and private organizations for the auth...
=head3 GET /user/repos
githubcl GET /user/repos [options]
List repositories for the authenticated user. Note...
Options:
--q-type
=head3 GET /user/starred
githubcl GET /user/starred [options]
List repositories being starred by the authenticat...
Options:
--q-direction Ignored without 'sort' parameter.
--q-sort
=head3 GET /user/starred/:owner/:repo
githubcl GET /user/starred/:owner/:repo <owner> <repo>
examples/pod/githubcl.pod view on Meta::CPAN
Parameters:
owner * Name of a repository owner.
repo * Name of a repository.
=head3 GET /user/subscriptions
githubcl GET /user/subscriptions
List repositories being watched by the authenticat...
=head3 GET /user/subscriptions/:owner/:repo
githubcl GET /user/subscriptions/:owner/:repo <owner> <repo>
Check if you are watching a repository....
Parameters:
examples/pod/githubcl.pod view on Meta::CPAN
Get a single user.
Parameters:
username * Name of user.
=head3 GET /users/:username/events
githubcl GET /users/:username/events <username>
If you are authenticated as the given user, you wi...
Parameters:
username * Name of user.
=head3 GET /users/:username/events/orgs/:org
githubcl GET /users/:username/events/orgs/:org <username> <org>
This is the user's organization dashboard. You mus...
examples/pod/githubcl.pod view on Meta::CPAN
Edit team.
Parameters:
teamId * Id of team.
=head3 PATCH /user
githubcl PATCH /user
Update the authenticated user.
=head3 POST
githubcl POST <subcommands>
POST call
=head3 POST /gists
examples/pod/githubcl.pod view on Meta::CPAN
githubcl POST /markdown/raw
Render a Markdown document in raw mode...
=head3 POST /orgs/:org/repos
githubcl POST /orgs/:org/repos <org>
Create a new repository for the authenticated user...
Parameters:
org * Name of organisation.
=head3 POST /orgs/:org/teams
githubcl POST /orgs/:org/teams <org>
Create team.
examples/pod/githubcl.pod view on Meta::CPAN
githubcl POST /user/keys
Create a public key.
=head3 POST /user/repos
githubcl POST /user/repos
Create a new repository for the authenticated user...
=head3 PUT
githubcl PUT <subcommands>
PUT call
=head3 PUT /gists/:id/star
examples/pod/githubcl.pod view on Meta::CPAN
Parameters:
teamId * Id of team.
username * Name of a member.
=head3 PUT /teams/:teamId/repos/:org/:repo
githubcl PUT /teams/:teamId/repos/:org/:repo <teamId> <org> <repo>
In order to add a repository to a team, the authen...
Parameters:
teamId * Id of team.
org * Name of a organization.
repo * Name of a repository.
=head3 PUT /user/following/:username
githubcl PUT /user/following/:username <username>
examples/pod/metacpancl.pod view on Meta::CPAN
=head2 SUBCOMMANDS
=head3 GET
metacpancl GET <subcommands>
GET call
=head3 GET /author/:author
metacpancl GET /author/:author <author>
Author information
Parameters:
author * CPAN handle
=head3 GET /distribution/:distribution
metacpancl GET /distribution/:distribution <distribution>
Distribution information not specific to a version...
Parameters:
distribution * distribution name
examples/pod/metacpancl.pod view on Meta::CPAN
Module POD
Options:
--q-content-type Default is text/html
Parameters:
module * Module name
=head3 GET /release/:author/:release
metacpancl GET /release/:author/:release <author> <release>
Release information
Parameters:
author * CPAN handle
release * release, e.g. Moose-123
=head3 GET /release/:distribution
metacpancl GET /release/:distribution <distribution>
Release information
Parameters:
distribution * distribution name
=head3 GET /release/_search
metacpancl GET /release/_search [options]
Search releases
Options:
--q-q * query ("author:ANDK AND status:latest")
--q-fields resultset fields
--q-size how many results
=head3 POST
metacpancl POST <subcommands>
POST call
examples/zsh/_githubcl view on Meta::CPAN
# ---- Command: GET
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'*: :->args' \
&& ret=0
case $state in
cmd2)
_alternative 'args:cmd3:((/emojis\:"Lists all the emojis available to use on GitHub...." /events\:"List public events." /feeds\:"List Feeds." /gists\:"List the authenticated user'"'"'s gists or if called a..." /gists/\\:id\:"Get a...
;;
args)
case $line[2] in
/emojis)
# ---- Command: GET /emojis
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
examples/zsh/_githubcl view on Meta::CPAN
'1: :->cmd1' \
'2: :->cmd2' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
'--q-filter[Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
]:q-filter:("assigned" "created" "mentioned" "subscribed" "all")' \
'--q-state[]:q-state:("open" "closed")' \
'--q-labels[String list of comma separated Label names. Example - bug,ui,@high.]:q-labels' \
'--q-sort[]:q-sort:("created" "updated" "comments")' \
'--q-direction[]:q-direction:("asc" "desc")' \
'--q-since[Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
]:q-since' \
&& ret=0
examples/zsh/_githubcl view on Meta::CPAN
'2: :->cmd2' \
'3: :->org' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
'--q-filter[Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
]:q-filter:("assigned" "created" "mentioned" "subscribed" "all")' \
'--q-state[]:q-state:("open" "closed")' \
'--q-labels[String list of comma separated Label names. Example - bug,ui,@high.]:q-labels' \
'--q-sort[]:q-sort:("created" "updated" "comments")' \
'--q-direction[]:q-direction:("asc" "desc")' \
'--q-since[Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
]:q-since' \
&& ret=0
examples/zsh/_githubcl view on Meta::CPAN
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
'--q-since[The time should be passed in as UTC in the ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Example: "2012-10-09T23:39:01Z".
]:q-since' \
'--q-sha[Sha or branch to start listing commits from.]:q-sha' \
'--q-path[Only commits containing this file path will be returned.]:q-path' \
'--q-author[GitHub login, name, or email by which to filter by commit author.]:q-author' \
'--q-until[ISO 8601 Date - Only commits before this date will be returned.]:q-until' \
&& ret=0
case $state in
owner)
;;
repo)
;;
examples/zsh/_githubcl view on Meta::CPAN
'3: :->owner' \
'4: :->repo' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
'--q-filter[Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
]:q-filter:("assigned" "created" "mentioned" "subscribed" "all")' \
'--q-state[]:q-state:("open" "closed")' \
'--q-labels[String list of comma separated Label names. Example - bug,ui,@high.]:q-labels' \
'--q-sort[]:q-sort:("created" "updated" "comments")' \
'--q-direction[]:q-direction:("asc" "desc")' \
'--q-since[Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
]:q-since' \
&& ret=0
examples/zsh/_githubcl view on Meta::CPAN
'1: :->cmd1' \
'2: :->cmd2' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
'--q-filter[Issues assigned to you / created by you / mentioning you / you'"'"'re
subscribed to updates for / All issues the authenticated user can see
]:q-filter:("assigned" "created" "mentioned" "subscribed" "all")' \
'--q-state[]:q-state:("open" "closed")' \
'--q-labels[String list of comma separated Label names. Example - bug,ui,@high.]:q-labels' \
'--q-sort[]:q-sort:("created" "updated" "comments")' \
'--q-direction[]:q-direction:("asc" "desc")' \
'--q-since[Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Only issues updated at or after this time are returned.
]:q-since' \
&& ret=0
examples/zsh/_githubcl view on Meta::CPAN
# ---- Command: PATCH
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'*: :->args' \
&& ret=0
case $state in
cmd2)
_alternative 'args:cmd3:((/gists/\\:id\:"Edit a gist." /gists/\\:id/comments/\\:commentId\:"Edit a comment." /notifications/threads/\\:id\:"Mark a thread as read" /orgs/\\:org\:"Edit an Organization." /repos/\\:owner/\\:repo\:"Edi...
;;
args)
case $line[2] in
/gists/:id)
# ---- Command: PATCH /gists/:id
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
examples/zsh/_githubcl view on Meta::CPAN
# ---- Command: POST
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'*: :->args' \
&& ret=0
case $state in
cmd2)
_alternative 'args:cmd3:((/gists\:"Create a gist." /gists/\\:id/comments\:"Create a commen" /gists/\\:id/forks\:"Fork a gist." /markdown\:"Render an arbitrary Markdown document..." /markdown/raw\:"Render a Markdown document in raw...
;;
args)
case $line[2] in
/gists)
# ---- Command: POST /gists
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
examples/zsh/_githubcl view on Meta::CPAN
# ---- Command: PUT
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'*: :->args' \
&& ret=0
case $state in
cmd2)
_alternative 'args:cmd3:((/gists/\\:id/star\:"Star a gist." /notifications\:"Mark as read." /notifications/threads/\\:id/subscription\:"Set a Thread Subscription." /orgs/\\:org/public_members/\\:username\:"Publicize a user'"'"'s m...
;;
args)
case $line[2] in
/gists/:id/star)
# ---- Command: PUT /gists/:id/star
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
examples/zsh/_metacpancl view on Meta::CPAN
# ---- Command: GET
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'*: :->args' \
&& ret=0
case $state in
cmd2)
_alternative 'args:cmd3:((/author/\\:author\:"Author information" /distribution/\\:distribution\:"Distribution information not specific to a version..." /module/\\:module\:"Module information" /pod/\\:module\:"Module POD" /release...
;;
args)
case $line[2] in
/author/:author)
# ---- Command: GET /author/:author
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'3: :->author' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
&& ret=0
case $state in
author)
;;
esac
;;
/distribution/:distribution)
# ---- Command: GET /distribution/:distribution
_arguments -s -C \
'1: :->cmd1' \
examples/zsh/_metacpancl view on Meta::CPAN
'--q-content-type[Default is text/html]:q-content-type:("text/html" "text/plain" "text/x-pod" "text/x-markdown")' \
&& ret=0
case $state in
module)
;;
esac
;;
/release/:author/:release)
# ---- Command: GET /release/:author/:release
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'3: :->author' \
'4: :->release' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
&& ret=0
case $state in
author)
;;
release)
;;
esac
;;
/release/:distribution)
examples/zsh/_metacpancl view on Meta::CPAN
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
'--q-q[query ("author:ANDK AND status:latest")]:q-q' \
'--q-fields[resultset fields]:q-fields' \
'--q-size[how many results]:q-size' \
&& ret=0
;;
esac
;;
examples/zsh/_metacpancl view on Meta::CPAN
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'3: :->cmd3' \
'*: :->args' \
&& ret=0
case $state in
cmd3)
_alternative 'args:cmd4:((/author/\\:author /distribution/\\:distribution /module/\\:module /pod/\\:module /release/\\:author/\\:release /release/\\:distribution /release/_search))'
;;
args)
case $line[3] in
/author/:author)
# ---- Command: help GET /author/:author
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'3: :->cmd3' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
examples/zsh/_metacpancl view on Meta::CPAN
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
'-h[Show command help]' \
'--all[]' \
&& ret=0
;;
/release/:author/:release)
# ---- Command: help GET /release/:author/:release
_arguments -s -C \
'1: :->cmd1' \
'2: :->cmd2' \
'3: :->cmd3' \
'--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
'--debug[debug]' \
'-d[debug]' \
'--verbose[verbose]' \
'-v[verbose]' \
'--help[Show command help]' \
lib/API/CLI.pm view on Meta::CPAN
use HTTP::Request;
use App::Spec;
use JSON::XS;
use API::CLI::Request;
use Moo;
has dir => ( is => 'ro' );
has openapi => ( is => 'ro' );
sub add_auth {
my ($self, $req) = @_;
my $appconfig = $self->read_appconfig;
my $token = $appconfig->{token};
$req->header(Authorization => "Bearer $token");
}
sub read_appconfig {
my ($self) = @_;
my $dir = $self->dir;
my $appconfig = YAML::XS::LoadFile("$dir/config.yaml");
lib/API/CLI.pm view on Meta::CPAN
my $REQ = API::CLI::Request->from_openapi(
openapi => $run->spec->openapi,
method => $method,
path => $path,
options => $opt,
parameters => $params,
verbose => $opt->{verbose} ? 1 : 0,
);
$self->add_auth($REQ);
if ($method =~ m/^(POST|PUT|PATCH|DELETE)$/) {
my $data_file = $opt->{'data-file'};
if (defined $data_file) {
open my $fh, '<', $data_file or die "Could not open '$data_file': $!";
my $data = do { local $/; <$fh> };
close $fh;
$REQ->content($data);
}
}
lib/API/CLI.pm view on Meta::CPAN
API::CLI - Generic Framework for REST API Command Line Clients
=head1 SYNOPSIS
use API::CLI::App::Spec;
package API::CLI::MetaCPAN;
use base 'API::CLI';
sub add_auth {
}
package main;
my $appspec_file = "$Bin/../metacpancl-appspec.yaml";
my $spec = API::CLI::App::Spec->read($appspec_file);
my $runner = App::Spec::Run->new(
spec => $spec,
cmd => API::CLI::MetaCPAN->new(
dir => "$ENV{HOME}/.githubcl",
lib/API/CLI.pm view on Meta::CPAN
Bash users: Note that completion for options and parameters currently does not
work.
=head1 METHODS
=over 4
=item add_auth
=item apicall
=item dir
=item read_appconfig
=item openapi
=back