Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

레이블 지정

댓글을 작성하여 이슈나 PR에 GitHub 레이블을 적용할 수 있습니다. 이슈에 레이블을 지정하면 검색하거나, 이슈들을 서로 연결하거나, 상태와 같은 정보를 공식적인 방식으로 나타내는 데 매우 유용합니다.

트리아지 WG는 이슈에 레이블을 지정하는 일을 돕습니다. 이슈 트리아지를 돕는 데 관심이 있다면 트리아지 WG 절차를 참고하십시오.

사용법

댓글의 일반적인 형식은 @rustbot label 뒤에 추가하거나 제거할 레이블 목록을 공백으로 구분하여 붙이는 것입니다. 레이블 앞에 - 문자를 붙이면 해당 레이블을 제거할 수 있습니다. 몇 가지 예시는 다음과 같습니다:

  • @rustbot label A-diagnostics A-macros
  • @rustbot label +T-lang -T-compiler — T-compiler를 제거하고 T-lang을 추가합니다.

레이블은 왼쪽에서 오른쪽 순서로 파싱되어 적용됩니다(충돌하는 레이블은 서로 상쇄됩니다). 예시:

# this command ...
@rustbot label +Alpaca -Bench -Carlo +Esteban +Dwight +Bench

# ... will be executed as:
@rustbot label +Alpaca +Esteban +Dwight -Carlo

이 명령의 구문은 어느 정도 유연하여, 원하는 대로 사용할 수 있도록 몇 가지 다른 형식을 지원합니다. 사용할 수 있는 변형의 몇 가지 예시는 다음과 같습니다:

  • @rustbot label: +T-lang, -T-compiler
  • @rustbot label: +T-lang and -T-compiler
  • @rustbot modify labels to +T-lang and -T-compiler
  • @rustbot modify labels: +T-lang and -T-compiler
  • @rustbot modify labels to +T-lang -T-compiler
  • @rustbot labels "+good first issue"

이 명령은 ., ; 또는 줄 끝으로 종료할 수 있습니다.

형식 문법은 다음과 같습니다:

명령 → @rustbot modify? 레이블-단어 to? :? 레이블-목록 (; | .)?

레이블-단어 →
label
| labels

레이블-목록 →
레이블-변경+
| 레이블-변경 and 레이블-목록
| 레이블-변경 , 레이블-목록
| 레이블-변경 , and 레이블-목록

레이블-변경 →
      + 레이블
   | - 레이블
   | 레이블
   | " + 인용된-레이블 "
   | " - 인용된-레이블 "
   | " 인용된-레이블 "

인용된-레이블 → [^“]*

레이블 → [^.,:!?;\n() ]+

권한

모든 레이블은 rust-lang 조직의 팀 구성원(그리고 트리아지 워킹 그룹인 wg-triage와 wg-async)이 지정할 수 있습니다. 팀에 속하지 않은 사용자는 triagebot.toml에서 명시적으로 허용된 레이블만 지정할 수 있습니다. 메인테이너는 대부분의 레이블을 누구나 지정할 수 있도록 허용하는 것이 좋습니다. 제한해야 할 레이블의 예로는 beta-accepted가 있습니다. beta로의 백포트를 승인하는 일은 보통 팀 구성원만 하기 때문입니다.

설정

저장소의 triagebot.toml에 [relabel] 테이블이 있으면 해당 저장소에서 레이블 지정 기능이 활성화됩니다:

[relabel]

인증되지 않은 사용자의 레이블 지정을 허용하려면 allow-unauthenticated 목록에 해당 레이블을 나열하면 됩니다:

[relabel]
# any label is allowed to be set by team members (anyone on a team in rust-lang/team)
# but these can be set by anyone in the world
allow-unauthenticated = [
    "C-*", # any C- prefixed label will be allowed for anyone, independent of authorization with rust-lang/team
    "!C-bug", # but not C-bug (order does not matter)
]

별칭

설정에서는 별칭도 지원합니다. 별칭은 여러 레이블의 집합으로 확장되는 단일 단어로, 명령 하나로 여러 레이블을 설정할 수 있게 해 주므로 같은 레이블 집합을 반복해서 추가하거나 제거할 때 유용합니다. 별칭을 설정하려면 triagebot 설정에 다음 항목을 추가하십시오:

[relabel.alias-name]
add-labels = ["Foo", "Bar"]
rem-labels = ["Baz"]

add-labels와 rem-labels는 별칭이 확장될 레이블의 배열입니다. 예를 들어, 위의 설정이 주어졌을 때:

# the command
@rustbot label alias-name

# translates to
@rustbot label +Foo +Bar -Baz

별칭은 부정형으로도 사용할 수 있으며, 이 경우 효과가 반대가 됩니다:

# this command
@rustbot label -alias-name

# translates to
@rustbot label +Baz -Foo -Bar

레이블과 별칭을 섞어서 사용할 수도 있습니다. 서로 상쇄되는 레이블은 생략됩니다:

# this command
@rustbot label alias-name +Baz

# translates to:
@rustbot label +Foo +Bar

구현

src/handlers/relabel.rs를 참조하십시오.