이슈 타입 (deprecated)
GitLab v19.1이슈 타입은 Work Items 및 Work Item Types를 위해 deprecated되었습니다. 새로운 리소스 타입을 추가할 때, 이슈의 “확장”(이슈 타입)으로만 사용할지, 아니면 퍼스트 클래스 리소스 타입(이슈, 에픽, 머지 리퀘스트, 스니펫과 유사)으로 새로 만들지 명확하지 않은 경우가 있습니다.
이슈 타입은 Work Items 및 Work Item Types를 위해 deprecated되었습니다.
새로운 리소스 타입을 추가할 때, 이슈의 “확장”(이슈 타입)으로만 사용할지, 아니면 퍼스트 클래스 리소스 타입(이슈, 에픽, 머지 리퀘스트, 스니펫과 유사)으로 새로 만들지 명확하지 않은 경우가 있습니다.
이슈 타입의 아이디어는 이 이슈에서 처음 제안되었으며, 이후 인시던트 관리 등에서 여러 차례 논의되었습니다.
이슈 타입이란#
이슈 타입은 기존 이슈 타입을 확장하는 리소스 타입으로, 이슈가 사용되는 모든 곳에서 사용할 수 있습니다.
예를 들어 이슈를 목록으로 보거나 검색할 때, 또는 에픽에서 해당 타입의 객체를 연결할 때 사용할 수 있습니다.
동일한 issues 테이블을 사용해야 하며, 추가 필드는 별도 테이블에 저장할 수 있습니다.
이슈 타입을 사용해야 하는 경우#
-
새로운 타입이 기존 이슈 타입에서 기존 필드를 제거하지 않고 새 필드만 추가할 때 (단, 기본 이슈 타입의 일부 필드를 사용자 인터페이스/API에서 숨기는 것은 허용됩니다).
-
새로운 타입을 기본 이슈 타입이 사용되는 모든 곳에서 사용할 수 있을 때.
퍼스트 클래스 리소스 타입을 사용해야 하는 경우#
-
새 리소스에 별도의 모델과 테이블을 사용할 때.
-
기본 이슈 타입의 일부 필드를 제거해야 할 때 (UI에서 숨기는 것은 허용되지만, 완전히 제거하는 것은 불가).
-
새 리소스를 기본 이슈 타입 대신 사용할 수 없을 때, 예를 들어:
에픽에 추가할 수 없는 경우.
-
커밋이나 머지 리퀘스트에서 종료할 수 없는 경우.
-
다른 이슈와 관련된 것으로 표시할 수 없는 경우.
-
이슈 타입을 사용할 수 없는 경우에도 퍼스트 클래스 타입을 정의하고, 모든 이슈 관련 리소스에서 공통으로 사용하는 기능을 재사용하기 위해 Issuable 또는 Noteable 같은 concern을 포함할 수 있습니다.
단, 새 리소스와 함께 동작하도록 인터페이스를 정의하고 일부 다른 컴포넌트를 업데이트해야 합니다.
이슈 타입을 사용하면 해당 타입에서 사용 가능한 필드, 기능 또는 둘 다에 제한이 생깁니다. 그러나 이 기능은 기본으로 제공됩니다.