콜아웃(Callouts)
콜아웃(Callouts)에 대해 설명합니다.
콜아웃은 사용자에게 알림을 표시하는 메커니즘입니다. 사용자는 알림을 해제할 수 있으며, 알림은 미리 정의된 기간 동안 해제된 상태로 유지될 수 있습니다. 알림 해제는 페이지 로드와 다른 사용자 디바이스에서도 지속됩니다. 콜아웃 컨텍스트 # 전역 컨텍스트 : 콜아웃은 애플리케이션 어디에서나 사용자에게 표시될 수 있습니다. 예를 들어, 2단계 인증 복구 코드를 안전한 곳에 보관하도록 사용자에게 알림을 표시할 수 있습니다. 이 유형의 콜아웃을 해제하면 해당 사용자 전체 GitLab 인스턴스에서 효력이 발생하며, 콜아웃을 어디서 접했든 상관없습니다. 그룹 및 프로젝트 컨텍스트 : 콜아웃은 특정 사용자에게 표시되며 그룹이나 프로젝트 컨텍스트와 같은 특정 컨텍스트 바인딩을 가질 수 있습니다. 예를 들어, 그룹 소유자에게 그룹의 사용 가능한 시트가 부족하다는 알림을 표시할 수 있습니다. 해당 콜아웃을 해제하면 특정 그룹에서만 해당 사용자에게만 효력이 발생하며, 해당하는 경우 다른 그룹에서는 동일한 콜아웃이 여전히 표시됩니다. 컨텍스트에 관계없이, 콜아웃 해제는 해당 사용자에게만 효력이 발생합니다. 다른 사용자는 여전히 관련 콜아웃을 볼 수 있습니다. 콜아웃 ID # 콜아웃은 고유 이름을 사용하여 식별하고, 고유 값을 사용하여 해제 데이터를 저장합니다. 예를 들어: amazing_alert: 42 , 여기서 amazing_alert 은 콜아웃 ID이고, 42 는 데이터베이스에 해제를 등록하는 데 사용되는 고유 번호입니다. 그룹 콜아웃이 저장되는 방식은 다음과 같습니다: id | user_id | group_id | feature_name | dismissed_at ----+---------+----------+--------------+------------------------------- 0 | 1 | 4 | 42 | 2025-05-21 00:00:00.000000+00 새 콜아웃 ID를 생성하려면, 관련 컨텍스트 유형 레지스트리 파일의 feature_name enum에 고유 이름과 순차 값을 사용하여 새 키를 추가합니다: 전역 컨텍스트: app/models/users/callout.rb . 콜아웃은 사용자가 전역으로 해제합니다. 관련 알림은 해당 사용자에 대해 GitLab 인스턴스 어디에서도 표시되지 않습니다. 그룹 컨텍스트: app/models/users/group_callout.rb . 콜아웃은 사용자가 특정 그룹에서 해제합니다. 관련 알림은 다른 그룹에서 사용자에게 여전히 표시됩니다. 프로젝트 컨텍스트: app/models/users/project_callout.rb . 사용자가 특정 프로젝트에서 해제한 콜아웃입니다. 관련 알림은 다른 프로젝트에서 사용자에게 여전히 표시됩니다. 위의 enum 파일 중 하나에 새 콜아웃 ID를 추가한 후 다음 명령을 실행하여 GraphQL 문서를 업데이트해야 합니다: bundle exec rake gitlab:graphql:compile_docs Warning 이전 enum 값을 재사용하지 마세요. 그러면 잘
