이슈 링크
이슈 링크 정규화
GitHub는 Fixes #123과 같은 자동 동작을 허용하며, 이는 이슈 번호 123을 닫습니다. 이 핸들러는 풀 리퀘스트 설명을 Fixes org/repo#123이라는 정규화된 버전으로 업데이트합니다.
이는 서브트리를 업스트림 저장소로 업데이트할 때 서브트리 쪽이 아니라 업스트림 저장소의 이슈를 참조하고 닫아버리는 상황을 방지하므로 유용합니다.
커밋 내 이슈 링크
GitHub는 또한 커밋에 이슈 링크를 포함할 수 있게 허용하며, 이는 해당 이슈에서 참조됩니다. 유용하기는 하지만, 이는 무엇보다도 참조된 이슈를 스팸으로 채우는 경우가 많습니다. 이 핸들러는 이에 대해 경고를 표시합니다.
설정
이 기능은 triagebot.toml에 [issue-links] 테이블을 두어 저장소에서 활성화합니다.
[issue-links]
커밋 검사 없이
일부 저장소는 커밋 메시지 내 이슈 링크에 대해 경고할 필요가 없거나, 경고하지 않는 것을 선호할 수 있습니다. 이 동작은 check-commits 설정 옵션으로 비활성화할 수 있습니다:
[issue-links]
check-commits = false # defaults to true
정규화되지 않은 이슈 링크만 검사
서브트리(또는 내장된 저장소)의 경우, 정규화되지 않은 이슈 링크(예: rust-lang/cargo#123 대신 #132)를 계속 검사하는 것이 권장됩니다. 이는 서브트리가 업스트림에 병합될 때 링크가 잘못된 저장소로 해석되는 것을 방지하는 동시에 커밋에서의 이슈 링크는 계속 허용합니다.
[issue-links]
check-commits = "uncanonicalized" # for subtrees
구현
src/handlers/issue_links.rs와 src/handlers/check_commits/issue_links.rs를 참고하십시오.