Les projets dans Blue forment le cadre fondamental pour organiser les utilisateurs et les données.


Lister tous les projets

La requête projectList vous permet de récupérer des projets avec des options de filtrage, de tri et de pagination puissantes.

Exemple de base

query ProjectListQuery {
  projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
    items {
      id
      uid
      slug
      name
      description
      archived
      color
      icon
      createdAt
      updatedAt
      allowNotification
      position
      unseenActivityCount
      todoListsMaxPosition
      lastAccessedAt
      isTemplate
      automationsCount
      totalFileCount
      totalFileSize
      todoAlias
    }
    pageInfo {
      totalPages
      totalItems
      page
      perPage
      hasNextPage
      hasPreviousPage
    }
  }
}

Exemple avancé avec filtrage et tri

query FilteredProjectList {
  projectList(
    filter: {
      companyIds: ["company-123", "company-456"]
      archived: false
      isTemplate: false
      search: "marketing"
      inProject: true
      folderId: null  # Get root-level projects only
    }
    sort: [position_ASC, name_ASC]
    skip: 0
    take: 50
  ) {
    items {
      id
      name
      slug
      position
      archived
    }
    totalCount
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}

Champs du projet

Le tableau suivant décrit tous les champs disponibles pour chaque projet dans le ProjectListQuery :

Champ Type Description
id ID! Identifiant unique pour le projet
uid String! Identifiant unique convivial pour le projet
slug String! Nom du projet convivial pour les URL
name String! Nom d'affichage du projet
description String Brève description du projet
archived Boolean Booléen indiquant si le projet est archivé
color String Couleur associée au projet pour identification visuelle
icon String Icône associée au projet pour identification visuelle
image Image Objet d'image de couverture du projet
createdAt DateTime! Horodatage lorsque le projet a été créé
updatedAt DateTime! Horodatage lorsque le projet a été mis à jour pour la dernière fois
allowNotification Boolean! Booléen indiquant si les notifications sont activées pour le projet
position Float! Valeur numérique représentant la position du projet dans une liste
unseenActivityCount Int! Nombre d'activités non vues dans le projet
todoListsMaxPosition Float! Valeur maximale de position pour les listes de tâches dans le projet
lastAccessedAt DateTime Horodatage lorsque le projet a été accédé pour la dernière fois
isTemplate Boolean! Booléen indiquant si le projet est un modèle
isOfficialTemplate Boolean! Booléen indiquant si c'est un modèle officiel de Blue
automationsCount(isActive: Boolean) Int! Nombre d'automatisations associées au projet
totalFileCount Int Nombre total de fichiers dans le projet
totalFileSize Float Taille totale de tous les fichiers dans le projet (en octets)
todoAlias String Alias personnalisé pour "todo" utilisé dans le projet
category ProjectCategory! Catégorie du projet (CRM, MARKETING, etc.)
hideEmailFromRoles [UserAccessLevel!] Tableau des rôles qui devraient cacher les adresses e-mail
hideStatusUpdate Boolean Booléen pour cacher les mises à jour de statut
company Company! Détails complets de l'objet entreprise
accessLevel(userId: String) UserAccessLevel Obtenir le niveau d'accès de l'utilisateur pour le projet spécifique
folder Folder Dossier contenant ce projet
features [ProjectFeature!] Tableau des fonctionnalités de projet activées
sequenceCustomField CustomField Champ personnalisé utilisé pour le numérotage de séquence
coverConfig TodoCoverConfig Configuration pour les images de couverture des tâches
hideRecordCount Boolean Que faire pour cacher les comptes d'enregistrement
showTimeSpentInTodoList Boolean Que faire pour afficher le temps passé dans les listes de tâches
showTimeSpentInProject Boolean Que faire pour afficher le temps passé dans le projet
todoFields [TodoField] Définitions de champs de tâches personnalisées

Note : Vous pouvez demander n'importe quelle combinaison de ces champs dans votre requête GraphQL.

Champs de pagination

L'objet pageInfo fournit des détails de pagination pour les résultats de la requête :

Champ Type Description
totalPages Int Nombre total de pages de résultats
totalItems Int Nombre total de projets correspondant à la requête
page Int Numéro de la page actuelle
perPage Int Nombre d'éléments par page
hasNextPage Boolean! Booléen indiquant s'il y a une page suivante de résultats
hasPreviousPage Boolean! Booléen indiquant s'il y a une page précédente de résultats

Paramètres de requête

Options de filtrage (ProjectListFilter)

Paramètre Type Requis Description
companyIds [String!]! ✅ Oui Tableau d'ID ou de slugs d'entreprise à rechercher
ids [String!] Non Filtrer par ID de projet spécifiques
archived Boolean Non Filtrer par statut archivé (vrai/faux)
isTemplate Boolean Non Filtrer les projets modèles (vrai/faux)
search String Non Rechercher des projets par nom (insensible à la casse)
folderId String Non Filtrer par ID de dossier. Utilisez null pour les projets de niveau racine
inProject Boolean Non Filtrer par adhésion utilisateur. Voir la note ci-dessous

Note sur le filtre inProject :

  • true ou undefined : Renvoie les projets dont l'utilisateur est membre
  • false : Renvoie les projets dans lesquels l'utilisateur n'est PAS (nécessite l'autorisation du propriétaire de l'entreprise)
  • Le filtrage par dossier (folderId) ne fonctionne que lorsque inProject n'est pas false

Options de tri (ProjectSort)

Valeur Description
id_ASC Trier par ID croissant
id_DESC Trier par ID décroissant
name_ASC Trier par nom croissant (A-Z)
name_DESC Trier par nom décroissant (Z-A)
createdAt_ASC Trier par date de création (plus ancien d'abord)
createdAt_DESC Trier par date de création (plus récent d'abord)
updatedAt_ASC Trier par dernière mise à jour (plus ancien d'abord)
updatedAt_DESC Trier par dernière mise à jour (plus récent d'abord)
position_ASC Trier par position croissante*
position_DESC Trier par position décroissante*

*Le tri par position n'est disponible que lors de la visualisation de projets dont l'utilisateur est membre (inProject !== false)

Paramètres de pagination

Paramètre Type Par défaut Description
skip Int 0 Nombre d'enregistrements à ignorer
take Int 20 Nombre d'enregistrements à retourner

Notes importantes

  1. Comportement par défaut pour les projets non membres (inProject: false) :

    • Exclut les projets archivés à moins que le filtre archived ne soit explicitement défini
    • Exclut les projets modèles à moins que le filtre isTemplate ne soit explicitement défini
  2. Limitations du filtrage par dossier :

    • Ne fonctionne que lors de l'affichage des projets de l'utilisateur
    • Ne peut pas être utilisé avec inProject: false
    • Utilisez folderId: null pour obtenir des projets qui ne sont dans aucun dossier
  3. Repli de tri :

    • Le tri par position est ignoré lors de la visualisation de projets non membres
    • Se replie sur le tri par nom dans de tels cas
  4. Paramètres obsolètes :

    • orderBy, after, before, first, last sont obsolètes
    • Utilisez sort, skip, et take à la place

Assistant IA

Les réponses sont générées par l'IA et peuvent contenir des erreurs.

Comment puis-je vous aider ?

Posez-moi toutes vos questions sur Blue ou cette documentation.

Entrez pour envoyer • Maj+Entrée pour une nouvelle ligne • ⌘I pour ouvrir