GCLI-ISSUES(1)

NAME
gcli issues - Manage issues in various git forges

SYNOPSIS
gcli issues [forge-path] [-n n] [-a] [-s] [-A author] [-L label] [-M milestone] [-S assignee] [-o owner -r repo] [search-query]
gcli issues [forge-path] -i issue [-o owner -r repo] actions...
gcli issues [forge-path] create [-o owner -r repo] [-y] [-T template-file] [issue-title]

DESCRIPTION
Use gcli issues to search, list, create, edit or delete issues in repositories in various git(1) forges such as GitHub, GitLab and Gitea. Without any action specified, gcli issues will list issues in the given or auto-detected repository.

On Bugzilla one can use the quick-search syntax in the search-query to make more fine-grained searches. See SEE ALSO and EXAMPLES for more information.

OPTIONS

-s, --sorted
    Reverse the output such that most recent items appear at the bottom.

-o, --owner owner
    List issues in the repository of the given owner. This option can only be used in combination with -r.

-r, --repo repo
    List issues in the given repository. This option can only be used in combination with -o.

-a  List issues disregarding their state. This will list closed issues as well. Cannot be combined with actions. This does not affect the -n option.

-A, --author user
    Only list issues authored by the given user.

-L, --label label
    Filter issues by the given label. This option may only be specified once.

-M, --milestone milestone
    Filter issues by the given milestone. This option may only be specified once.

-S, --assignee assignee
    Filter issues by the given assignee. This option may only be specified once.

-n, --count n
    Fetch at least n issues. Setting n to -1 will fetch all issues. Default: 30. Note that on large repositories fetching all issues can take a considerable amount of time and may result in rate limiting by the respective API. See CAVEATS.

-i, --id issue
    execute the given actions for the specified issue.

SUBCOMMANDS

create
    Create a new issue in the given or auto-detected repository. The editor will come up and ask you to enter an issue message.

    When the issue title is omitted gcli will interactively prompt you for all the details to create an issue.

    The following flags can be specified:

    -o, --owner owner
        Specify the owner of the repository in which to create the issue.

    -r, --repo repository
        Specify in which repository the issue is to be created.

    -T, --template template-file
        Use the given template-file as a template for the issue message body.

    -y, --yes
        Do not ask for confirmation before creating the issue. Assume yes.

ACTIONS
actions... may be one or more of the following:

all Display both a summary and the original post of the issue.

comments
    Print a list of comments under the issue.

status
    Print a short summary of the issue.

op  Print the original post of the issue.

close
    Close the issue.

reopen
    Reopen a closed issue.

assign assignee
    Assign the issue to the given assignee (user name).

labels [options]
    The following options can be specified more than once:

    add label
        Add the given label to the issue.

    remove label
        Remove the given label from the issue.

milestone id
    Assign the issue to a milestone with the given id.

milestone -d
    Clear associated milestone of the given issue.

notes
    Alias for the comments action that prints the list of comments associated with the issue.

title new-title
    Change the title of the issue to new-title.

attachments
    List bug attachments. This action is only available on Bugzilla.

open
    Open the issue in a web browser using xdg-open(1).

edit
    Open the original post in an editor for editing. After saving and exiting the editor the original post is updated when confirmed by the user.

due YYYY-mm-dd
    Set the issue to be due at the given date.

EXAMPLES
Print a list of issues in the current project:

    $ gcli issues

Search for issues containing “crash” in contour-terminal/contour on GitHub including closed issues:

    $ gcli -t github issues -o contour-terminal -r contour -a crash

List issues in herrhotzenplotz/gcli on GitLab using the forge path shorthand:

    $ gcli issues gl:herrhotzenplotz/gcli

Report a new issue in the current project; interactively asking for details:

    $ gcli issues create

Report a new issue titled “summary here” in the current project:

    $ gcli issues create "summary here"

Print both a summary and comments of issue 1 in herrhotzenplotz/gcli:

    $ gcli issues -o herrhotzenplotz -r gcli -i 1 status comments

Add the labels ‘foo’ and ‘bar’ to the issue with id 420:

    $ gcli issues -i420 labels add foo add bar

List issues with the label “bug”:

    $ gcli issues -L bug

Search for Bugzilla Bugs in product “foo” with “RandomUser” set in CC:

    $ gcli -t bugzilla issues product:foo cc:RandomUser

SEE ALSO
git(1), gcli(1), Bugzilla QuickSearch Syntax: https://bugzilla.mozilla.org/page.cgi?id=quicksearch.html

AUTHORS
Nico Sonack aka. herrhotzenplotz <nsonack@herrhotzenplotz.de> and contributors.

CAVEATS
GitHub and Gitea treat Pull Requests as Issues. Due to the semantics of gcli issues those issues that are actually PRs are dropped from the output. In this case a note will be printed indicating how many issues were dropped. You can suppress this warning using the -q program option.

BUGS
GitHub only supports removing labels from issues one by one. If you still want to remove multiple issues with a single gcli call, you may do something like:

    $ gcli issues -i42 \
            labels remove bug \
            labels remove foo

Please report bugs via E-Mail to https://lists.sr.ht/~herrhotzenplotz/gcli-discuss.

Alternatively you can report them on any of the forges linked at https://sr.ht/~herrhotzenplotz/gcli. However, the preferred and quickest method is to use the mailing list.