Skip to content

CRUD権限上限とレート制限取得を追加し0.4.0へ更新 - #15

Merged
igapyon merged 1 commit into
develfrom
devel-tiga0722xad
Jul 28, 2026
Merged

CRUD権限上限とレート制限取得を追加し0.4.0へ更新#15
igapyon merged 1 commit into
develfrom
devel-tiga0722xad

Conversation

@igapyon

@igapyon igapyon commented Jul 28, 2026

Copy link
Copy Markdown
Owner

概要

backlog-apiへ環境変数によるCRUD権限の上限を追加し、未設定時はREADだけを
許可する安全な既定動作にしました。あわせてBacklog APIレスポンスのレート制限
情報を安全に捕捉し、Node独自のget_rate_limit操作として参照できるように
しました。

バージョンは0.3.4から0.4.0へ更新しました。

変更内容

CRUD権限の環境上限

  • BACKLOG_API_ALLOWED_PERMISSIONSを追加
  • 未設定時はREADだけを許可
  • カンマ区切り、前後の空白、大小文字、重複を正規化
  • 空要素や未知の値をBacklogクライアント解決前に拒否
  • 環境側の権限上限と呼び出し単位の--allowを両方評価
  • Node APIでallowedPermissionsを省略した場合もREADだけを許可
  • DELETEでは既存の破壊的操作確認を継続

レート制限情報

  • Backlogクライアントへレスポンス捕捉用のfetchを注入
  • 実レスポンスのHTTP状態と3つのX-RateLimitヘッダーだけを検証して取得
  • UNIX秒のリセット時刻をUTC ISO 8601へ変換
  • 非同期コンテキストにより並行アクセス間のメタデータ混在を防止
  • readupdatesearchiconを返すREAD操作get_rate_limitを追加
  • 上流58操作とNode独自操作をトレース情報で区別

CLI・文書・バージョン

  • --helpだけで環境変数の形式、既定値、権限評価、DELETE要件を判断できるよう更新
  • README、レート制限資料、開発資料、トレーサビリティ資料を更新
  • 操作カタログを上流58操作とNode独自1操作の計59操作へ更新
  • backlog-jsを直接依存として明示
  • バージョンを0.4.0へ更新

動作確認

  • npm test:38テスト成功
  • npm run smoke:node:成功
  • 実Backlog環境で権限上限をREADへ固定してget_spaceget_rate_limitの成功を確認
  • 実レスポンスのHTTP状態、レート制限ヘッダー、4つのレート制限区分を確認
  • 認証情報、組織情報、取得本文を出力・保存していないことを確認

関連Issue

Closes #14

Closes #12

Closes #6

## 概要

`backlog-api`へ環境変数によるCRUD権限の上限を追加し、未設定時はREADだけを
許可する安全な既定動作にしました。あわせてBacklog APIレスポンスのレート制限
情報を安全に捕捉し、Node独自の`get_rate_limit`操作として参照できるように
しました。

バージョンは`0.3.4`から`0.4.0`へ更新しました。

## 変更内容

### CRUD権限の環境上限

- `BACKLOG_API_ALLOWED_PERMISSIONS`を追加
- 未設定時は`READ`だけを許可
- カンマ区切り、前後の空白、大小文字、重複を正規化
- 空要素や未知の値をBacklogクライアント解決前に拒否
- 環境側の権限上限と呼び出し単位の`--allow`を両方評価
- Node APIで`allowedPermissions`を省略した場合もREADだけを許可
- DELETEでは既存の破壊的操作確認を継続

### レート制限情報

- Backlogクライアントへレスポンス捕捉用の`fetch`を注入
- 実レスポンスのHTTP状態と3つの`X-RateLimit`ヘッダーだけを検証して取得
- UNIX秒のリセット時刻をUTC ISO 8601へ変換
- 非同期コンテキストにより並行アクセス間のメタデータ混在を防止
- `read`、`update`、`search`、`icon`を返すREAD操作`get_rate_limit`を追加
- 上流58操作とNode独自操作をトレース情報で区別

### CLI・文書・バージョン

- `--help`だけで環境変数の形式、既定値、権限評価、DELETE要件を判断できるよう更新
- README、レート制限資料、開発資料、トレーサビリティ資料を更新
- 操作カタログを上流58操作とNode独自1操作の計59操作へ更新
- `backlog-js`を直接依存として明示
- バージョンを`0.4.0`へ更新

## 動作確認

- `npm test`:38テスト成功
- `npm run smoke:node`:成功
- 実Backlog環境で権限上限をREADへ固定して`get_space`と`get_rate_limit`の成功を確認
- 実レスポンスのHTTP状態、レート制限ヘッダー、4つのレート制限区分を確認
- 認証情報、組織情報、取得本文を出力・保存していないことを確認

## 関連Issue

Closes #14

Closes #12

Closes #6
@igapyon
igapyon merged commit 54e3d28 into devel Jul 28, 2026
4 checks passed
@igapyon
igapyon deleted the devel-tiga0722xad branch July 28, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant