/2023GithubContest

๐ŸŽ‰ ์ฒœํ•˜์ œ์ผ ๊นƒํ—ˆ๋ธŒ ์ž๋ž‘๋Œ€ํšŒ (2021.10.02 - 2021.11.06)

Primary LanguagePythonMIT LicenseMIT

2021 GDSC Soongsil Github Contest

About The Project

๐Ÿ‘‘์ฒœํ•˜์ œ์ผ ๊นƒํ—ˆ๋ธŒ ์ž๋ž‘๋Œ€ํšŒ๐Ÿ‘‘

image

2021.10.02 ~ 2021.11.06 ๋™์•ˆ GDSC Soongsil ๋ฉค๋ฒ„ ๋Œ€์ƒ์œผ๋กœ ์ฒœํ•˜์ œ์ผ ๊นƒํ—ˆ๋ธŒ ์ž๋ž‘๋Œ€ํšŒ ์ด๋ฒคํŠธ๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ์ฐธ์—ฌ ๋ฉค๋ฒ„๋“ค์˜ contribution ํ˜„ํ™ฉ๊ณผ star ๊ฐœ์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ , ๊ทธ๋ฃน profile์˜ ๋ฆฌ๋”๋ณด๋“œ์— update ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

image

Built With

  • Python

  • Github Action

  • Crawling & Github Api

    Github Api ์‚ฌ์šฉ์„ ์ „์ œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. (Github Api๋กœ repo๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์ตœ์‹  ๊ทธ๋ฃน์˜ repo๋Š” ์ œ์™ธ๋˜๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์–ด, contribution count ์ฒดํฌ์˜ ๊ฒฝ์šฐ ๊ฐœ์ธ profile ํŽ˜์ด์ง€์—์„œ crawling ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณ€๊ฒฝํ•˜์˜€์Šต๋‹ˆ๋‹ค.)

Getting Started

Preparation

  1. member list

    ์ฐธ๊ฐ€์ž๋“ค์˜ ๋ช…๋‹จ์€ CSVํŒŒ์ผ ์—์„œ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

    ์ฐธ๊ฐ€์ž๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋ฏธ ์ž‘์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ด๋ฆ„,๊นƒํ—™username ํ˜•์‹์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.

  2. github token

    Github API ๋ฐ Github Action ์‚ฌ์šฉ์„ ์œ„ํ•ด ํ† ํฐ ๋ฐœ๊ธ‰์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

    https://github.com/settings/tokens ์—์„œ generate new token ์„ ํ†ตํ•ด์„œ ์ƒˆ๋กœ์šด ํ† ํฐ์„ ๋ฐœ๊ธ‰๋ฐ›์œผ์„ธ์š”.

    repo, user, workflow ๊ถŒํ•œ์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.

    Action Workflow์—์„œ์˜ ์‚ฌ์šฉ์„ ์œ„ํ•ด Repository secrets์— ๋“ฑ๋กํ•ด์ฃผ์„ธ์š”.

    image
    - name: Run
      run: python main.py ${{ secrets.GHB_PAT }}
      working-directory: 'github_observer'

    Github API rate limit ์ฐธ๊ณ  : https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting

Installation

git clone https://github.com/gdsc-ssu/2023GithubContest.git

python ./github_observer/main.sh {github_token}

Usage

  1. modify destination path

    Action Workflow์—์„œ destination-github-username, destination-repository-name์„ ์—…๋ฐ์ดํŠธํ•  ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ •๋ณด๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ์„ธ์š”.

  2. change cron schedule

    ํ˜„์žฌ 12์‹œ๊ฐ„ ๊ฐ„๊ฒฉ(0์‹œ, 12์‹œ)์œผ๋กœ github action์„ ํ†ตํ•ด์„œ ํ…Œ์ด๋ธ”์„ updateํ•˜๊ณ  gdsc-ssu/.github์— pushํ•ฉ๋‹ˆ๋‹ค.

    ์ˆ˜์ •์„ ์›ํ•˜์‹ ๋‹ค๋ฉด Action Workflow์—์„œ cron schedule expressions์„ ์ˆ˜์ •ํ•ด์ฃผ์„ธ์š”.