Erstellen Sie eine vollständige Kopie eines bestehenden Projekts mit konfigurierbaren Optionen für das, was einbezogen werden soll.


Projekt kopieren

Die Mutation zum Kopieren eines Projekts ermöglicht es Ihnen, ein bestehendes Projekt innerhalb desselben Unternehmens oder zu einem anderen Unternehmen zu duplizieren. Dies ist nützlich, um Projektvorlagen zu erstellen, ähnliche Projekte einzurichten oder Projekte zwischen Unternehmen zu verschieben. Der Kopiervorgang wird asynchron ausgeführt, um große Projekte effizient zu bearbeiten.

Einfaches Beispiel

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

Fortgeschrittenes Beispiel

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

Eingabeparameter

CopyProjectInput

Parameter Typ Erforderlich Beschreibung
projectId String! ✅ Ja Die ID des zu kopierenden Projekts
name String! ✅ Ja Der Name für das neue Projekt (max. 50 Zeichen)
description String Nein Die Beschreibung für das neue Projekt (max. 500 Zeichen)
imageURL String Nein Die Bild-URL für das neue Projekt
companyId String Nein Die ID des Unternehmens, in dem das neue Projekt erstellt werden soll. Wenn nicht angegeben, wird das Unternehmen des Quellprojekts verwendet
options CopyProjectOptionsInput! ✅ Ja Konfiguration, welche Elemente kopiert werden sollen

CopyProjectOptionsInput

Parameter Typ Erforderlich Beschreibung
assignees Boolean Nein Kopiere Aufgaben-Zuweisungen (erfordert people: true)
automations Boolean Nein Kopiere Projektautomatisierungen und Workflows
checklists Boolean Nein Kopiere Aufgaben-Checklisten
customFields Boolean Nein Kopiere benutzerdefinierte Felddefinitionen und Werte
discussions Boolean Nein Kopiere Projektdiskussionen
discussionComments Boolean Nein Kopiere Kommentare zu Diskussionen (erfordert discussions: true)
dueDates Boolean Nein Kopiere Fälligkeitstermine für Aufgaben
files Boolean Nein Kopiere Dateianhänge
forms Boolean Nein Kopiere Projektformulare
people Boolean Nein Kopiere Projektmitglieder
projectUserRoles Boolean Nein Kopiere Benutzerrollen und Berechtigungen (erfordert people: true)
statusUpdates Boolean Nein Kopiere Projektstatusaktualisierungen
statusUpdateComments Boolean Nein Kopiere Kommentare zu Statusaktualisierungen (erfordert statusUpdates: true)
tags Boolean Nein Kopiere Projekt-Tags
todoActions Boolean Nein Kopiere Aufgabenaktionen/Unteraufgaben
todoComments Boolean Nein Kopiere Aufgabenkommentare
todoLists Boolean Nein Kopiere Aufgabenlisten/Abschnitte
todos Boolean Nein Kopiere Aufgaben
coverConfig Boolean Nein Kopiere Konfiguration des Coverbildes für To-Dos

Antwort

Die Mutation gibt einen Boolean Wert zurück:

  • true - Der Kopierauftrag wurde erfolgreich in die Warteschlange gestellt
  • false - Der Kopierauftrag konnte nicht gestartet werden

Überprüfen des Kopierstatus

Da das Kopieren asynchron ist, verwenden Sie die copyProjectStatus Abfrage, um den Fortschritt zu überprüfen:

Felder des Kopierstatus

Feld Typ Beschreibung
queuePosition Int Position in der Kopierwarteschlange
totalQueues Int Gesamtanzahl der Elemente in der Warteschlange
isActive Boolean Ob der Kopiervorgang derzeit aktiv ist
oldProject Project Das Quellprojekt, das kopiert wird
newProjectName String Name des neuen Projekts, das erstellt wird
isTemplate Boolean Ob dies als Vorlage kopiert wird
oldCompany Company Quellunternehmen
newCompany Company Zielunternehmen
query CheckCopyStatus {
  copyProjectStatus {
    queuePosition
    totalQueues
    isActive
    oldProject {
      id
      name
    }
    newProjectName
    isTemplate
    oldCompany {
      id
      name
    }
    newCompany {
      id
      name
    }
  }
}

Erforderliche Berechtigungen

Um ein Projekt zu kopieren, benötigen Sie die entsprechenden Berechtigungen sowohl am Quell- als auch am Zielort:

Szenario Erforderliche Berechtigungen
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

Das Quellprojekt muss aktiv (nicht archiviert) sein, um kopiert zu werden.

Fehlerantworten

Projekt nicht gefunden

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

Tritt auf, wenn das Quellprojekt nicht existiert oder Sie keinen Zugriff haben.

Unternehmen nicht gefunden

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

Tritt auf, wenn das Zielunternehmen nicht existiert oder Sie keinen Zugriff haben.

Projekt zu groß

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

Tritt auf, wenn das Projekt mehr als 250.000 Aufgaben hat.

Kopie bereits in Bearbeitung

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

Tritt auf, wenn Sie bereits einen Kopiervorgang in Bearbeitung haben.

Wichtige Hinweise

  • Asynchroner Vorgang: Die Mutation stellt einen Hintergrundjob in die Warteschlange und gibt sofort zurück. Verwenden Sie copyProjectStatus, um den Fortschritt zu verfolgen.
  • Eine Kopie zur Zeit: Nur ein Kopiervorgang pro Benutzer kann zu einem Zeitpunkt aktiv sein.
  • Größenbeschränkungen: Projekte mit mehr als 250.000 Aufgaben können nicht kopiert werden.
  • Logische Abhängigkeiten: Einige Optionen funktionieren am besten zusammen:
    • assignees funktioniert mit people: true (Zuweisungen werden nicht kopiert, ohne Personen)
    • discussionComments funktioniert mit discussions: true
    • statusUpdateComments funktioniert mit statusUpdates: true
    • projectUserRoles funktioniert mit people: true
  • Namensverarbeitung: Projektnamen werden gekürzt und alle URLs werden automatisch entfernt.
  • Warteschlangenpriorität: Unternehmenskunden erhalten eine höhere Priorität in der Kopierwarteschlange.
  • Status-Caching: Der Kopierstatus wird 6 Stunden nach Abschluss zwischengespeichert.

KI-Assistent

Antworten werden mit KI generiert und können Fehler enthalten.

Wie kann ich Ihnen helfen?

Fragen Sie mich alles über Blue oder diese Dokumentation.

Eingabe zum Senden • Shift+Eingabe für neue Zeile • ⌘I zum Öffnen