Maak een volledige kopie van een bestaand project met configureerbare opties voor wat moet worden opgenomen.


Kopieer een Project

De kopieerprojectmutatie stelt je in staat om een bestaand project binnen hetzelfde bedrijf of naar een ander bedrijf te dupliceren. Dit is nuttig voor het maken van projecttemplates, het opzetten van vergelijkbare projecten of het verplaatsen van projecten tussen bedrijven. De kopieeroperatie wordt asynchroon uitgevoerd om grote projecten efficiënt te verwerken.

Basis Voorbeeld

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

Geavanceerd Voorbeeld

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
      }
    }
  )
}

Invoervariabelen

CopyProjectInput

Parameter Type Vereist Beschrijving
projectId String! ✅ Ja De ID van het project dat moet worden gekopieerd
name String! ✅ Ja De naam voor het nieuwe project (max 50 tekens)
description String Nee De beschrijving voor het nieuwe project (max 500 tekens)
imageURL String Nee De afbeeldings-URL voor het nieuwe project
companyId String Nee De ID van het bedrijf waar het nieuwe project moet worden aangemaakt. Als deze niet wordt opgegeven, wordt het bedrijf van het bronproject gebruikt
options CopyProjectOptionsInput! ✅ Ja Configuratie voor welke elementen moeten worden gekopieerd

CopyProjectOptionsInput

Parameter Type Vereist Beschrijving
assignees Boolean Nee Kopieer taaktoewijzingen (vereist people: true)
automations Boolean Nee Kopieer projectautomatiseringen en workflows
checklists Boolean Nee Kopieer taakchecklists
customFields Boolean Nee Kopieer aangepaste velddefinities en waarden
discussions Boolean Nee Kopieer projectdiscussies
discussionComments Boolean Nee Kopieer opmerkingen over discussies (vereist discussions: true)
dueDates Boolean Nee Kopieer vervaldatums op taken
files Boolean Nee Kopieer bestandsbijlagen
forms Boolean Nee Kopieer projectformulieren
people Boolean Nee Kopieer projectleden
projectUserRoles Boolean Nee Kopieer gebruikersrollen en -machtigingen (vereist people: true)
statusUpdates Boolean Nee Kopieer projectstatusupdates
statusUpdateComments Boolean Nee Kopieer opmerkingen over statusupdates (vereist statusUpdates: true)
tags Boolean Nee Kopieer projecttags
todoActions Boolean Nee Kopieer taakacties/subtaken
todoComments Boolean Nee Kopieer taakopmerkingen
todoLists Boolean Nee Kopieer takenlijsten/secties
todos Boolean Nee Kopieer taken
coverConfig Boolean Nee Kopieer configuratie van de omslagafbeelding van de todo

Antwoord

De mutatie retourneert een Boolean waarde:

  • true - De kopieertaak is succesvol in de wachtrij geplaatst
  • false - De kopieertaak kon niet worden gestart

Controleer Kopiestatus

Aangezien het kopiëren asynchroon is, gebruik de copyProjectStatus query om de voortgang te controleren:

Kopiestatusvelden

Veld Type Beschrijving
queuePosition Int Positie in de kopiewachtrij
totalQueues Int Totaal aantal items in de wachtrij
isActive Boolean Of de kopieeroperatie momenteel actief is
oldProject Project Het bronproject dat wordt gekopieerd
newProjectName String Naam van het nieuwe project dat wordt aangemaakt
isTemplate Boolean Of dit wordt gekopieerd als een sjabloon
oldCompany Company Bronbedrijf
newCompany Company Doelbedrijf
query CheckCopyStatus {
  copyProjectStatus {
    queuePosition
    totalQueues
    isActive
    oldProject {
      id
      name
    }
    newProjectName
    isTemplate
    oldCompany {
      id
      name
    }
    newCompany {
      id
      name
    }
  }
}

Vereiste Machtigingen

Om een project te kopiëren, heb je de juiste machtigingen nodig in zowel de bron- als de doelomgeving:

Scenario Vereiste Machtigingen
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

Het bronproject moet actief zijn (niet gearchiveerd) om gekopieerd te kunnen worden.

Foutantwoorden

Project Niet Gevonden

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

Treedt op wanneer het bronproject niet bestaat of je geen toegang hebt.

Bedrijf Niet Gevonden

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

Treedt op wanneer het doelbedrijf niet bestaat of je geen toegang hebt.

Project Te Groot

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

Treedt op wanneer het project meer dan 250.000 taken heeft.

Kopieer Al In Behandeling

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

Treedt op wanneer je al een kopieeroperatie in behandeling hebt.

Belangrijke Opmerkingen

  • Asynchrone Operatie: De mutatie plaatst een achtergrondtaak in de wachtrij en retourneert onmiddellijk. Gebruik copyProjectStatus om de voortgang te volgen.
  • Één Kopie Tegelijk: Slechts één kopieeroperatie per gebruiker kan op elk moment actief zijn.
  • Grootte Beperkingen: Projecten met meer dan 250.000 taken kunnen niet worden gekopieerd.
  • Logische Afhankelijkheden: Sommige opties werken het beste samen:
    • assignees werkt met people: true (toewijzingen worden niet gekopieerd zonder mensen)
    • discussionComments werkt met discussions: true
    • statusUpdateComments werkt met statusUpdates: true
    • projectUserRoles werkt met people: true
  • Naamverwerking: Projectnamen worden ingekort en eventuele URL's worden automatisch verwijderd.
  • Wachtrijprioriteit: Enterprise-klanten krijgen een hogere prioriteit in de kopiewachtrij.
  • Statuscaching: De kopiestatus wordt 6 uur na voltooiing gecached.

AI Assistent

Antwoorden worden gegenereerd met behulp van AI en kunnen fouten bevatten.

Hoe kan ik u helpen?

Vraag me alles over Blue of deze documentatie.

Voer in om te verzenden • Shift+Enter voor nieuwe regel • ⌘I om te openen