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

Copy page in markdown for LLMs

프로젝트 복사

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

기본 예제

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