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 레이블을 적용할 수 있습니다. 이슈에 레이블을 지정하면 검색, 이슈들 간의 연결, 상태와 같은 정보를 공식적인 방식으로 표시하는 데 매우 유용할 수 있습니다.

트리아지 워킹 그룹은 이슈에 레이블을 지정하는 작업을 돕습니다. 이슈 트리아지를 돕는 데 관심이 있으시다면, 트리아지 워킹 그룹 절차를 참고하십시오.

사용법

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

  • @rustbot label A-diagnostics A-macros
  • @rustbot label +T-lang -T-compilerT-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 레이블-목록

레이블-델타 →
      + 레이블
   | - 레이블
   | 레이블
   | " + 레이블-quoted "
   | " - 레이블-quoted "
   | " 레이블-quoted "

레이블-quoted → [^“]*

레이블 → [^.,:!?;\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)
]

별칭

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

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

add-labelsrem-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를 참고하십시오.