2021.10.02 ~ 2021.11.06 ๋์ GDSC Soongsil ๋ฉค๋ฒ ๋์์ผ๋ก ์ฒํ์ ์ผ ๊นํ๋ธ ์๋๋ํ
์ด๋ฒคํธ๊ฐ ์งํ๋ฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ ์ฐธ์ฌ ๋ฉค๋ฒ๋ค์ contribution ํํฉ๊ณผ star ๊ฐ์๋ฅผ ์๋์ผ๋ก ์์งํ๊ณ , ๊ทธ๋ฃน profile์ ๋ฆฌ๋๋ณด๋์ update ํ๊ธฐ ์ํด ์์ํ์์ต๋๋ค.
-
Python
-
Github Action
-
Crawling & Github Api
Github Api ์ฌ์ฉ์ ์ ์ ๋ก ํฉ๋๋ค. (Github Api๋ก repo๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ต์ ๊ทธ๋ฃน์ repo๋ ์ ์ธ๋๋ ์ด์๊ฐ ์์ด,
contribution count
์ฒดํฌ์ ๊ฒฝ์ฐ ๊ฐ์ธ profile ํ์ด์ง์์ crawling ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ณ๊ฒฝํ์์ต๋๋ค.)
-
member list
์ฐธ๊ฐ์๋ค์ ๋ช ๋จ์ CSVํ์ผ ์์ ๊ด๋ฆฌ๋ฉ๋๋ค.
์ฐธ๊ฐ์๋ฅผ ๋ฑ๋กํ๋ ๊ฒฝ์ฐ ์ด๋ฏธ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐธ๊ณ ํ์ฌ
์ด๋ฆ,๊นํusername
ํ์์ผ๋ก ์ถ๊ฐํด์ฃผ์ธ์. -
github token
Github API ๋ฐ Github Action ์ฌ์ฉ์ ์ํด ํ ํฐ ๋ฐ๊ธ์ด ํ์ํฉ๋๋ค.
https://github.com/settings/tokens ์์ generate new token ์ ํตํด์ ์๋ก์ด ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ผ์ธ์.
repo, user, workflow ๊ถํ์ ํ์๋ก ํฉ๋๋ค.
Action Workflow์์์ ์ฌ์ฉ์ ์ํด Repository secrets์ ๋ฑ๋กํด์ฃผ์ธ์.
- name: Run run: python main.py ${{ secrets.A_GITHUB_TOKEN }} working-directory: 'github_observer'
Github API rate limit ์ฐธ๊ณ : https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting
git clone https://github.com/gdsc-ssu/2021GithubContest.git
python ./github_observer/main.sh {github_token}
-
modify destination path
Action Workflow์์ destination-github-username, destination-repository-name์ ์ ๋ฐ์ดํธํ ๋ ํฌ์งํ ๋ฆฌ ์ ๋ณด๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์.
-
change cron schedule
ํ์ฌ 12์๊ฐ ๊ฐ๊ฒฉ(0์, 12์)์ผ๋ก github action์ ํตํด์ ํ ์ด๋ธ์ updateํ๊ณ gdsc-ssu/.github์ pushํฉ๋๋ค.
์์ ์ ์ํ์ ๋ค๋ฉด Action Workflow์์
cron schedule expressions
์ ์์ ํด์ฃผ์ธ์.