既存のプロジェクトの完全なコピーを作成し、含める内容の設定オプションを提供します。


プロジェクトのコピー

コピープロジェクトミューテーションを使用すると、同じ会社内または異なる会社に既存のプロジェクトを複製できます。これは、プロジェクトテンプレートの作成、類似プロジェクトの設定、または会社間でのプロジェクトの移動に便利です。コピー操作は、大規模なプロジェクトを効率的に処理するために非同期で実行されます。

基本例

mutation CopyProject {
  copyProject(
    input: {
      projectId: "proj_123abc"
      name: "New Project Copy"
      options: {
        todos: true
        todoLists: true
        people: true
      }
    }
  )
}

高度な例

mutation CopyProject {
  copyProject(
    input: {
      projectId: "proj_123abc"
      name: "Q2 Marketing Campaign"
      description: "Copy of Q1 campaign with updated timeline"
      imageURL: "https://example.com/campaign-logo.png"
      companyId: "comp_789xyz"
      options: {
        assignees: true
        automations: true
        checklists: true
        customFields: true
        discussions: false
        discussionComments: false
        dueDates: true
        files: true
        forms: true
        people: true
        projectUserRoles: true
        statusUpdates: false
        statusUpdateComments: false
        tags: true
        todoActions: true
        todoComments: false
        todoLists: true
        todos: true
      }
    }
  )
}

入力パラメータ

CopyProjectInput

パラメータ タイプ 必須 説明
projectId String! ✅ はい コピーするプロジェクトのID
name String! ✅ はい 新しいプロジェクトの名前(最大50文字)
description String いいえ 新しいプロジェクトの説明(最大500文字)
imageURL String いいえ 新しいプロジェクトの画像URL
companyId String いいえ 新しいプロジェクトを作成する会社のID。指定しない場合は、ソースプロジェクトの会社を使用します
options CopyProjectOptionsInput! ✅ はい コピーする要素の設定

CopyProjectOptionsInput

パラメータ タイプ 必須 説明
assignees Boolean いいえ タスクのアサインをコピーする(people: trueが必要)
automations Boolean いいえ プロジェクトの自動化とワークフローをコピーする
checklists Boolean いいえ タスクのチェックリストをコピーする
customFields Boolean いいえ カスタムフィールドの定義と値をコピーする
discussions Boolean いいえ プロジェクトのディスカッションをコピーする
discussionComments Boolean いいえ ディスカッションのコメントをコピーする(discussions: trueが必要)
dueDates Boolean いいえ タスクの期限をコピーする
files Boolean いいえ ファイルの添付をコピーする
forms Boolean いいえ プロジェクトのフォームをコピーする
people Boolean いいえ プロジェクトのメンバーをコピーする
projectUserRoles Boolean いいえ ユーザーの役割と権限をコピーする(people: trueが必要)
statusUpdates Boolean いいえ プロジェクトのステータス更新をコピーする
statusUpdateComments Boolean いいえ ステータス更新のコメントをコピーする(statusUpdates: trueが必要)
tags Boolean いいえ プロジェクトのタグをコピーする
todoActions Boolean いいえ タスクのアクション/サブタスクをコピーする
todoComments Boolean いいえ タスクのコメントをコピーする
todoLists Boolean いいえ タスクのリスト/セクションをコピーする
todos Boolean いいえ タスクをコピーする
coverConfig Boolean いいえ TODOカバー画像の設定をコピーする

レスポンス

ミューテーションはBooleanの値を返します:

  • true - コピージョブが正常にキューに追加されました
  • false - コピージョブを開始できませんでした

コピー状況の確認

コピーは非同期であるため、copyProjectStatusクエリを使用して進行状況を確認します:

コピー状況フィールド

フィールド タイプ 説明
queuePosition Int コピーキュー内の位置
totalQueues Int キュー内のアイテムの総数
isActive Boolean コピー操作が現在アクティブかどうか
oldProject Project コピーされているソースプロジェクト
newProjectName String 作成される新しいプロジェクトの名前
isTemplate Boolean テンプレートとしてコピーされているかどうか
oldCompany Company ソース会社
newCompany Company ターゲット会社
query CheckCopyStatus {
  copyProjectStatus {
    queuePosition
    totalQueues
    isActive
    oldProject {
      id
      name
    }
    newProjectName
    isTemplate
    oldCompany {
      id
      name
    }
    newCompany {
      id
      name
    }
  }
}

必要な権限

プロジェクトをコピーするには、ソースとターゲットの両方の場所で適切な権限が必要です:

シナリオ 必要な権限
Copy within same company OWNER, ADMIN, or MEMBER role in the source project
Copy to different company OWNER, ADMIN, or MEMBER role in the source project
• Must be a member of the target company

ソースプロジェクトは、コピーするためにアクティブ(アーカイブされていない)でなければなりません。

エラーレスポンス

プロジェクトが見つかりません

{
  "errors": [{
    "message": "Record not found",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

ソースプロジェクトが存在しないか、アクセス権がない場合に発生します。

会社が見つかりません

{
  "errors": [{
    "message": "Record not found",
    "extensions": {
      "code": "COMPANY_NOT_FOUND"
    }
  }]
}

ターゲット会社が存在しないか、アクセス権がない場合に発生します。

プロジェクトが大きすぎます

{
  "errors": [{
    "message": "Project is too large to copy",
    "extensions": {
      "code": "CREATE_PROJECT_LIMIT"
    }
  }]
}

プロジェクトに250,000以上のタスクがある場合に発生します。

コピーがすでに進行中

{
  "errors": [{
    "message": "Oops!"
  }]
}

すでにコピー操作が進行中の場合に発生します。

重要な注意事項

  • 非同期操作: ミューテーションはバックグラウンドジョブをキューに追加し、すぐに戻ります。進行状況を追跡するにはcopyProjectStatusを使用します。
  • 一度に一つのコピー: ユーザーごとにアクティブなコピー操作は一つだけです。
  • サイズ制限: 250,000以上のタスクを持つプロジェクトはコピーできません。
  • 論理的依存関係: 一部のオプションは一緒に使用するのが最適です:
    • assigneespeople: trueと共に機能します(人がいないとアサインはコピーされません)
    • discussionCommentsdiscussions: trueと共に機能します
    • statusUpdateCommentsstatusUpdates: trueと共に機能します
    • projectUserRolespeople: trueと共に機能します
  • 名前処理: プロジェクト名はトリムされ、URLは自動的に削除されます。
  • キュー優先度: エンタープライズ顧客はコピーキューで優先度が高くなります。
  • ステータスキャッシング: コピーのステータスは完了後6時間キャッシュされます。

AIアシスタント

回答はAIを使用して生成されており、間違いが含まれる可能性があります。

どのようにお手伝いできますか?

Blueやこのドキュメントについて何でも聞いてください。

送信するにはEnterを押してください • 新しい行を作成するにはShift+Enterを押してください • ⌘Iで開く