이 문서는 SonarQube에서 모든 프로젝트에 대한 ALM 저장소, 마지막 분석 일자 등의 정보를 조회하는 방법의 가이드를 공유하기 위해 작성되었다.


도구명SonarQube
버전10.6
DBPostgreSQL 15.6
비고-




SonarQube 웹 페이지의 인터페이스에서 조회하기

warning 다만, 권한이 제한되어 있는 프로젝트는 사용자에 따라 검색되지 않을 수 있습니다.

Administration - Projects - Management 메뉴로 이동

Last Analysis로 마지막 분석 일자를 확인할 수 있습니다.

DB 쿼리로 모든 프로젝트의 정보 조회하기

마지막 분석 일자 등 분석 정보 조회

SonarQube의 데이터베이스에 직접 접근하여 정보를 얻을 수 있습니다.
분석 수행 정보가 있는 테이블은 ce_activity 입니다.

다음은 ce_activity 테이블의 컬럼들입니다.

얻고자 하는 정보에 맞게 조회 쿼리를 작성할 수 있습니다.

다음은 프로젝트 별 마지막 분석 수행 일자와 분석 성공/실패 여부, 에러메시지를 조회한 예시 쿼리입니다.

SELECT p.name as "프로젝트 명", to_timestamp(c.executed_at / 1000) as "마지막 분석 수행 일자", status, error_message 
FROM public.ce_activity c RIGHT OUTER JOIN projects p 
ON (c.entity_uuid = p.uuid) 
and task_type = 'REPORT' and is_last = true and main_is_last = true
ORDER BY p.name ASC ;

프로젝트에 연결되어 있는 저장소 정보 조회하기

각 프로젝트에 연결되어 있는 ALM 저장소 정보는 project_alm_settings 테이블에 있습니다.

다음은 프로젝트의 ALM 저장소 컬럼을 추가한 쿼리 예시입니다.

SELECT p.name as "프로젝트 명", a.alm_repo, to_timestamp(c.executed_at / 1000) as "마지막 분석 수행 일자",status, error_message 
FROM projects p LEFT OUTER JOIN public.ce_activity c 
					ON (c.entity_uuid = p.uuid) 
						and task_type = 'REPORT' and is_last = true and main_is_last = true
				LEFT OUTER JOIN project_alm_settings a
					ON (a.project_uuid = p.uuid)
ORDER BY p.name ASC ;

  • GitHub 저장소의 이름을 알 수 있습니다.
  • GitLab 저장소는 프로젝트 ID 숫자로 나타납니다.
  • Bitbucket 저장소는 프로젝트 키 (Key)로 나타납니다.
  • No labels