이 프로젝트는 공부한 내용을 깃허브에 기록하는 사람들에게 해당 내용을 복습할 수 있도록 문제를 만들어주는 Bot입니다.
- 지정한 브랜치에 공부 내용을 push하면 해당 코드와 사이즈를 참고하여 적절한 갯수의 문제를 제공해줍니다.
- 하단의 사진은 예시이며 정답은 스포일러 태그를 활용하여 클릭 시 정답을 확인할 수 있도록 개발되었습니다.
- 서버 생성
- 채널 생성
- 채널 편집으로 이동
- 연동 탭에서 웹후크 생성
- 웹후크 주소 복사
-
파일 이름을 적는 칸에 .github/workflows/cobot.yml 을 차례대로 입력합니다.
💡 파일 이름은 바꿔도 무방 7F5B p>
-
생성한 yml 파일에 해당 코드를 붙여넣기
yml 코드 보기
name: Cobot workflow on: push: branches: - main jobs: diff-changes: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Get the recent commit author run: | author_id=$(git log -1 --format="%an <%ae>" | grep -o '<[0-9]\+' | sed 's/<//') echo "author_id=$author_id" >> $GITHUB_ENV - name: save to diff.txt run: | git fetch origin ${{ github.event.before }} ${{ github.event.after }} # 이전 커밋과 현재 커밋 가져오기 git diff ${{ github.event.before }} ${{ github.event.after }} | grep '^+[^+]' | sed 's/^+//' > diff.txt # 변경 사항 중 추가된 내용만을 가져와 txt 생성 cat diff.txt - name: Create payload.json run: | diff=$(cat diff.txt | jq -Rs .) # diff.txt를 josn 형식의 값으로 변환 echo "{\"author_id\": \"${{ env.author_id }}\", \"diff\": $diff}" > payload.json # author와 diff를 json 확장자로 변환 cat payload.json - name: Send POST request with payload.json run: | curl -X POST "https://wmece3xj7buljd34mtjat6y3qi0nwhwi.lambda-url.ap-northeast-2.on.aws/" \ -H "Content-Type: application/json" \ -d @payload.json
🚨 userId는 해당 서비스를 사용하는 유저를 식별하기 위해 사용됩니다
curl https://api.github.com/users/{깃헙id}
- 깃허브 로그인
- 깃허브 홈(혹은 아무 페이지)에서 우클릭 후 페이지 소스 보기
- Ctrl + F를 통해 user_id를 검색
google-form을 통해 github의 userId와 discord의 webhook URL을 제출해주세요