🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@bifos/dooray-cli

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bifos/dooray-cli - npm Package Compare versions

Comparing version
0.10.1
to
0.11.0
+1
-1
package.json
{
"name": "@bifos/dooray-cli",
"version": "0.10.1",
"version": "0.11.0",
"description": "CLI tool for Dooray project management — AI agent & terminal friendly",

@@ -5,0 +5,0 @@ "keywords": [

@@ -94,2 +94,18 @@ # dooray-cli

**projectId 직접 입력** (Issue #78, ADR-030):
`member=me` 응답에 없는 프로젝트 (다른 팀 / 권한만 있는 프로젝트) 도 projectId (15+자리 numeric) 를 직접 입력하면 자동으로 cache 우회.
```bash
# 코드 매칭 (기존)
dooray post search <project> "keyword"
# projectId 직접 입력 — member 아닌 프로젝트도 자동화 가능
dooray post search 1234567890123456789 "keyword"
dooray post list 1234567890123456789
dooray member list 1234567890123456789
```
권한 검증은 후속 API 호출 시점 — 권한 없으면 4xx.
### 업무 생성

@@ -387,2 +403,18 @@

`--json` 옵션으로 자동화 파이프라인에서 동일 parse 코드를 사용할 수 있습니다 (ADR-031):
```bash
# download — { outputPath, fileName, size }
dooray wiki page file download <project> <page-id> --file-id <id> -o ./ --json
# download-all — { count, succeeded, failed } (부분 실패 시 exit 1)
dooray wiki page file download-all <project> <page-id> -o ./ --json | jq '.failed'
# delete — { fileId, status: "deleted" }
dooray wiki page file delete <project> <page-id> --file-id <id> --json
# upload — res.result raw (--quiet 는 id 만)
dooray wiki page file upload <project> <page-id> --file ./report.pdf --json
```
**주의**:

@@ -479,2 +511,21 @@ - `upload` 시 multipart 필드 순서 (`type` → `file`) 가 중요.

자동화 스크립트에서 `--json` 옵션으로 구조화된 출력을 파이프로 가공할 수 있습니다 (ADR-031):
```bash
# download — { outputPath, fileName, size }
dooray post file download <project> <number> --file-id <id> -o ./ --json
# 출력: {"outputPath": "./<fileName>", "fileName": "...", "size": 12345}
# download-all — { count, succeeded, failed } (부분 실패 시 exit 1)
dooray post file download-all <project> <number> -o ./ --json | jq '.failed'
# 출력: [] 또는 [{"fileId": "...", "error": "..."}]
# delete — { fileId, status: "deleted" }
dooray post file delete <project> <number> --file-id <id> --json
# 출력: {"fileId": "...", "status": "deleted"}
# upload — res.result raw (--quiet 는 id 만)
dooray post file upload <project> <number> ./report.pdf --json
```
URL/`--id`/`--url` 모드에서는 sub-id를 옵션으로 전달:

@@ -481,0 +532,0 @@ ```bash

@@ -65,3 +65,3 @@ ---

| 업무 목록 조회 | `dooray post list <project>` |
| 업무 검색 | `dooray post search <project> "<keyword>"` |
| 업무 검색 | `dooray post search <project|projectId> "<keyword>"` — projectId (15+자리 numeric) 직접 입력 시 cache 우회 (ADR-030) |
| 업무 상세 보기 | `dooray post get <project> <number>` |

@@ -108,2 +108,3 @@ | 업무 생성 | `dooray post create <project> --title "..." [--body "..." \| --body-file <path>]` (`--tag`/`--parent`/`--workflow`/`--milestone` 지원) |

| 첨부파일 삭제 | `dooray post file delete <project> <number> <file-id>` |
| file 명령군 자동화 파싱 | `dooray post file <verb> ... --json` — `download` = `{outputPath,fileName,size}`, `download-all` = `{count,succeeded,failed}` (부분 실패 시 exit 1), `delete` = `{fileId,status}`, `upload` = `res.result` raw (ADR-031) |
| 댓글 첨부 목록 | `dooray post comment file list <project> <number> <comment-id>` |

@@ -212,2 +213,12 @@ | 댓글 파일 업로드 | `dooray post comment file upload <project> <number> <comment-id> <path>` |

### 첨부파일 일괄 다운로드 후 실패 분리 (ADR-031)
```bash
# --json 으로 구조화 출력 → jq 로 성공/실패 분리
RESULT=$(dooray post file download-all <project> <number> -o ./ --json)
echo "$RESULT" | jq -r '.failed[] | "\(.fileId): \(.error)"' >&2
echo "$RESULT" | jq -r '.succeeded[].path'
# exit code 1 이 설정되어 있으면 실패 있는 상태
```
### 위키 페이지 첨부파일 — 스킬 파일 팀 공유 (Issue #70)

@@ -593,2 +604,20 @@

## projectId 직접 입력 시나리오 (Issue #78, ADR-030)
AI agent 가 `member=me` 응답에 없는 프로젝트의 업무를 다뤄야 할 때:
1. **사용자가 projectId (15+자리 numeric) 를 줬으면 그대로 명령에 사용**:
```bash
dooray post search 1234567890123456789 "keyword"
```
2. **사용자가 코드만 줬고 cache 매칭 실패 (member 아닌 프로젝트)**:
- 에러 메시지의 ADR-030 안내 확인
- 사용자에게 "프로젝트 ID 가 필요합니다 — Dooray UI 의 프로젝트 URL 에서 확인 가능" 요청
- 또는 `dooray project list --type private` 로 private 캐시 갱신 시도
3. **권한 없는 projectId 입력 시**: resolver 통과 후 후속 API 4xx 발생 — 에러 메시지에서 권한 부재 확인 후 사용자에게 보고
권한 검증이 resolver 단보다 한 단계 지연되는 trade-off — AI 친화적 자동화 우선 (ADR-030).
## 캐시

@@ -595,0 +624,0 @@

Sorry, the diff of this file is too big to display