Recupera e monitora i feed di attività del progetto utilizzando l'API di Blue.


Recupera Attività del Progetto

La query activityList fornisce accesso a un feed di attività completo per progetti e aziende. Le attività vengono generate automaticamente quando gli utenti eseguono azioni come la creazione di todo, commenti o modifiche al progetto.

Esempio Base

query ProjectActivity {
  activityList(
    projectId: "your-project-id"
    first: 20
    orderBy: createdAt_DESC
  ) {
    activities {
      id
      category
      html
      createdAt
      createdBy {
        id
        name
        email
      }
      project {
        id
        name
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
    totalCount
  }
}

Esempio Avanzato con Filtraggio

query FilteredActivity {
  activityList(
    companyId: "your-company-id"
    categories: [CREATE_TODO, MARK_TODO_AS_COMPLETE, CREATE_COMMENT]
    userIds: ["user1-id", "user2-id"]
    startDate: "2024-01-01T00:00:00Z"
    endDate: "2024-12-31T23:59:59Z"
    first: 50
    orderBy: createdAt_DESC
  ) {
    activities {
      id
      uid
      category
      html
      createdAt
      updatedAt
      createdBy {
        id
        name
        email
      }
      affectedBy {
        id
        name
      }
      todo {
        id
        title
      }
      comment {
        id
        text
      }
      project {
        id
        name
        slug
      }
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount
  }
}

Parametri di Input

Query activityList

Parametro Tipo Richiesto Descrizione
companyId String No Filtra le attività per ID azienda o slug
projectId String No Filtra le attività per ID progetto o slug
userId String No Filtra le attività per un utente specifico
userIds [String!] No Filtra le attività per più utenti
tagIds [String!] No Filtra le attività per tag todo
categories [ActivityCategory!] No Filtra per tipi di attività specifici
startDate DateTime No Filtra le attività da questa data
endDate DateTime No Filtra le attività fino a questa data
skip Int No Salta questo numero di record (paginazione offset)
first Int No Restituisci i primi N record (paginazione a cursore)
last Int No Restituisci gli ultimi N record (paginazione a cursore)
after String No Restituisci i record dopo questo cursore
before String No Restituisci i record prima di questo cursore
orderBy ActivityOrderByInput No Ordine di sort per i risultati

Valori ActivityCategory

Il sistema tiene traccia di vari tipi di attività automaticamente:

Categoria Descrizione
CREATE_TODO È stato creato un nuovo todo/task
MARK_TODO_AS_COMPLETE Un todo è stato contrassegnato come completato
CREATE_COMMENT È stato aggiunto un commento
CREATE_DISCUSSION È stata avviata una discussione
CREATE_STATUS_UPDATE È stato pubblicato un aggiornamento di stato
CREATE_TODO_LIST È stata creata una nuova lista di todo
MOVE_TODO Un todo è stato spostato tra le liste
COPY_TODO Un todo è stato copiato
ADD_USER_TO_PROJECT Un utente è stato aggiunto al progetto
REMOVE_USER_FROM_PROJECT Un utente è stato rimosso dal progetto
ARCHIVE_PROJECT Il progetto è stato archiviato
UNARCHIVE_PROJECT Il progetto è stato dearchiviato
CREATE_INVITATION Un utente è stato invitato
ACCEPT_INVITATION Un invito è stato accettato
CREATE_CUSTOM_FIELD È stato creato un campo personalizzato
RECEIVE_FORM È stata ricevuta una sottomissione di modulo

Valori ActivityOrderByInput

Valore Descrizione
createdAt_DESC Più recente per primo (predefinito)
createdAt_ASC Più vecchio per primo
updatedAt_DESC Più recentemente aggiornato per primo
updatedAt_ASC Meno recentemente aggiornato per primo
category_ASC Alfabetico per categoria
category_DESC Alfabetico inverso per categoria

Campi di Risposta

Tipo di Attività

Campo Tipo Descrizione
id ID! Identificatore unico per l'attività
uid String! Identificatore unico alternativo
category ActivityCategory! Tipo di attività che si è verificata
html String! Descrizione HTML ricca dell'attività
createdAt DateTime! Quando si è verificata l'attività
updatedAt DateTime! Quando l'attività è stata aggiornata per l'ultima volta
createdBy User! Utente che ha eseguito l'azione
affectedBy User Utente che è stato influenzato dall'azione
company Company Azienda associata
project Project Progetto associato
todo Todo Todo associato (se applicabile)
todoList TodoList Lista di todo associata (se applicabile)
comment Comment Commento associato (se applicabile)
discussion Discussion Discussione associata (se applicabile)
statusUpdate StatusUpdate Aggiornamento di stato associato (se applicabile)
metadata String Metadati aggiuntivi dell'attività

Risposta ActivityList

Campo Tipo Descrizione
activities [Activity!]! Array di record di attività
pageInfo PageInfo! Informazioni sulla paginazione
totalCount Int! Numero totale di attività che corrispondono ai filtri

Aggiornamenti di Attività in Tempo Reale

Iscriviti ai cambiamenti di attività utilizzando l'iscrizione subscribeToActivity:

subscription ActivityUpdates($companyId: String!, $projectId: String) {
  subscribeToActivity(companyId: $companyId, projectId: $projectId) {
    mutation
    node {
      id
      category
      html
      createdAt
      createdBy {
        id
        name
        email
      }
      project {
        id
        name
      }
    }
  }
}

Parametri di Iscrizione

Parametro Tipo Richiesto Descrizione
companyId String No Iscriviti ad attività aziendali
projectId String No Iscriviti a specifiche attività di progetto

L'iscrizione ti notificherà di:

  • ACTIVITY_CREATED - Nuove attività
  • ACTIVITY_UPDATED - Attività modificate
  • ACTIVITY_DELETED - Attività rimosse

Filtraggio e Privacy

Filtraggio Automatico

Il feed di attività filtra automaticamente i risultati in base a:

  • Impostazioni del Progetto: Mostra solo attività da progetti con tracciamento delle attività abilitato
  • Permessi Utente: Diversi ruoli utente vedono diversi tipi di attività
  • Appartenenza al Progetto: Gli utenti vedono solo attività dai progetti a cui hanno accesso
  • Appartenenza all'Azienda: Le attività sono limitate alle aziende dell'utente

Considerazioni sulla Privacy

  • Gli utenti con ruolo CLIENT hanno una visibilità limitata su alcune attività amministrative
  • Le attività rispettano le impostazioni di privacy a livello di progetto
  • Operazioni sensibili potrebbero non generare attività pubbliche

Risposte di Errore

Progetto/Azienda Non Valido

{
  "errors": [{
    "message": "Project not found",
    "extensions": {
      "code": "NOT_FOUND"
    }
  }]
}

Permesso Negato

{
  "errors": [{
    "message": "You do not have permission to view activities for this project",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Intervallo di Date Non Valido

{
  "errors": [{
    "message": "Start date must be before end date",
    "extensions": {
      "code": "BAD_USER_INPUT"
    }
  }]
}

Migliori Pratiche

  1. Usa la Paginazione: I feed di attività possono essere grandi, usa sempre il parametro first
  2. Filtra per Progetto: I feed di attività aziendali possono essere opprimenti
  3. Aggiornamenti in Tempo Reale: Usa iscrizioni per feed di attività dal vivo
  4. Filtraggio per Data: Usa intervalli di date per analisi storiche delle attività
  5. Filtraggio per Categoria: Filtra per tipi di attività specifici per feed mirati
  6. Filtraggio per Utente: Monitora le attività di membri specifici del team utilizzando userIds

Note Importanti

  • Le attività vengono generate automaticamente e non possono essere create manualmente tramite API
  • Il testo delle attività utilizza la formattazione HTML per una visualizzazione ricca
  • Il campo text è deprecato a favore di html
  • Le attività sono archiviate permanentemente e forniscono una completa traccia di audit
  • Le iscrizioni in tempo reale richiedono l'autenticazione della connessione WebSocket

Assistente AI

Le risposte sono generate utilizzando l'IA e potrebbero contenere errori.

Come posso aiutarti?

Chiedimi qualsiasi cosa su Blue o su questa documentazione.

Invia per inviare • Maiusc+Invio per una nuova riga • ⌘I per aprire