repoSettings.json의 추가 정책
UI의 Settings 외에 일부 동작은 저장소 루트의 repoSettings.json으로 지정합니다. 파일이 없으면 루트에 새로 만들고, 이미 있으면 기존 설정을 유지하면서 필요한 키를 추가합니다.
설정 항목
| 키 | 동작 |
|---|---|
| tagNameValidation | 새 태그의 이름을 추가 정규식으로 검사합니다. regex와 errorMessage를 모두 지정해야 하며 기본 이름 제약에도 동시에 맞아야 합니다. |
| prDescriptionTemplate | 새 PR의 Description에 넣을 기본 문장입니다. 줄바꿈은 JSON 문자열의 \n으로 표현합니다. |
| outputPathPrefix | 새 변환 템플릿의 초기 출력 데이터셋 경로 접두사입니다. |
| prValidation | PR 필드에 적용할 정규식, 대상 필드 목록과 실패 메시지의 배열입니다. PR 생성 때 기준 브랜치의 설정으로 검사합니다. |
기본 템플릿의 출력 경로는 변환 파일의 경로를 사용합니다. 예를 들어 Python 파일 경로가 /path/to/your/repository/transforms-python/src/myproject/datasets/name_of_file이면 해당 경로를 초기값으로 사용합니다. 접두사를 /My/Custom/Prefix로 설정하면 /My/Custom/Prefix/name_of_file이 됩니다. 실제 출력은 저장소의 프로젝트 범위 안에 있어야 합니다.
전체 구성 예
다음은 가상 TEST-123 티켓 형식과 버전 태그 규칙을 사용하는 예입니다. 실제 프로젝트의 출력 폴더와 검토 규칙으로 바꿉니다.
{
"tagNameValidation": {
"regex": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-rc\\d+)?$",
"errorMessage": "Tag name must have the format x.x.x or x.x.x-rcx"
},
"prDescriptionTemplate": "First line of the description template\nAnd another line with instructions",
"outputPathPrefix": "/My/Custom/Prefix",
"prValidation": [
{
"regex": "TEST-\\d{3}",
"fields": ["title", "branchName"],
"errorMessage": "This field must contain a valid TEST-XXX ticket, such as 'TEST-123'."
},
{
"regex": "This is the description",
"fields": ["description"],
"errorMessage": "Please enter 'This is the description' somewhere in the description."
}
]
}
태그 정규식은 양끝이 고정되어 1.2.3 또는 1.2.3-rc1 같은 형식만 받습니다. PR 예시는 제목과 브랜치 이름 안의 TEST- 뒤 세 자리 숫자를 검사하고, 설명에는 지정한 문구가 들어가도록 요구합니다. 새 PR의 head 브랜치에서 검증 규칙을 바꾸었다고 기준 브랜치의 정책을 우회할 수는 없습니다.