Tilldela, lägg till eller ta bort användare från poster med hjälp av Blue API


Hantera Post Tilldelningar

Blue API tillhandahåller tre operationer för att hantera post tilldelningar: ställa in tilldelningar (smart ersättning), lägga till tilldelningar och ta bort tilldelningar. Dessa operationer hanterar automatiskt aktivitetsövervakning, meddelanden, webhooks och realtidsuppdateringar.

Ställ in Post Tilldelningar (Smart Tilldelning)

Ersätter alla nuvarande tilldelningar med en ny lista. Systemet beräknar intelligent vilka ändringar som behövs, tar bort användare som inte finns i den nya listan och lägger till nya.

mutation SetRecordAssignees {
  setTodoAssignees(input: {
    todoId: "record_abc123"
    assigneeIds: ["user_123", "user_456", "user_789"]
  }) {
    success
    operationId
  }
}

Lägg till Post Tilldelningar

Lägger till nya tilldelningar utan att ta bort befintliga. Endast användare som inte redan är tilldelade kommer att läggas till.

mutation AddRecordAssignees {
  addTodoAssignees(input: {
    todoId: "record_abc123"
    assigneeIds: ["user_999", "user_111"]
  }) {
    success
    operationId
  }
}

Ta bort Post Tilldelningar

Tar bort specifika tilldelningar från en post.

mutation RemoveRecordAssignees {
  removeTodoAssignees(input: {
    todoId: "record_abc123"
    assigneeIds: ["user_456"]
  }) {
    success
    operationId
  }
}

Indata Parametrar

SetTodoAssigneesInput

Parameter Typ Obligatorisk Beskrivning
todoId String! ✅ Ja ID för posten att tilldela användare till
assigneeIds [String!]! ✅ Ja Array av användar-ID:n att tilldela (ersätter alla nuvarande tilldelningar)

AddTodoAssigneesInput

Parameter Typ Obligatorisk Beskrivning
todoId String! ✅ Ja ID för posten att tilldela användare till
assigneeIds [String!]! ✅ Ja Array av användar-ID:n att lägga till som tilldelningar

RemoveTodoAssigneesInput

Parameter Typ Obligatorisk Beskrivning
todoId String! ✅ Ja ID för posten att ta bort tilldelningar från
assigneeIds [String!]! ✅ Ja Array av användar-ID:n att ta bort från tilldelningar

Svarsfält

Fält Typ Beskrivning
success Boolean! Om operationen slutfördes framgångsrikt
operationId String Unik identifierare för att spåra denna operation

Obligatoriska Behörigheter

Ställ in/Ta bort Tilldelningar

Roll Kan Tilldela/Ta bort
OWNER ✅ Ja
ADMIN ✅ Ja
MEMBER ✅ Ja
CLIENT ✅ Ja
VIEW_ONLY ❌ Nej
COMMENT_ONLY ❌ Nej

Lägg till Tilldelningar

Roll Kan Lägga till Tilldelningar
OWNER ✅ Ja
ADMIN ✅ Ja
MEMBER ✅ Ja
CLIENT ✅ Ja
VIEW_ONLY ✅ Ja
COMMENT_ONLY ✅ Ja

Fel Svar

Posten Hittades Inte

{
  "errors": [{
    "message": "Todo was not found.",
    "extensions": {
      "code": "TODO_NOT_FOUND"
    }
  }]
}

Otillräckliga Behörigheter

{
  "errors": [{
    "message": "You don't have permission to modify this record",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Ogiltig Indata

{
  "errors": [{
    "message": "Variable '$input' got invalid value; Expected non-nullable type 'String!' not to be null.",
    "extensions": {
      "code": "GRAPHQL_VALIDATION_FAILED"
    }
  }]
}

Jämförelse av Operationer

Funktion Ställ in Tilldelningar Lägg till Tilldelningar Ta bort Tilldelningar
Logic Smart replacement Incremental addition Selective removal
Activity Tracking ✅ Ja ❌ Nej ❌ Nej
Meddelanden ✅ Ja ❌ Nej ❌ Nej
Webhooks ✅ Ja ❌ Nej ❌ Nej
Automations ✅ Ja ❌ Nej ❌ Nej
Permission Level Stricter More permissive Stricter

Affärslogik

Smart Tilldelning (setTodoAssignees)

När du använder setTodoAssignees, gör systemet:

  1. Jämför Listor: Analyserar nuvarande tilldelningar vs ny tilldelningslista
  2. Beräknar Ändringar: Bestämmer vem som ska tas bort, behållas och läggas till
  3. Tar Bort Användare: Avregistrerar användare som inte finns i den nya listan
  4. Lägger Till Användare: Tilldelar användare i den nya listan som inte tidigare var tilldelade
  5. Spårar Aktivitet: Skapar aktivitetsloggposter för varje ändring
  6. Skickar Meddelanden: Meddelar nyss tilldelade användare
  7. Utlöser Webhooks: Aktiverar webhooks för tilldelad/avlägsnad
  8. Uppdaterar Diagram: Markerar analysdiagram för uppdatering
  9. Realtidsuppdateringar: Publicerar uppdateringar till anslutna klienter

Enkla Operationer (lägg till/ta bort)

Operationerna addTodoAssignees och removeTodoAssignees tillhandahåller grundläggande funktionalitet utan den omfattande spårningen och meddelandefunktionerna av setTodoAssignees.

Viktiga Anteckningar

  • Projektmedlemskap: Tilldelningar bör vara medlemmar av projektet som innehåller posten
  • Inga Tilldelningsgränser: Det finns inget maximalt antal tilldelningar per post
  • Själv-Tilldelning: Användare kan tilldela sig själva om de har rätt behörigheter
  • Tomma Arrayer: Att tillhandahålla en tom assigneeIds array till setTodoAssignees tar bort alla tilldelningar
  • Dupliceringsförebyggande: Systemet förhindrar automatiskt duplicerade tilldelningar
  • Databas Effektivitet: Använder en kopplingstabell (TodoUser) för skalbara många-till-många-relationer
  • Realtidsuppdateringar: Alla anslutna klienter får omedelbara uppdateringar när tilldelningar ändras

Hämta Tillgängliga Tilldelningar

För att få en lista över användare som kan tilldelas till poster i ett projekt:

query GetAssignees {
  assignees(projectId: "project_abc123") {
    id
    name
    email
    avatar
  }
}

Denna fråga returnerar alla projektmedlemmar som potentiellt kan tilldelas till poster.

Relaterade Operationer

AI-assistent

Svar genereras med hjälp av AI och kan innehålla misstag.

Hur kan jag hjälpa dig?

Fråga mig vad som helst om Blue eller denna dokumentation.

Tryck Enter för att skicka • Shift+Enter för ny rad • ⌘I för att öppna