본문 바로가기
개발/Git, GitHub

깃허브 - 메일 알림 설정하기 (Settings for Email Notifications)

by 피로물든딸기 2023. 9. 2.
반응형

깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기)

 

Git / GitHub 전체 링크

 

참고

- 깃허브 코드 소유자 정보

- 파일 편집 후 메일 알림이 가도록 수정하기

- Push 될 때 메일 보내기

 

- CODEOWNERS

- Email notofications

- Watch


CODEOWNERS

 

깃허브에서 제공하는 코드 소유자 정보 예시는 아래와 같다.

# This is a comment.
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
*       @global-owner1 @global-owner2

# Order is important; the last matching pattern takes the most
# precedence. When someone opens a pull request that only
# modifies JS files, only @js-owner and not the global
# owner(s) will be requested for a review.
*.js    @js-owner #This is an inline comment.

# You can also use email addresses if you prefer. They'll be
# used to look up users just like we do for commit author
# emails.
*.go docs@example.com

# Teams can be specified as code owners as well. Teams should
# be identified in the format @org/team-name. Teams must have
# explicit write access to the repository. In this example,
# the octocats team in the octo-org organization owns all .txt files.
*.txt @octo-org/octocats

# In this example, @doctocat owns any files in the build/logs
# directory at the root of the repository and any of its
# subdirectories.
/build/logs/ @doctocat

# The `docs/*` pattern will match files like
# `docs/getting-started.md` but not further nested files like
# `docs/build-app/troubleshooting.md`.
docs/*  docs@example.com

# In this example, @octocat owns any file in an apps directory
# anywhere in your repository.
apps/ @octocat

# In this example, @doctocat owns any file in the `/docs`
# directory in the root of your repository and any of its
# subdirectories.
/docs/ @doctocat

# In this example, any change inside the `/scripts` directory
# will require approval from @doctocat or @octocat.
/scripts/ @doctocat @octocat

# In this example, @octocat owns any file in a `/logs` directory such as
# `/build/logs`, `/scripts/logs`, and `/deeply/nested/logs`. Any changes
# in a `/logs` directory will require approval from @octocat.
**/logs @octocat

# In this example, @octocat owns any file in the `/apps`
# directory in the root of your repository except for the `/apps/github`
# subdirectory, as its owners are left empty.
/apps/ @octocat
/apps/github

 

CODEOWNERS 파일을 repository의 .github 폴더에 만들면 된다.

아래와 같이 만들면 모든 파일의 PR에 대해 bloodstrawberry와 substrawberry가 자동 리뷰어로 할당된다.

 

substrawberry가 PR을 만들면 Reviewers에 bloodstrawberry가 추가된다.

 

PR을 정상적으로 병합하였다면 bloodstrawberry는 아래의 메일을 받게 된다.


Email notofications

 

위 방법은 브랜치를 만들고 PR을 생성했을 때 알림이 가도록 설정하는 방법이다.

메인에서 바로 commit을 하더라도 항상 알림이 가도록 설정하는 방법도 있다. 

리포지토리에서 Settings → Email notifications를 선택하면 Address를 등록할 수 있다.

 

메인 브랜치의 아무 파일이나 깃허브에서 수정해보자.

 

메인에서 commit을 바로 하더라도 정상적으로 이메일이 도착하는 것을 알 수 있다.

 

하지만 Address2개의 이메일 밖에 등록하지 못한다.

따라서 해당 설정한 이메일에서 자동 전달 기능을 이용하여 여러 명에게 노티를 보내거나, 그룹 이메일을 만들어야 한다.


Watch

 

알람을 받는 입장에서 설정을 하려면 리포지토리의 Watch 탭을 누르면 된다.

Ignore을 선택하면 모든 알람이 무시된다.

 

원하는 알람만 받고 싶다면 Custom에서 설정하면 된다.

 

이 방법들 외에는 깃허브 액션을 이용해서 메일을 보낼 수 있다.

반응형

댓글