포함할 항목에 대한 구성 가능한 옵션으로 기존 프로젝트의 완전한 복사본을 생성합니다.


프로젝트 복사

프로젝트 복사 변형은 동일한 회사 내에서 또는 다른 회사로 기존 프로젝트를 복제할 수 있게 해줍니다. 이는 프로젝트 템플릿을 생성하거나 유사한 프로젝트를 설정하거나 회사 간에 프로젝트를 이동하는 데 유용합니다. 복사 작업은 대규모 프로젝트를 효율적으로 처리하기 위해 비동기적으로 실행됩니다.

기본 예제

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 아니오 작업 담당자 복사 (requires people: true)
automations Boolean 아니오 프로젝트 자동화 및 워크플로우 복사
checklists Boolean 아니오 작업 체크리스트 복사
customFields Boolean 아니오 사용자 정의 필드 정의 및 값 복사
discussions Boolean 아니오 프로젝트 토론 복사
discussionComments Boolean 아니오 토론에 대한 댓글 복사 (requires discussions: true)
dueDates Boolean 아니오 작업의 마감일 복사
files Boolean 아니오 파일 첨부 복사
forms Boolean 아니오 프로젝트 양식 복사
people Boolean 아니오 프로젝트 구성원 복사
projectUserRoles Boolean 아니오 사용자 역할 및 권한 복사 (requires people: true)
statusUpdates Boolean 아니오 프로젝트 상태 업데이트 복사
statusUpdateComments Boolean 아니오 상태 업데이트에 대한 댓글 복사 (requires statusUpdates: true)
tags Boolean 아니오 프로젝트 태그 복사
todoActions Boolean 아니오 작업 작업/하위 작업 복사
todoComments Boolean 아니오 작업 댓글 복사
todoLists Boolean 아니오 작업 목록/섹션 복사
todos Boolean 아니오 작업 복사
coverConfig Boolean 아니오 할 일 커버 이미지 구성 복사

응답

변형은 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를 눌러 열기