이메일 알림

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab에서 발생하는 활동에 대한 알림을 통해 GitLab에서 발생하는 상황을 파악하세요. 이슈, Merge Request, epic 및 디자인의 활동에 대한 업데이트를 받을 수 있습니다.

GitLab 관리자가 사용자에게 메시지를 보낼 수 있는 도구에 대한 자세한 내용은 GitLab에서 이메일 보내기를 참조하십시오.

누가 알림을 받나요

이슈, Merge Request 또는 epic에 대한 알림이 활성화되면 GitLab은 해당 위치에서 발생하는 작업에 대해 알려줍니다.

다음 중 하나의 이유로 알림을 받을 수 있습니다:

  1. GitLab은 댓글을 편집하여 사용자 언급을 추가하는 경우에는 알림을 보내지 않습니다.
note
관리자는 알림을 차단하여 전송되지 않게 할 수 있습니다.

알림 설정 편집

많은 알림을 받으면 압도될 수 있습니다. 받는 알림을 조정할 수 있습니다. 예를 들어 특정 프로젝트의 모든 활동에 대해 알림을 받고 싶을 수 있습니다. 다른 프로젝트의 경우 이름으로 언급될 때만 알림을 받고 싶을 수도 있습니다.

이러한 알림 설정은 본인에게만 적용됩니다. 다른 사람이 받는 알림에는 영향을 주지 않습니다.

알림 설정을 편집하려면:

  1. 왼쪽 사이드바에서 아바타를 선택합니다.
  2. Preferences를 선택합니다.
  3. 왼쪽 사이드바에서 Notifications을 선택합니다.
  4. 원하는 전역, 그룹 또는 프로젝트 알림 설정을 편집합니다. 편집된 설정은 자동으로 저장됩니다.

알림 범위

프로젝트 및 그룹마다 다른 알림 수준을 선택하여 알림의 범위를 조절할 수 있습니다.

알림 범위는 가장 넓은 범위부터 가장 구체적인 수준까지 적용됩니다:

  • global 또는 기본 알림 수준은 해당 활동이 발생한 프로젝트 또는 그룹에 대해 알림 수준을 선택하지 않은 경우 적용됩니다.
  • 그룹 설정은 전역 설정을 재정의합니다.
  • 프로젝트 설정은 그룹 설정을 재정의합니다.

알림 수준

각 프로젝트 및 그룹마다 다음 중 하나의 알림 수준을 선택할 수 있습니다:

수준 설명
Global 전역 설정이 적용됩니다.
Watch 모든 활동에 대한 알림을 받습니다.
Participate 참여한 스레드에 대한 알림을 받습니다.
On mention 댓글에서 언급될 때 알림을 받습니다.
Disabled 알림을 받지 않습니다.
Custom 선택한 이벤트 및 참여한 스레드에 대한 알림을 받습니다.

전역 알림 설정

전역 알림 설정은 프로젝트나 그룹을 위해 다른 값을 선택하지 않는 한 기본 설정입니다.

  • 알림 이메일: 알림을 받을 이메일 주소입니다. 기본적으로 기본 이메일 주소로 설정됩니다.
  • 전역 알림 수준: 모든 알림에 적용되는 기본 알림 수준입니다.
  • 본인 활동에 대한 알림 받기: 본인 활동에 대한 알림을 받으려면 이 확인란을 선택합니다. 기본적으로 선택되지 않습니다.

그룹 알림

각 그룹에 대해 알림 수준 및 이메일 주소를 선택할 수 있습니다.

그룹 알림 수준 변경

그룹에 대한 알림 수준을 선택하려면 다음 방법 중 하나를 사용합니다:

  1. 왼쪽 사이드바에서 아바타를 선택합니다.
  2. Preferences를 선택합니다.
  3. 왼쪽 사이드바에서 Notifications을 선택합니다.
  4. Groups 섹션에서 그룹을 찾습니다.
  5. 원하는 알림 수준을 선택합니다.

또는:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 그룹을 찾습니다.
  2. (알림 아이콘 () 옆에 있는) 알림 드롭다운 디렉터리을 선택합니다.
  3. 원하는 알림 수준을 선택합니다.

그룹 알림에 사용된 전자 메일 주소 변경

  • GitLab 12.0에서 도입되었습니다.

각 소속된 그룹에 대해 알림을 받을 전자 메일 주소를 선택할 수 있습니다. 예를 들어 프리랜서로 일하거나 고객 프로젝트에 대한 이메일을 따로 유지하려는 경우 그룹 알림을 사용할 수 있습니다.

  1. 왼쪽 사이드바에서 아바타를 선택합니다.
  2. Preferences를 선택합니다.
  3. 왼쪽 사이드바에서 Notifications을 선택합니다.
  4. Groups 섹션에서 그룹을 찾습니다.
  5. 원하는 이메일 주소를 선택합니다.

프로젝트 알림 수준 변경

최신 정보를 받을 수 있도록 각 프로젝트에 대해 알림 수준을 선택할 수 있습니다.

프로젝트에 대해 알림 수준을 선택하려면 다음 방법 중 하나를 사용합니다:

  1. 왼쪽 사이드바에서 아바타를 선택합니다.
  2. Preferences를 선택합니다.
  3. 왼쪽 사이드바에서 Notifications을 선택합니다.
  4. Projects 섹션에서 프로젝트를 찾습니다.
  5. 원하는 알림 수준을 선택합니다.

또는:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. (알림 아이콘 () 옆에 있는) 알림 드롭다운 디렉터리을 선택합니다.
  3. 원하는 알림 수준을 선택합니다.

새 릴리스를 확인할 때 알림받는 방법을 알아보려면 릴리스에 대한 알림을 시청하세요.

알림 이벤트

사용자들은 다음과 같은 이벤트에 대해 알림을 받습니다.

이벤트 받는 사람 설정 레벨
새 릴리스 프로젝트 구성원 사용자 지정 알림.
프로젝트 이동 프로젝트 구성원 비활성화된 것을 제외하고는 모든 것.
이메일 변경 사용자 보안 이메일, 항상 전송됨.
그룹 액세스 레벨 변경 사용자 사용자 그룹 액세스 레벨이 변경되면 전송됨.
새 이메일 주소 추가 사용자 보안 이메일, 기본 이메일 주소로 전송됨. GitLab 14.9에서 도입.
새 이메일 주소 추가 사용자 보안 이메일, 새롭게 추가된 이메일 주소로 전송됨.
새 SAML/SCIM 사용자 프로비전 사용자 SAML/SCIM을 통해 사용자가 프로비저닝될 때 전송됨. GitLab 13.8에서 도입.
새 SSH 키 추가 사용자 보안 이메일, 항상 전송됨.
새 사용자가 생성됨 사용자 사용자가 생성될 때 전송됨. OmniAuth(LDAP)의 경우에는 제외.
비밀번호가 변경됨 사용자 보안 이메일, 사용자가 자신의 비밀번호를 변경할 때 항상 전송됨.
관리자에 의해 비밀번호가 변경됨 사용자 관리자가 다른 사용자의 비밀번호를 변경할 때 항상 전송됨.
개인 액세스 토큰의 유효기간이 곧 만료됨 사용자 보안 이메일, 항상 전송됨.
개인 액세스 토큰이 생성됨 사용자 보안 이메일, 항상 전송됨. GitLab 14.9에서 도입.
개인 액세스 토큰이 만료됨 사용자 보안 이메일, 항상 전송됨.
개인 액세스 토큰이 취소되었음 사용자 보안 이메일, 항상 전송됨. GitLab 15.5에서 도입.
그룹 액세스 토큰의 유효기간이 곧 만료됨 그룹 소유자, 관리자 및 계정 관리자 보안 이메일, 항상 전송됨. GitLab 16.4에서 도입.
프로젝트 액세스 토큰의 유효기간이 곧 만료됨 그룹 소유자, 관리자 및 계정 관리자 보안 이메일, 항상 전송됨. GitLab 16.4에서 도입.
프로젝트 액세스 레벨 변경 사용자 사용자 프로젝트 액세스 레벨이 변경되면 전송됨.
SSH 키가 만료됨 사용자 보안 이메일, 항상 전송됨. GitLab 13.12에서 도입.
이중 인증이 비활성화됨 사용자 보안 이메일, 항상 전송됨.
그룹에 사용자가 추가됨 사용자 사용자가 그룹에 추가될 때 전송됨.
프로젝트에 사용자가 추가됨 사용자 사용자가 프로젝트에 추가될 때 전송됨.
그룹 액세스 만료 그룹 구성원 사용자의 그룹 액세스가 7일 후에 만료될 때 전송됨. GitLab 16.3에서 도입.
프로젝트 액세스 만료 프로젝트 구성원 사용자의 프로젝트 액세스가 7일 후에 만료될 때 전송됨. GitLab 16.3에서 도입.

이슈, Merge Request 및 에픽에 대한 알림

또한 이슈, Merge Request 및 에픽에 발생하는 이벤트에 대한 알림을 받습니다.

이슈, Merge Request 및 에픽에 대한 알림 수신자

이슈, Merge Request 및 에픽에서 대부분의 이벤트에 대한 알림은 다음 수신자에게 전송됩니다.

  • 참여자:
    • 작성자 및 할당된 사용자.
    • 댓글 작성자.
    • 제목이나 설명에 사용자 이름으로 언급된 사람.
    • 댓글에서 사용자 이름으로 언급된 경우, 알림 레벨이 “참여” 이상인 경우.
  • 구독자: 알림 레벨이 “시청”인 사용자.
  • 구독자: 매뉴얼으로 알림을 구독한 사람.
  • 사용자 지정: 이벤트 유형에 대해 알림을 켠 알림 레벨이 “사용자 지정”인 사용자.
note
어떠한 조치가 필요하지 않은 알림 수를 최소화하기 위해, GitLab 12.9 및 이후에는 적격한 승인자들에게 자신들의 프로젝트에서 모든 활동에 대해 알림이 전송되지 않습니다. 이러한 알림을 받으려면 사용자 알림 설정을 시청으로 변경해야 합니다.

이슈, Merge Request 및 에픽에 대한 알림 설정 수정

이슈, Merge Request 또는 에픽의 알림을 토글하려면: 오른쪽 사이드바에서 알림 토글을 켜거나 끕니다.

알림을 때는, 논의에 참여하지 않았더라도 각 업데이트에 대한 알림을 받습니다. 에픽의 경우, 해당 이슈에 자동으로 구독되지 않습니다.

알림을 때는, 업데이트에 대한 알림을 더 이상 받지 않습니다. 이 토글을 끄면, 해당 이슈, Merge Request 또는 에픽과 관련된 업데이트에 대한 구독이 해지됩니다. GitLab의 모든 이메일 수신 거부하는 방법을 알아보세요: GitLab의 모든 이메일 수신 건에 대해 수신 거부하기.

이슈, Merge Request 및 에픽에 대한 알림 이벤트

다음 표는 이슈, Merge Request 및 에픽에 대한 알림을 생성하는 이벤트를 보여줍니다.

유형 이벤트 전송 대상
에픽 닫힘 구독자 및 참여자.
에픽 새로 만들기 설명에 사용자 이름으로 언급된 사람, 알림 레벨이 “언급” 이상인 사용자.
에픽 새 노트 참여자, 시청자, 구독자 및 이 이벤트가 선택된 사용자 지정 알림 레벨. 또한, 댓글에서 사용자 이름으로 언급된 사람 중 알림 레벨이 “언급” 이상인 사람.
에픽 다시 열림 구독자 및 참여자.
이슈 닫힘 구독자 및 참여자.
이슈 기한 참여자 및 이 이벤트가 선택된 사용자 지정 알림 레벨.
이슈 마일스톤 변경됨 구독자 및 참여자.
이슈 마일스톤 제거됨 구독자 및 참여자.
이슈 새로 만들기 설명에 사용자 이름으로 언급된 사람, 알림 레벨이 “언급” 이상인 사용자.
이슈 새 노트 참여자, 시청자, 구독자 및 이 이벤트가 선택된 사용자 지정 알림 레벨. 또한, 댓글에서 사용자 이름으로 언급된 사람 중 알림 레벨이 “언급” 이상인 사람.
이슈 제목 또는 설명이 변경됨 새로운 언급이 있는 사람.
이슈 재할당 참여자, 시청자, 구독자, 이 이벤트가 선택된 사용자 지정 알림 레벨 및 이전 담당자.
이슈 다시 열림 구독자 및 참여자.
Merge Request 닫힘 구독자 및 참여자.
Merge Request 충돌 작성자 및 Merge Request을 자동으로 Merge 설정한 사용자.
Merge Request 준비 완료로 표시 시청자 및 참여자. GitLab 13.10에서 도입.
Merge Request Merge됨 구독자 및 참여자.
Merge Request 파이프라인 성공 시 Merge됨 작성자, 참여자, 시청자, 구독자 및 이 이벤트가 선택된 사용자 지정 알림 레벨. 작성자, 시청자 및 구독자에게는 사용자 지정 알림 레벨이 무시됨. GitLab 13.4에서 도입.
Merge Request 마일스톤 변경됨 구독자 및 참여자.
Merge Request 마일스톤 제거됨 구독자 및 참여자.
Merge Request 새로 만들기 설명에 사용자 이름으로 언급된 사람, 알림 레벨이 “언급” 이상인 사용자.
Merge Request 새 노트 참여자, 시청자, 구독자 및 이 이벤트가 선택된 사용자 지정 알림 레벨. 또한, 댓글에서 사용자 이름으로 언급된 사람 중 알림 레벨이 “언급” 이상인 사람.
Merge Request 푸시됨 참여자 및 이 이벤트가 선택된 사용자 지정 알림 레벨.
Merge Request 재할당 참여자, 시청자, 구독자, 이 이벤트가 선택된 사용자 지정 알림 레벨 및 이전 담당자.
Merge Request 리뷰 요청됨 참여자, 시청자, 구독자, 이 이벤트가 선택된 사용자 지정 알림 레벨 및 이전 리뷰어.
Merge Request 다시 열림 구독자 및 참여자.
Merge Request 제목 또는 설명이 변경됨 새로운 언급이 있는 사람.
파이프라인 실패 파이프라인의 작성자.
파이프라인 고침 파이프라인의 작성자. 기본으로 활성화됨. GitLab 13.1에서 도입.
파이프라인 성공 파이프라인의 작성자. 성공한 파이프라인에 대해 성공적인 파이프라인 이후 첫 번째 실패한 파이프라인에 대해 “고친 파이프라인” 메시지가 전송되며, 그 후 모든 성공적인 파이프라인에 대해 “성공적인 파이프라인” 메시지가 전송됨. 사용자 지정 알림 레벨이 성공적인 파이프라인에 대해 설정된 경우. 이전에 파이프라인이 실패한 경우 첫 번째 성공한 파이프라인에 대해 “고친 파이프라인” 메시지가 전송되고 그 이후에서는 모든 성공적인 파이프라인에 대해 “성공적인 파이프라인” 메시지가 전송됨.

기본적으로 자신이 생성한 이슈, Merge Request 또는 에픽에 대한 알림을 받지 않습니다. 자신의 이슈, Merge Request 등에 대해 항상 알림을 받으려면, [전체적인 알림 설정](#전

알 수 없는 로그인에 대한 알림

참고: 이 기능은 Self-managed 인스턴스의 경우 기본적으로 활성화됩니다. 관리자는 UI의 로그인 제한 섹션에서 이 기능을 비활성화할 수 있습니다. GitLab.com에서는 항상 활성화되어 있습니다.

이전에 알려지지 않은 IP 주소 또는 장치에서 사용자가 성공적으로 로그인하면, GitLab은 사용자에게 이메일을 통해 알립니다. 이렇게 함으로써, GitLab은 잠재적으로 악의적이거나 무단 로그인을 사용자에게 적극적으로 알립니다. 이 알림 이메일에는 다음이 포함됩니다:

  • 호스트 이름.
  • 사용자 이름과 사용자 이름.
  • IP 주소.
  • 로그인한 날짜와 시간.

GitLab은 알려진 로그인을 식별하기 위해 여러 방법을 사용합니다. 알림 이메일을 보내려면 모든 방법이 실패해야 합니다.

  • 마지막 로그인 IP: 현재 로그인 IP 주소가 마지막 로그인 IP 주소와 일치하는지 확인됩니다.
  • 현재 활성 세션: 사용자가 동일한 IP 주소에서 기존 활성 세션을 갖고 있는지 확인합니다. 활성 세션 참조.
  • 쿠키: 성공적인 로그인 후에 브라우저에 암호화된 쿠키가 저장됩니다. 이 쿠키는 마지막 성공적인 로그인 후 14일 후에 만료되도록 설정됩니다.

잘못된 인증 코드를 사용하여 시도된 로그인에 대한 알림

GitLab은 귀하의 계정에 잘못된 이중 요소 인증 (2FA) 코드를 사용하여 로그인을 시도하는 것을 감지하면 이메일 알림을 보냅니다. 이는 악의적인 사용자가 귀하의 사용자 이름과 암호에 액세스했음을 감지하는 데 도움이 될 수 있으며, 2FA를 무력화하려는 시도일 수 있습니다.

디자인에 대한 알림

디자인에 댓글을 작성하면 참여자에게 이메일 알림이 전송됩니다.

참여자는 다음과 같습니다:

  • 디자인의 저자 (다른 저자가 디자인의 다른 버전을 업로드한 경우 여러 사람이 될 수 있음).
  • 디자인에 대한 코멘트의 저자.
  • 디자인의 코멘트에서 언급된 어떤 사람이든.

그룹 또는 프로젝트 액세스 만료에 대한 알림

GitLab은 그룹 또는 프로젝트 멤버의 액세스가 7일 후에 만료되면 이메일 알림을 보냅니다. 이로써 그룹 또는 프로젝트 멤버는 액세스 기간을 연장하고 싶다면 이를 상기하게 됩니다.

GitLab 전체 이메일 수신 거부

이제 더 이상 이메일 알림을 받고 싶지 않다면:

  1. 왼쪽 사이드바에서 아바타를 선택합니다.
  2. 환경설정을 선택합니다.
  3. 왼쪽 사이드바에서 알림을 선택합니다.
  4. 전역 알림 레벨사용 안 함으로 설정합니다.
  5. 자신의 활동에 대한 알림 받기 확인란을 선택 취소합니다.
  6. 소속된 그룹이나 프로젝트가 있는 경우, 해당 알림 설정을 전역이나 비활성화로 설정합니다.

Self-managed 설치에서는 이것을 한 후에도, 인스턴스 관리자가 여전히 이메일을 보낼 수 있습니다. 구독 취소하려면 이메일 중에서 구독 취소 링크를 선택합니다.

이메일 필터링에 사용할 수 있는 GitLab 이메일 헤더

알림 이메일 메시지에는 GitLab 특정 헤더가 포함됩니다. 알림을 더 잘 관리하기 위해, 이러한 헤더의 내용을 기반으로 알림 이메일을 필터링할 수 있습니다.

예를 들어, 특정 프로젝트의 모든 이메일을 필터링하여 여러분이 Merge Request 또는 이슈에 할당되는 모든 이메일을 필터링할 수 있습니다.

다음 표에는 모든 GitLab 특정 이메일 헤더가 나열되어 있습니다:

헤더 설명
List-Id RFC 2919 메일링 디렉터리 식별자의 프로젝트 경로입니다. 이를 사용하여 필터링된 이메일 구성이 가능합니다.
X-GitLab-(Resource)-ID 알림 대상 리소스의 ID입니다. 리소스는 이슈, Merge Request, 커밋 또는 이와 유사한 리소스입니다.
X-GitLab-(Resource)-State 알림 대상 리소스의 상태입니다. 리소스는 이슈 또는 Merge Request일 수 있습니다. 이 값은 열린, 닫힌, Merge된, 잠금일 수 있습니다. GitLab 16.4에서 도입.
X-GitLab-ConfidentialIssue 알림의 이슈 비밀 유무를 나타내는 부울 값입니다. GitLab 16.0에서 도입.
X-GitLab-Discussion-ID 코멘트의 스레드 ID입니다. 코멘트에 대한 알림 이메일에 표시됩니다.
X-GitLab-Group-Id 그룹의 ID입니다. 에픽에 대한 알림 이메일에만 표시됩니다.
X-GitLab-Group-Path 그룹의 경로입니다. 에픽에 대한 알림 이메일에만 표시됩니다.
X-GitLab-NotificationReason 알림의 이유입니다. 가능한 값은 여기를 참조해 주세요.
X-GitLab-Pipeline-Id 파이프라인의 ID입니다. 파이프라인에 대한 알림 이메일에 표시됩니다.
X-GitLab-Project-Id 프로젝트의 ID입니다.
X-GitLab-Project-Path 프로젝트의 경로입니다.
X-GitLab-Project 알림 메시지가 속한 프로젝트의 이름입니다.
X-GitLab-Reply-Key 이메일에 의한 회신을 지원하기 위한 고유 토큰입니다.

X-GitLab-NotificationReason

X-GitLab-NotificationReason 헤더는 알림의 이유를 포함하고 있습니다. 우선순위 순서대로 값은 다음 중 하나입니다:

  • own_activity
  • assigned
  • review_requested
  • mentioned
  • subscribed

알림의 이유는 또한 알림 이메일의 하단에 포함됩니다. 예를 들어, ‘assigned’ 이유의 이메일에는 다음과 같은 문장이 하단에 표시됩니다:

등록된 GitLab 호스트 이름에서 항목이 할당되어 이메일을 받고 있습니다.

당직 알림 알림

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

당직 알림 알림 이메일에는 알림의 상태 중 하나가 포함될 수 있습니다:

  • alert_triggered
  • alert_acknowledged
  • alert_resolved
  • alert_ignored

사건 에스컬레이션 알림

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

사건 에스컬레이션 알림 이메일에는 사건의 상태 중 하나가 포함될 수 있습니다:

  • incident_triggered
  • incident_acknowledged
  • incident_resolved
  • incident_ignored

X-GitLab-NotificationReason 헤더에 포함된 이벤트 디렉터리을 확장하는 것은 이슈 20689에서 추적됩니다.

문제 해결

알림을 받을 수신자 디렉터리 가져오기

프로젝트로부터 알림을 받을 수신자 디렉터리을 가져오고 싶다면 (주로 사용자 정의 알림에 대한 문제 해결에 사용됨), Rails 콘솔에서 sudo gitlab-rails c를 실행하고 프로젝트 이름을 업데이트하세요:

project = Project.find_by_full_path '<project_name>'
merge_request = project.merge_requests.find_by(iid: 1)
current_user = User.first
recipients = NotificationRecipients::BuildService.build_recipients(merge_request, current_user, action: "push_to"); recipients.count
recipients.each { |notify| puts notify.user.username }

존재하지 않는 실패한 파이프라인에 대한 알림

존재하지 않는 실패한 파이프라인에 대한 알림을 (이메일 또는 Slack을 통해) 받는 경우, 해당 메시지를 트리거할 수 있는 중복된 GitLab 인스턴스가 있는지 다시 한 번 확인해보세요.