Voeg opmerkingen toe aan records (to-do's) in Blue met rijke tekstinhoud, bestandsbijlagen en @vermeldingen.


Voeg Opmerking Toe

De createComment mutatie stelt je in staat om opmerkingen toe te voegen aan records in Blue. Opmerkingen ondersteunen rijke HTML-inhoud, bestandsbijlagen, @vermeldingen en zijn automatisch geïntegreerd met de activiteitenfeed en het notificatiesysteem.

Basisvoorbeeld

Voeg een eenvoudige tekstopmerking toe aan een record:

mutation AddComment {
  createComment(
    input: {
      html: "<p>This task is progressing well!</p>"
      text: "This task is progressing well!"
      category: TODO
      categoryId: "clm4n8qwx000008l0g4oxdqn7"
    }
  ) {
    id
    html
    text
    createdAt
    user {
      id
      name
    }
  }
}

Geavanceerd Voorbeeld

Voeg een opmerking toe met rijke opmaak, afbeeldingen en TipTap-editorverwerking:

mutation AddCommentAdvanced {
  createComment(
    input: {
      html: "<p>Here's my <strong>feedback</strong> on this task:</p><ul><li>Great progress on the design</li><li>Need to review the API integration</li></ul><p>Attaching screenshot:</p><img src='data:image/png;base64,iVBOR...' />"
      text: "Here's my feedback on this task: - Great progress on the design - Need to review the API integration Attaching screenshot:"
      category: TODO
      categoryId: "clm4n8qwx000008l0g4oxdqn7"
      tiptap: true
    }
  ) {
    id
    html
    text
    createdAt
    user {
      id
      name
      avatar
    }
    activity {
      id
    }
    isRead
    isSeen
  }
}

Invoervelden

CreateCommentInput

Parameter Type Vereist Beschrijving
html String! ✅ Ja HTML-inhoud van de opmerking (wordt gesaneerd voor beveiliging)
text String! ✅ Ja Gewone tekstversie van de opmerkinginhoud
category CommentCategory! ✅ Ja Type entiteit waarop wordt opgemerkt (gebruik TODO voor records)
categoryId String! ✅ Ja ID van de entiteit (record) waarop wordt opgemerkt
tiptap Boolean Nee Schakel TipTap-editor-specifieke HTML-sanitization en verwerking in

Waarden van CommentCategory

Waarde Beschrijving
TODO Opmerking over een record/to-do-item
DISCUSSION Opmerking over een discussie-thread
STATUS_UPDATE Opmerking over een statusupdate

Responsvelden

De mutatie retourneert een Comment-object met uitgebreide details:

Veld Type Beschrijving
id ID! Unieke identificatie voor de opmerking
uid String! Alternatieve unieke identificatie
html String! HTML-inhoud van de opmerking
text String! Gewone tekstversie van de opmerking
category CommentCategory! Type entiteit waarop is opgemerkt
createdAt DateTime! Wanneer de opmerking is aangemaakt
updatedAt DateTime! Wanneer de opmerking voor het laatst is bijgewerkt
deletedAt DateTime Wanneer de opmerking is verwijderd (null als actief)
deletedBy User Gebruiker die de opmerking heeft verwijderd
user User! Gebruiker die de opmerking heeft aangemaakt
activity Activity Geassocieerd activiteitrecord
discussion Discussion Geassocieerde discussie (als categorie DISCUSSIE)
statusUpdate StatusUpdate Geassocieerde statusupdate (als categorie STATUS_UPDATE)
todo Todo Geassocieerd record (als categorie TODO)
isRead Boolean Of de huidige gebruiker deze opmerking heeft gelezen
isSeen Boolean Of de huidige gebruiker deze opmerking heeft gezien
aiSummary Boolean Of deze opmerking door AI is gegenereerd

Vereiste Machtigingen

Gebruikers moeten de juiste projecttoegang hebben om opmerkingen te kunnen maken op records:

Toegangsniveau Kan Opmerkingen Toevoegen
OWNER ✅ Ja
ADMIN ✅ Ja
MEMBER ✅ Ja
CLIENT ✅ Ja
COMMENT_ONLY ✅ Ja
VIEW_ONLY ❌ Nee

Belangrijk: De gebruiker moet lid zijn van het project dat het record bevat en mag NIET het VIEW_ONLY toegangsniveau hebben.

Foutreacties

UnauthorizedError

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

Wanneer: De gebruiker heeft geen toestemming om op de opgegeven record/entiteit te reageren.

ValidationError

{
  "errors": [{
    "message": "Invalid input parameters",
    "extensions": {
      "code": "BAD_USER_INPUT"
    }
  }]
}

Wanneer: Vereiste velden ontbreken of bevatten ongeldige gegevens.

CommentNotFoundError

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

Wanneer: De opgegeven categoryId komt niet overeen met een bestaand record.

UserInputError

{
  "errors": [{
    "message": "Content validation failed",
    "extensions": {
      "code": "BAD_USER_INPUT"
    }
  }]
}

Wanneer: HTML-inhoud faalt bij sanitization of bevat kwaadaardige code.

Belangrijke Opmerkingen

Inhoudsverwerking

  • HTML-sanitization: Alle HTML-inhoud wordt automatisch gesaneerd om XSS-aanvallen te voorkomen
  • Bestandsextractie: Afbeeldingen en bijlagen die in HTML zijn ingebed, worden geëxtraheerd en opgeslagen in S3
  • TipTap-modus: Wanneer tiptap: true, gebruikt gespecialiseerde sanitization voor TipTap-editorinhoud
  • @Vermeldingen: Gebruikersvermeldingen in opmerkingen worden automatisch verwerkt en activeren meldingen

Prestatieoverwegingen

  • Opmerkingen worden automatisch geïndexeerd voor zoekopdrachten
  • Grote afbeeldingsbijlagen worden asynchroon verwerkt
  • Elke opmerking creëert een activiteitrecord voor de projecttijdlijn

Bijwerkingen

Het toevoegen van een opmerking activeert verschillende geautomatiseerde processen:

  • Activiteitcreatie: Creëert een activiteitrecord dat zichtbaar is in de projecttijdlijn
  • Zoekindexering: Opmerkinginhoud wordt toegevoegd aan de projectzoekindex
  • Meldingen: Verstuurt e-mail-, push- en in-app-meldingen naar relevante gebruikers
  • Realtime Updates: Publiceert opmerking naar GraphQL-abonnementen voor live-updates
  • Webhooks: Activeert externe webhook als deze is geconfigureerd voor het project
  • @Vermelding Verwerking: Verwerkt gebruikersvermeldingen en verstuurt gerichte meldingen
  • Bestandsverwerking: Extraheert en verwerkt eventuele ingesloten afbeeldingen of bestanden uit HTML-inhoud

Inhoudsbeveiliging

  • Alle HTML wordt gesaneerd met behulp van industriestandaardbibliotheken
  • Bestandsuploads worden gevalideerd op type en grootte
  • Kwaadaardige inhoud wordt automatisch verwijderd
  • Door gebruikers gegenereerde inhoud wordt op de juiste manier ontsnapt in alle contexten

Integratiefuncties

  • Activiteitenfeed: Opmerkingen verschijnen in de projectactiviteitstijdlijn
  • Zoeken: Opmerkinginhoud is doorzoekbaar binnen het project
  • Meldingen: Configureerbare meldingsvoorkeuren voor verschillende opmerkingstypen
  • Realtime: Opmerkingen verschijnen onmiddellijk voor andere gebruikers die hetzelfde record bekijken
  • Mobiele Ondersteuning: Opmerkingen worden volledig ondersteund in mobiele applicaties

Gerelateerde Eindpunten

  • Lijst Opmerkingen: Vraag opmerkingen op om bestaande opmerkingen op records te verkrijgen
  • Update Opmerking: Wijzig bestaande opmerkinginhoud
  • Verwijder Opmerking: Verwijder opmerkingen met de juiste autorisatie
  • Lijst Records: Vraag to-do's op om records te vinden die becommentarieerd kunnen worden

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