# GitHub Cli Exercises
As a first step, install the GitHub CLI (opens new window).
TIP
GH Cli has not stopped evolving since it was released and includes now many of the features asked for in the exercises. Therefore, when answering the exercises, explore not only the "current" GH Cli best solution but try also to find to reproduce the current functionality using the gh api
command.
# get-lab-names
Using the GH REST API, make a gh alias get-lab-names
to get the names of the repos inside an organization sorted by last push
See
- Section GH REST API
- Section Exercise: Search for repos inside an organization inside the section gh Alias
# Issues of a repo
Using the GH REST API, make a gh alias repo-issues-get
to get the issues of a repo.
See
- sections Example: Issues of a repo and
- section Templates for the output
# Create repo
Using the GH REST API, make a gh alias repo-create
to create a repo. See
section POST Example: Create a Repo
# List all repos in an organization
Using the GH REST API, make a gh alias org-repos-list
to list all repos in an organization. See
section Pagination of the GH REST API chapter
# Formatted Issue list
Using the GH REST API and a Go template, make a gh alias repo-issues-list
to list all issues of a repo in a formatted way.
See section Templates for the output
# Number of repos in an organization using GraphQL
Using the GH GraphQL API write a gh extension org-num-repos
to count the number of repos in an organization. See
section Example: Number of repos in an Organization
# Get the Issues
Using the GH GraphQL API write a gh alias repo-issues-get
to get the issues of a repo. See the section Getting issues
A solution is in folder learning-graphql-with-gh/gh-graphql-connection-example (opens new window)
# List all repos in an organization with GraphQL
Using the GH GraphQL API, make a gh extension org-repos-list
to list all repos in an organization. See
section Pagination of the GH GraphQL API chapter
See a solution at folder learning-graphql-with-gh/org-getallrepos-graphql-pagination (opens new window)
# Add a Reaction
Using the GH GraphQL API write a gh alias issue-add-reaction
to
- find an issue of a given repo by number and
- adds a given reaction to the issue.
See the section Mutation of the GraphQL Examples chapter
A solution is at folder /learning-graphql-with-gh/addreactiontoissue (opens new window)
# Rename a repo
Using the GH GraphQL API write a gh alias repo-rename
to rename a repo.
See the sections Mutation and the section Rename Repository of the GraphQL Examples chapter
See folder learning-graphql-with-gh/repo-rename-mutation (opens new window) for a solution
# Add a Reply to a Comment in a Discussion
Using the GH GraphQL API write gh scripts to
- Get the discussions of some repo
- Get the comments in a discussion
- Add a reply to a comment in a discussion
See the sections
- Mutation and the section
- Add Reply to Discussion Comment
of the GraphQL Examples chapter
See also learning-graphql-with-gh/discussions-mutation (opens new window) for a solution to the exercise