외부 상태 확인
외부 상태 확인은 서드파티 도구와 통합하여 머지 리퀘스트에 통과 또는 실패 상태를 표시하고 확인이 실패하면 병합을 차단할 수 있습니다.
상태 확인은 외부 요구 사항의 상태를 조회하기 위해 외부 시스템에 보내는 API 호출입니다. 머지 리퀘스트 데이터를 서드파티 도구로 보내는 상태 확인을 만들 수 있습니다. 사용자가 머지 리퀘스트를 생성, 변경, 종료하면 GitLab이 알림을 보냅니다. 그러면 사용자나 자동화된 워크플로가 GitLab 외부에서 머지 리퀘스트의 상태를 업데이트할 수 있습니다. 이 통합을 사용하면 ServiceNow 같은 서드파티 워크플로 도구나 직접 선택한 도구와 연동할 수 있습니다. 서드파티 도구는 해당 상태를 응답으로 보냅니다. 이 상태는 머지 리퀘스트 안에 머지를 막지 않는 위젯으로 표시되어, 머지 리퀘스트 작성자나 검토자가 머지 리퀘스트 화면에서 바로 상태를 확인할 수 있습니다. 머지 리퀘스트 상태 확인은 프로젝트별로 구성합니다. 프로젝트 간에는 공유되지 않습니다. 상태 확인이 2분을 넘겨 pending 상태로 남아 있으면 실패합니다. 접근 권한 # 외부 상태 확인 응답은 다음 사용자가 확인할 수 있습니다. 프로젝트에서 Reporter, Developer, Maintainer 또는 Owner 권한을 가진 사용자 프로젝트 공개 범위가 internal인 경우 머지 리퀘스트를 볼 수 있는 인증된 모든 사용자 즉, 프로젝트가 internal이면 머지 리퀘스트에 접근할 수 있는 로그인 사용자는 모두 외부 상태 확인 응답을 볼 수 있습니다. 사용 사례, 기능 탐색, 개발 일정에 관한 자세한 내용은 에픽 3869 를 참고합니다. 모든 상태 확인을 통과하지 않은 머지 리퀘스트의 머지 차단 # 기본적으로 프로젝트의 머지 리퀘스트는 외부 상태 확인이 실패해도 머지할 수 있습니다. 외부 상태 확인이 실패했을 때 머지 리퀘스트의 머지를 차단하려면 다음 절차를 따릅니다. 상단 바에서 Search or go to 를 선택하고 프로젝트를 찾습니다. 왼쪽 사이드바에서 Settings > Merge requests 를 선택합니다. Status checks must succeed 체크박스를 선택합니다. Save changes 를 선택합니다. 라이프사이클 # 외부 상태 확인은 비동기 워크플로로 동작합니다. 머지 리퀘스트는 다음과 같은 경우 외부 서비스로 머지 리퀘스트 웹훅 페이로드를 보냅니다. 머지 리퀘스트가 업데이트, 종료, 재오픈, 승인, 승인 취소 또는 머지된 경우. 머지 리퀘스트의 소스 브랜치에 코드가 푸시된 경우. Mermaid 다이어그램 (8줄) 소스 코드 보기 %%{init: { "fontFamily": "GitLab Sans" }}%% sequenceDiagram accTitle: Workflow for external status checks accDescr: Merge request sends payload to external service and receives status check response Merge request->>+External service: Merge request payload External service--&