Show GN: bot check action - GitHub 이슈/PR에 봇 차단 인증을 붙여주는 GitHub Action
(github.com/dohyeon5626)오픈소스 레포지토리를 운영하다 보면 봇이 이슈나 PR을 스팸처럼 생성하는 경우가 있는데요, 이를 막기 위해 이슈/PR 생성 시 cloudflare turnstile 인증 하도록 하는 GitHub Action을 간단하게 만들어보았습니다.
동작과정
- 누군가 이슈 또는 PR을 생성하면
- 봇이 자동으로 인증 링크가 담긴 댓글을 달고
- 작성자가 링크를 클릭해 인증을 완료하면 댓글이 성공 메시지로 업데이트됩니다
- 인증에 실패하거나 시간이 초과되면 실패 메시지로 업데이트되고, 옵션에 따라 자동으로 이슈/PR을 닫거나 라벨을 붙일 수 있습니다
사용 시에는 필요에 따라 커스텀하게 옵션을 선택할 수 있습니다.
- 이슈/PR 이벤트 설정
- 인증 실패 시 자동 Close, 라벨 추가 설정
- 특정 유저는 인증 스킵 (allowed-users) 설정
- 권한 레벨 이상이면 스킵 (trusted-permission: read / write / admin) 설정
- 신규 기여자만 인증 요구 (first-time-only) 설정
- 댓글 계정을 github-actions[bot] 또는 커스텀 봇 계정으로 지정 가능
코드 링크는 다음과 같습니다.
깃허브 액션 코드 : https://github.com/dohyeon5626/bot-check-action
인증 페이지 코드 : https://github.com/dohyeon5626/bot-check-page
인증 서버 코드 : https://github.com/dohyeon5626/serverless-functions/…
GeekNews에는 처음으로 글 써봅니다! 잘하시는 개발자 분이 많으신데, 피드백 주시면 많이 배워가겠습니다.
위 프로젝트 말고도 https://github.com/dohyeon5626 제 레포 무엇이든 이슈나 PR 마음대로 남기셔도 되니 피드백 편하게 주시면 감사하겠습니다!!