CRUD権限上限とレート制限取得を追加し0.4.0へ更新 - #15
Merged
Merged
Conversation
## 概要 `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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
backlog-apiへ環境変数によるCRUD権限の上限を追加し、未設定時はREADだけを許可する安全な既定動作にしました。あわせてBacklog APIレスポンスのレート制限
情報を安全に捕捉し、Node独自の
get_rate_limit操作として参照できるようにしました。
バージョンは
0.3.4から0.4.0へ更新しました。変更内容
CRUD権限の環境上限
BACKLOG_API_ALLOWED_PERMISSIONSを追加READだけを許可--allowを両方評価allowedPermissionsを省略した場合もREADだけを許可レート制限情報
fetchを注入X-RateLimitヘッダーだけを検証して取得read、update、search、iconを返すREAD操作get_rate_limitを追加CLI・文書・バージョン
--helpだけで環境変数の形式、既定値、権限評価、DELETE要件を判断できるよう更新backlog-jsを直接依存として明示0.4.0へ更新動作確認
npm test:38テスト成功npm run smoke:node:成功get_spaceとget_rate_limitの成功を確認関連Issue
Closes #14
Closes #12
Closes #6