라벨, 필드, 선택사항은 수명 주기 동안 특정 상태를 거칩니다.
또한 라벨의 버전이 다를 수 있습니다. 다음 다이어그램은 버전 관리를 포함한 라벨 수명 주기를 보여줍니다.
그림 3. 라벨의 수명 주기
라벨 만들기 (create()): 라벨이 생성되고 데이터베이스에 revision_id=1로 저장됩니다. 라벨의 상태는 UNPUBLISHED_DRAFT입니다.
이 상태에서는 다음을 충족해야 합니다.
사용자가 라벨을 볼 수 없음
사용자가 Drive 항목에 라벨을 적용할 수 없습니다.
(선택사항) 라벨, 필드 또는 선택사항 업데이트 (delta()) - 게시 전이라도 모든 업데이트는 데이터베이스에 저장되고 라벨의 수정 버전이 증가합니다.
라벨 게시 (publish()): 라벨의 상태가 PUBLISHED이며 사용자가 라벨을 적용할 수 있습니다. 라벨을 게시하면 버전이 증가합니다.
(선택사항) 라벨, 필드 또는 선택사항 업데이트 (delta()): 라벨, 필드 또는 선택사항이 업데이트되고 데이터베이스에 초안 라벨로 저장됩니다. 라벨의 상태는 PUBLISHED이며 hasUnpublishedChanges=true은 초안 변경사항이 있지만 사용자에게는 제공되지 않음을 의미합니다. 각 업데이트는 라벨의 버전을 증가시킵니다.
(선택사항) 라벨 게시 (publish()): 사용 가능한 경우 최신 초안이 게시됩니다. 라벨의 상태가 PUBLISHED이고 사용자가 라벨을 적용할 수 있습니다. 라벨을 게시하면 버전이 증가합니다.
라벨 사용 중지 (disable()): 사용자가 API를 통해 라벨을 적용할 수 있지만 라벨의 상태는 DISABLED입니다. 하지만 사용 중지된 라벨은 표시되도록 구성되지 않은 한 UI에 표시되지 않습니다. 라벨을 지원 중단하면 버전이 증가합니다.
라벨 사용 설정 (enable()): 라벨이 PUBLISHED 상태로 돌아가고 사용자가 라벨을 적용할 수 있습니다. 라벨을 게시하면 버전이 증가합니다.
라벨 삭제 (delete()): 라벨의 상태가 DELETED이며 적용할 수 없습니다. 삭제된 라벨은 결국 삭제됩니다.
라벨을 업데이트할 때마다 라벨의 수정 버전이 증가한다는 점을 강조하는 것이 중요합니다. 라벨이 이미 게시된 경우 n 업데이트 후 다시 게시하면 게시된 버전 번호는 버전 + n + 연속 업데이트 수입니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-29(UTC)"],[],[],null,["# Label lifecycle\n\nLabels, fields, and choices go through specific states throughout their lives.\nAdditionally, labels might have different revisions. The following diagram shows\nthe label lifecycle, including revisioning:\n**Figure 3.** Lifecycle of a label\n\n1. **Create a label (`create()`)** ---The label is created and stored in a database as `revision_id=1`. The label has the state of `UNPUBLISHED_DRAFT`. In this state:\n - Users can't view the label\n - Users can't apply the label to Drive items.\n2. **(optional) Update a label, field, or choice (`delta()`)**--- Every update, even before it's published, is stored in a database, and the label's revision is incremented.\n3. **Publish a label (`publish()`)** ---The label has the state of `PUBLISHED` and users can apply the label. Publishing the label increments its revision.\n4. **(optional) Update a label, field, or choice (`delta()`)** --- The label, field, or choice is updated and stored in a database as a draft label. The label has the state of `PUBLISHED` with `hasUnpublishedChanges=true` meaning there are draft changes, but they aren't available to users. Each update increments the label's revision.\n5. **(optional) Publish a label (`publish()`)** ---If available, the most-current draft is published. The label has the state of `PUBLISHED` and users can apply the label. Publishing the label increments its version.\n6. **Disable a label (`disable()`)** ---The label has the state of `DISABLED` though users can apply the label through the API. However, a disabled label isn't shown in a UI unless configured to be shown. Deprecating the label increments its revision.\n7. **Enable a label (`enable()`)** ---The label is returned to a `PUBLISHED` state and users can apply the label. Publishing the label increments its revision.\n8. **Delete a label (`delete()`)** ---The label has a state of `DELETED` and can't be applied. Deleted labels are eventually purged.\n\nIt's important to emphasize that every update to a label increments the label's\nrevision. And, if the label has already been published, publishing it again\nafter *n* updates means that its published revision number is revision + *n* + 1\nnumber of successive updates."]]