Provided by: glab_1.49.0-1_amd64 bug

NAME

       glab-api - Make an authenticated request to the GitLab API.

SYNOPSIS

       glab api  [flags]

DESCRIPTION

       Makes  an  authenticated  HTTP  request  to  the GitLab API, and prints the response.  The
       endpoint argument should either be a path of a GitLab API v4  endpoint,  or  "graphql"  to
       access the GitLab GraphQL API.

              • GitLab REST API documentation ⟨https://docs.gitlab.com/ee/api/index.html⟩

              • GitLab GraphQL documentation ⟨https://docs.gitlab.com/ee/api/graphql/⟩

       If  the  current  directory  is a Git directory, uses the GitLab authenticated host in the
       current directory. Otherwise, gitlab.com will be used.  To override the  GitLab  hostname,
       use '--hostname'.

       These  placeholder  values,  when  used in the endpoint argument, are replaced with values
       from the repository of the current directory:

              • :branch:fullpath:group:id:namespace:repo:user:username

       Methods: the default HTTP request method is "GET", if no parameters are added, and  "POST"
       otherwise. Override the method with '--method'.

       Pass  one  or  more  '--raw-field' values in "key=value" format to add JSON-encoded string
       parameters to the POST body.

       The '--field' flag behaves like '--raw-field' with magic  type  conversion  based  on  the
       format of the value:

              • Literal  values  "true",  "false",  "null",  and integer numbers are converted to
                appropriate JSON types.

              • Placeholder values ":namespace", ":repo", and ":branch" are populated with values
                from the repository of the current directory.

              • If  the value starts with "@", the rest of the value is interpreted as a filename
                to read the value from. Pass "-" to read from standard input.

       For GraphQL requests, all fields other than "query" and "operationName" are interpreted as
       GraphQL variables.

       Raw  request  body can be passed from the outside via a file specified by '--input'.  Pass
       "-" to read from standard input. In this mode, parameters specified with --field flags are
       serialized into URL query parameters.

       In  '--paginate' mode, all pages of results are requested sequentially until no more pages
       of results remain. For GraphQL requests:

              • The original query must accept an '$endCursor: String' variable.

              • The query must fetch the 'pageInfo{ hasNextPage, endCursor }' set of fields  from
                a collection.

OPTIONS

       -F,  --field=[]       Add a parameter of inferred type. Changes the default HTTP method to
       "POST".

       -H, --header=[]      Add an additional HTTP request header.

       --hostname=""      The GitLab hostname for the request. Defaults to "gitlab.com",  or  the
       authenticated host in the current Git directory.

       -i, --include[=false]      Include HTTP response headers in the output.

       --input=""      The file to use as the body for the HTTP request.

       -X, --method="GET"      The HTTP method for the request.

       --paginate[=false]      Make additional HTTP requests to fetch all pages of results.

       -f, --raw-field=[]      Add a string parameter.

       --silent[=false]      Do not print the response body.

OPTIONS INHERITED FROM PARENT COMMANDS

       --help[=false]      Show help for this command.

EXAMPLE

       $ glab api projects/:fullpath/releases

       $ glab api projects/gitlab-com%2Fwww-gitlab-com/issues

       $ glab api issues --paginate

       $ glab api graphql -f query='
         query {
           project(fullPath: "gitlab-org/gitlab-docs") {
             name
             forksCount
             statistics {
               wikiSize
             }
             issuesEnabled
             boards {
               nodes {
                 id
                 name
               }
             }
           }
         }
       '

       $ glab api graphql --paginate -f query='
         query($endCursor: String) {
           project(fullPath: "gitlab-org/graphql-sandbox") {
             name
             issues(first: 2, after: $endCursor) {
               edges {
                 node {
                   title
                 }
               }
               pageInfo {
                 endCursor
                 hasNextPage
               }
             }
           }
         }'

SEE ALSO

       glab(1)