Blueでプロジェクトをアーカイブおよび非アーカイブする方法。
プロジェクトをアーカイブする
プロジェクトをアーカイブすることは、プロジェクトを永久に削除することなく一時的に隠したいときに便利です。アーカイブされたプロジェクトは:
- アクティブプロジェクトリストから隠される
- 編集または変更できない
- プロジェクトメンバーによっては引き続き表示可能
- いつでも非アーカイブ可能
基本的な例
mutation {
archiveProject(id: "project-123")
}
プロジェクトコンテキストヘッダーを使用する
# With header: x-bloo-project-id: project-123
mutation {
archiveProject
}
変数を使用して
mutation ArchiveProject($projectId: String!) {
archiveProject(id: $projectId)
}
変数:
{
"projectId": "abc123-project-id"
}
プロジェクトを非アーカイブする
アーカイブされたプロジェクトをアクティブな状態に戻すには:
mutation {
unarchiveProject(id: "project-123")
}
ミューテーションパラメータ
archiveProject
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
id |
String | いいえ | アーカイブするプロジェクトのID。指定しない場合は、コンテキストヘッダーからプロジェクトを使用します。 |
unarchiveProject
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
id |
String | いいえ | 非アーカイブするプロジェクトのID。指定しない場合は、コンテキストヘッダーからプロジェクトを使用します。 |
レスポンス
両方のミューテーションは成功を示すブール値を返します:
フィールド | タイプ | 説明 |
---|---|---|
Boolean |
Boolean! | 操作が成功した場合、true を返します |
必要な権限
プロジェクトロール | アーカイブ/非アーカイブ可能 |
---|---|
OWNER |
✅ はい |
ADMIN |
✅ はい |
MEMBER |
❌ いいえ |
CLIENT |
❌ いいえ |
COMMENT_ONLY |
❌ いいえ |
VIEW_ONLY |
❌ いいえ |
プロジェクトIDの解決
プロジェクトIDは2つの方法で指定できます:
-
パラメータとして(推奨):
archiveProject(id: "project-123")
-
HTTPヘッダー経由で:
x-bloo-project-id: project-123
(推奨)x-project-id: project-123
(非推奨)
両方が提供されている場合、パラメータが優先されます。
エラーレスポンス
プロジェクトが見つかりません
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
権限が不足しています
{
"errors": [{
"message": "You don't have permission to archive this project",
"extensions": {
"code": "UNAUTHORIZED"
}
}]
}
アーカイブ時の動作
プロジェクトをアーカイブすると:
- プロジェクトの状態:プロジェクトはアーカイブされたとしてマークされる
- 可視性:アクティブプロジェクトリストから隠される
- テンプレート:プロジェクトがテンプレートであった場合、テンプレートの状態を失う
- 位置:ユーザーのプロジェクトリストの最後に移動される
- フォルダ:任意のプロジェクトフォルダから削除される
- アクティビティログ:アーカイブアクションが記録される
- リアルタイム更新:すべての接続されたユーザーに通知される
重要な注意事項
- 冪等操作:すでにアーカイブされたプロジェクトをアーカイブすると、
true
が返され、変更はありません - 可逆的:
unarchiveProject
を使用してプロジェクトを復元します - 表示アクセス:アーカイブされたプロジェクトは既存のメンバーによって引き続き表示可能
- データ損失なし:アーカイブはすべてのプロジェクトデータを保持し、削除とは異なります
- 削除の代替:一時的な削除のために削除の代わりにアーカイブを検討してください