참고 자료오류 메시지별 정리

문제 해결

각 실습의 “막히면”에 있는 항목을 증상별로 모았다. 오류가 나면 먼저 메시지의 첫 단어로 아래 표를 찾는다. 메시지가 영어로 나오는 것은 gh와 Git의 기본 동작이다.

전체 항목

오류를 만났을 때의 순서

  1. 같은 블록을 통째로 다시 실행하지 않는다. 생성 명령이 이미 성공했을 수 있다.
  2. echo "$PM_REPO $PM_PROJECT"로 변수가 비어 있지 않은지 확인한다. 비어 있으면 source pm-lab/env.sh를 실행한다.
  3. 조회 명령(gh issue list, gh project item-list, gh label list)으로 무엇이 이미 만들어졌는지 확인한다.
  4. 아래 표에서 메시지를 찾아 해결한 뒤, 실패한 줄부터 이어서 실행한다.

설치와 로그인

증상 또는 메시지원인해결
gh: command not found설치 전이거나 터미널이 새 경로를 모른다설치 후 터미널을 닫고 다시 연다
unknown flag: --field, unknown flag: --urlgh 2.97.0 미만brew upgrade gh 또는 winget upgrade --id GitHub.cli
unknown flag: --add-blocked-bygh 2.94.0 미만업그레이드한다. 당장 못 하면 웹의 Relationships에서 연결한다
your authentication token is missing required scopes [project]로그인에 project 권한이 없다gh auth refresh -s project
HTTP 401, Bad credentials로그인이 만료되었거나 다른 계정이다gh auth status 확인 후 gh auth login
HTTP 403 (조직)조직의 권한이나 SAML SSO 승인이 없다개인 계정으로 실습하거나 조직 관리자에게 권한과 SSO 승인을 요청한다
push에서 비밀번호를 물음Git이 gh 로그인 정보를 쓰지 않는다gh auth setup-git
Author identity unknownGit 사용자 이름과 메일이 없다git config --global user.name, user.email 지정

셸 문법

증상 또는 메시지원인해결
명령 뒤에 >만 나오고 끝나지 않음따옴표나 EOF가 닫히지 않았다Ctrl+C로 취소하고 블록 전체를 다시 붙여넣는다
PM_REPO_NAME: command not found= 양옆에 공백이 있다PM_REPO_NAME="launchpad-pm-lab"처럼 붙여 쓴다
본문 끝에 EOF 글자가 들어감마지막 EOF 앞뒤에 공백이 있다EOF를 줄 맨 앞에 단독으로 둔다
$'\r': command not foundWindows 편집기가 줄 끝 문자를 바꿨다Git Bash에서 sed -i 's/\r$//' 파일
PowerShell에서 PM_OWNER=$(...)가 실패Bash 문법이다Git Bash나 WSL을 연다
저장한 파일 내용이 사라짐>> 대신 >를 썼다변수 파일은 실습 1의 도구로 다시 만든다
date: illegal option -- dmacOS의 date 문법이 다르다교안의 date -d ... || date -v-7d ... 형태를 그대로 쓴다

저장소, 마일스톤, 라벨, 이슈

증상 또는 메시지원인해결
Name already exists on this account같은 이름의 저장소가 있다그 저장소를 쓸지 정하거나 PM_REPO_NAME을 바꾼다
HTTP 404저장소 이름이 틀렸거나 변수가 비어 있다echo "$PM_REPO"
Validation Failed ... already_exists같은 제목의 마일스톤이 있다조회하고 다음 단계로 넘어간다
label with name "..." already exists같은 라벨이 있다넘어가거나 --force로 색과 설명을 갱신한다
could not add to milestone '...': '...' not found마일스톤 제목이 다르다마일스톤 조회 후 PM_MILESTONE을 맞춘다
could not add label: '...' not found라벨이 없다gh label list로 확인 후 만든다
같은 업무가 두 개 생김생성 명령을 두 번 실행했거나 제목이 달랐다한쪽을 --reason "not planned"로 닫고 Project에서 지운다
no issues match your search in ...조건에 맞는 이슈가 없다오류가 아니라 조회 결과다

Project

증상 또는 메시지원인해결
PM_PROJECT가 비어 있음번호 저장 단계가 실패했다gh project list --owner "$PM_OWNER"로 번호를 찾아 지정한다
field "..." not found in project; available fields: ...필드 이름이 틀렸다메시지 끝의 목록에서 이름을 고른다
option "..." not found on field "Status"선택지 이름이 틀렸다"In Progress"처럼 공백까지 맞춘다
setting an iteration field by name is not supportedIteration은 이름으로 지정할 수 없다웹에서 바꾸거나 반복 ID로 --iteration-id를 쓴다
error: no changes to make바꿀 값이 없다--value 또는 --date를 붙인다
Project 3 for owner ... has no items조회 조건에 맞는 항목이 없다--query의 따옴표와 이름을 확인한다
이슈가 보드에 없음Project에 추가하지 않았거나 보기 필터에 걸렸다gh project item-add 실행, 보기 필터 확인
Sprint 보드가 비어 있음Iteration 미배정, 이름 불일치, @current가 기간 밖표 보기에서 Iteration 열 확인
이슈를 닫았는데 Status가 그대로Project 워크플로가 꺼져 있다item-edit --field Status --value Done, Workflows 설정 확인

PR, 스크립트, 기록

증상 또는 메시지원인해결
No commits between main and ...브랜치에 커밋이 없다git status, git log --oneline -3
no checks reported on the '...' branch저장소에 자동 검사가 없다오류가 아니다
병합 후에도 이슈가 OPENPR 본문에 닫는 키워드가 없다gh pr view --json closingIssuesReferences 확인 후 직접 닫는다
오류: 아래 항목이 없어 아무것도 만들지 않았다.등록 스크립트의 사전 점검 실패출력된 마일스톤과 라벨을 만들고 다시 실행한다
재실행 시 생성 오류이미 만든 대상이 있다조회 후 해당 단계를 건너뛴다
사전 리포트의 Project 현황이 “항목 없음”--iteration 이름 불일치"Sprint 1"처럼 정확히 쓴다
jq가 필요하다jq 미설치brew install jq, winget install jqlang.jq
시작 기록보다 종료 기록의 업무가 적음종료 기록 전에 Iteration을 옮겼거나 항목을 보관했다Iteration을 되돌리고 종료 기록을 다시 저장한다
위키 탭이 없음저장소 기능 설정 또는 무료 플랜의 비공개 저장소docs/ 폴더를 쓴다

이벤트 로그와 프로세스 마이닝 (2단계)

증상 또는 메시지원인해결
오류: 첫 줄이 case_id,activity,timestamp로 시작해야 한다다른 형식의 CSV, 또는 엑셀이 붙인 BOMhead -1 파일로 첫 줄을 확인한다. BOM은 실습 22의 방법으로 지운다
오류: 조건에 맞는 사례가 없다--from, --to 기간에 작업을 시작한 업무가 없다날짜 형식(YYYY-MM-DD)과 로그의 기간을 확인한다
오류: 인자가 너무 많다: 기록공백이 있는 활동 이름을 따옴표 없이 썼다--has "결정 기록"
교안의 숫자와 다르다원본 로그로 실행했다2단계 숫자는 모두 orbit-event-log-clean.csv 기준이다
화면 도구가 “이벤트 로그를 불러오지 못했다”교안을 파일로 열었다docs 폴더에서 python3 -m http.server, http://localhost:8000
“PM4Py를 불러오지 못했다”네트워크가 cdn.jsdelivr.net이나 pypi.org를 막았다GitHub Pages 주소로 열거나 내 컴퓨터에서 pm4py-notebook.py를 실행한다
pip install pm4py가 cvxopt에서 실패cvxopt를 빌드할 컴파일러가 없다pip install pm4py==2.7.23.8 --no-deps 뒤 나머지 패키지를 따로 설치한다 (실습 24)