현업 SW 개발자의 연구 노트
Hits

GitHub에서 레포지토리의 생성일을 확인하는 방법

Hits
GitHub API를 이용해서 레포지토리의 생성일을 확인하는 방법에 대해서 설명합니다.

GitHub Pages를 생성하고 16일만에 구글의 애드센스를 게시할 수 있게 되었습니다. 웹 페이지를 처음 생성한 초기에는 사용법에 익숙하지 않아서 많이 힘들었습니다. 아시다시피 GitHub Pages는 GitHub에서 관리되는 웹서버입니다. 무료로 사용할 수 있는데다가 GitHub의 형상 관리 기능을 그대로 사용할 수 있기 때문에 컨텐츠 관리에도 효율적입니다.

나름 SW 개발을 약 15년 가까이 하고 있어서 GitHub에 상당히 익숙하니다만, GitHub Pages용 레포지토리를 언제 생성했는지 막상 확인하려 했더니 어떻게 확인해야 될지 조금 막막하더군요.
API 호출을 통해서 깃헙 저장소의 생성일을 확인할 수 있는 방법에 대해서 설명드리겠습니다.

GitHub API를 이용해서 레포지토리의 생성일을 확인하는 방법 (웹브라우저 이용)

GitHub API를 이용하면 레포지토리의 생성일을 손쉽게 확인할 수 있습니다. 난이도는 아주 낮기 때문에 누구든지 어렵지 않게 확인할 수 있습니다. 웹브라우저에 아래와 같은 형식으로 입력해보면 됩니다.

https://api.github.com/repos/{username}/{repository name}

예를 들어서 username이 boyinblue이고, repo명이 boyinblue.github.io 라면 아래와 같이 입력하면 됩니다.

https://api.github.com/repos/boyinblue/boyinblue.github.io

실행 결과는 아래와 같습니다.

GitHub 레포지토리의 생성일을 확인하는 방법

GitHub API의 응답은 json 형식으로 리턴됩니다. 그 중에서도 “created_at” 항목을 보시면 언제 생성되었는지 확인하실 수 있습니다.

  "releases_url": "https://api.github.com/repos/boyinblue/boyinblue.github.io/releases{/id}",
  "deployments_url": "https://api.github.com/repos/boyinblue/boyinblue.github.io/deployments",
  "created_at": "2022-03-06T06:20:09Z",
  "updated_at": "2022-03-21T15:23:44Z",
  "pushed_at": "2022-03-22T00:25:25Z",
  "git_url": "git://github.com/boyinblue/boyinblue.github.io.git",
  "ssh_url": "git@github.com:boyinblue/boyinblue.github.io.git",
  "clone_url": "https://github.com/boyinblue/boyinblue.github.io.git",
  "svn_url": "https://github.com/boyinblue/boyinblue.github.io",

제 GitHub Pages는 2022년 3월 6일에 생성되었다는 것을 확인할 수 있습니다.

GitHub API를 이용해서 레포지토리의 생성일을 확인하는 방법 (curl 명령 이용)

위와 같이 웹브라우저에서 확인하는 방법은 다소 불편함이 있습니다. 사람이 손으로 웹브라우저에 주소를 입력해줘야하고, 그 결과도 찾아봐야되기 때문입니다. 우선 웹브라우저 없이 curl 명령을 통해서 확인하는 방법에 대해서 설명드리겠습니다. 웹 브라우저에 입력했던 URL을 curl 명령 인자로 넣어주기만 하면 됩니다.

$ curl https://api.github.com/repos/boyinblue/boyinblue.github.io

아까 웹브라우저로 살펴봤던 내용과 동일한 내용이 json으로 출력됩니다. 다음 단계는, 출력되는 json 중에서 필요한 내용만 추출하는 것입니다. Ubuntu Linux 기준으로 jq라는 패키지를 사용하면 손쉽게 파싱할 수 있습니다.

혹시 jq 패키지가 설치되어 있지 않다면 $ sudo apt-get install jq 명령을 통해서 설치해줍니다. 이미 jq 패키ㅣ가 설치되어 있다면 아래 과정은 생략하시면 됩니다.

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install jq

설치가 완료되었는지 확인하기 위해서 jq --version 명령을 입력해줍니다.

$ jq --version

패키지가 제대로 설치되었다면 아래와 같이 jq 패키지의 버전이 표시되게 됩니다.

jq-1.6

이제 본격적으로 jq를 이용해서 레포의 생성일을 확인할 차례입니다.

$ curl https://api.github.com/repos/boyinblue/boyinblue.github.io | jq '.created_at'

레포지토리의 생성일이 UTC(세계 협정시)를 기준으로 표기됩니다.

"2022-03-06T06:20:09Z"

실행 결과를 살펴보면 json 데이터 중에서 created_at 이라는 항목만 표시된 것을 알 수 있습니다. crul 명령을 통해서 표준출력으로 튀어나오는 json 데이터를 다시 파이프를 통해서 jq에 공급해주는 명령입니다. jq는 json 데이터중에서 created_at 항목만 추출해서 출력해줍니다.

한가지 아쉬운 점은 결과값이 쌍따움표 안에 표기되어 있다는 것입니다. 쌍다움표를 제거시키기 위해서 xargs 라는 명령을 사용하겠습니다.

$ curl https://api.github.com/repos/boyinblue/boyinblue.github.io | jq '.created_at' | xargs

위와 같이 수행하면 쌍따움표가 제거된 상태로 레포지토리의 생성일이 출력됩니다.

2022-03-06T06:20:09Z

xargs 명령을 거치면서 쌍따움표가 제거되어 원하는대로 깔끔하게 출력되었습니다.

결론

본 페이지에서는 GitHub Repoitory의 생성일을 확인하는 방법에 대해서 살펴보았습니다.

이상입니다.