Github REST API
- GitHub REST API - GitHub Docs
- GitHub - cli/cli: GitHub’s official command line tool 을 제공한다. 이것을 이용해서 github rest api 를 사용할 수 있다.
- download : https://github.com/cli/cli/releases/latest
- Quickstart for GitHub REST API
Github CLI, gh
먼저 cli 를 설치하면 windows 의 경우 gh.exe
하나가 설치된다.
github CLI 는 REST API 만 사용할 수 있게 해주는 것이 아니다. github 와 관련된 다른 작업들도 CLI 에서 수행할 수 있게 command를 제공한다. 예를 들면, 현재 내 local git project 에서 gh issue list
를 하면, 해당 repository 의 issue 들을 보여준다. gh issue create
하면 github issue 를 새롭게 생성해준다.
이제 로그인을 해보자. gh auth login
을 하면 된다.
d:\a\apps\GitHub CLI>gh.exe auth login
? What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations? SSH
? Generate a new SSH key to add to your GitHub account? No
? How would you like to authenticate GitHub CLI? Login with a web browser
! First copy your one-time code: 3A69-3D32
Press Enter to open github.com in your browser...
✓ Authentication complete.
- gh config set -h github.com git_protocol ssh
✓ Configured git protocol
✓ Logged in as testuseraccount
gh api
auth 를 얻은 상황에서 gh api 를 사용하면 github 의 REST api 를 사용할 수 있다. 아래처럼 사용할 수 있다. 다음 문서의 example 을 가면 여러 예제들을 확인할 수 있다.
- gh api | GitHub CLI | Take GitHub to the command line
- gh issue | GitHub CLI | Take GitHub to the command line
# list releases in the current repository
$ gh api repos/{owner}/{repo}/releases
# post an issue comment
$ gh api repos/{owner}/{repo}/issues/123/comments -f body='Hi from CLI'
# use a template for the output
$ gh api repos/{owner}/{repo}/issues --template \
'{{range .}}{{.title}} ({{.labels | pluck "name" | join ", " | color "yellow"}}){{"\n"}}{{end}}'
$ gh api graphql --paginate
issue 내용 보는 법
현재 git repository 에서 아래 처럼 github issue 를 볼 수 있다. 그런데 이 방법은 그냥 view 를 위한 것이다.
gh issue list
gh issue view 24
실제로 markdown 으로 된 contents 를 확인하려면 아래처럼 하면 된다.
$ gh api repos/namhpro/my_server/issues/10
$ gh api repos/namhpro/my_server/issues/10/comments
관련 python packages
- GitHub - basedrhys/github-scraper: Python package to download GitHub source code for specific file types easily
- GitHub - fumi232323/github-issues-downloader: This will download GitHub Issues
댓글 없음:
댓글 쓰기