Let's start off by listing some issues - here for the curl project
which is hosted on GitHub under curl/curl
. To list issues for it one
would run:
$ gcli -t github issues -o curl -r curl
You will see the list of the 30 most recent open issue tickets. The command above does the following:
-o curl
)-r curl
)Note that the -t github
option goes before the issues subcommand
because it is a global option for gcli that affects how all the
following things like subcommands operate.
However, now I also want to see closed issues:
$ gcli -t github issues -o curl -r curl -a
The -a
option will disregard the status of the issue.
Oh and the screen is a bit cluttered by all these tickets - let's only fetch the first 10 issues:
$ gcli -t github issues -o curl -r curl -n10
Before reporting a bug or looking for solutions to a problem that you found in a program you may want to search for issues.
Let's search for avast
in curl/curl
:
$ gcli -t github issues -o curl -r curl -a avast
NUMBER NOTES STATE TITLE
11383 9 open Issue with FileZilla server (GnuTLS) and close_notify
10551 7 closed Unable to use curl 7.87 for SSL connections on Windows 10 Pro
8848 2 closed CURL SSL certificate problem when AVAST HTTPS scanning enabled
$
As you can see searching for something is just a matter of appending
keywords to the issues
subcommand. You can specify any amount of
search terms - they will all be used in the query. Again, -a
ignores the status of the issue such that we also see closed tickets.
As of now we only produced lists of issues. However, we may also want to look at the details of an issue such as:
Let's get a good summary of issue #11268
in the curl project:
$ gcli -t github issues -o curl -r curl -i 11268 all
As you can see most of the options are the same, however now we tell
gcli with the -i 11268
option that we want to work with a single
issue. Then we tell gcli what actions to perform on the issue. Another
important action is comments
. Guess what it does:
$ gcli -t github issues -o curl -r curl -i 11268 comments
I know a person that likes to post long verbose traces. Let's search for an issue authored by them on the OpenSSL GitHub page:
$ gcli -t github issues -o openssl -r openssl -A blastwave -a
NUMBER STATE TITLE
20379 open test "80-test_ssl_new.t" fails on Solaris 10 SPARCv9
10547 open Strict C90 CFLAGS results in sha.h:91 ISO C90 does not support long long
8048 closed OPENSSL_strnlen SIGSEGV in o_str.c line 76
$
The -A
option lets you filter for specific authors.
Let's look at the issue state of #10547
:
$ gcli -t github issues -o openssl -r openssl -i 10547 status
NAME : 10547
TITLE : Strict C90 CFLAGS results in sha.h:91 ISO C90 does not support long long
CREATED : 2019-12-01T04:35:23Z
AUTHOR : blastwave
STATE : open
COMMENTS : 9
LOCKED : no
LABELS : triaged: bug
ASSIGNEES : none
$
That's nine comments - let's read the original post and the comments
in our favourite pager less
:
$ gcli -t github issues -o openssl -r openssl -i 10547 op comments | less
As you can see gcli will accept multiple actions for an issue and executes them sequentially.