GitScrum / Docs

Discussions

Gérez les canaux et messages de discussion. Créez des canaux, envoyez des messages et recherchez des conversations.

REST API — Tous les endpoints nécessitent une authentification par Bearer token. Incluez Authorization: Bearer {token} dans chaque requête. Les tokens sont gérés dans Paramètres GitScrum → API. Base URL: https://services.gitscrum.com — Tous les chemins de requête dans cette documentation sont relatifs à cette URL de base.

Les discussions fournissent des canaux de messagerie à fils au sein des projets pour la communication d'équipe, les décisions et le partage de connaissances.

Lister toutes les discussions

Retourne toutes les discussions d'un projet.

GET /discussions/all?company_slug={slug}&project_slug={slug}

Paramètres de requête

ParamètreTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
project_slugstringOuiIdentifiant du projet

Lister les canaux

Retourne les canaux de discussion d'un projet.

GET /discussions/channels?company_slug={slug}&project_slug={slug}

Exemple de requête

curl -X GET "https://services.gitscrum.com/discussions/channels?company_slug=acme&project_slug=web-app" \
  -H "Authorization: Bearer {token}"

Exemple de réponse

{
  "data": [
    {
      "uuid": "e5f6a7b8-c9d0-1234-ef01-23456789abcd",
      "title": "Backend Architecture",
      "description": "Discuss API design and backend decisions",
      "messages_count": 47,
      "last_message": {
        "id": 892,
        "message": "Agreed. Let's go with the event-driven approach.",
        "user": {
          "username": "janedoe",
          "name": "Jane Doe"
        },
        "created_at": "2026-02-06T16:45:00Z"
      },
      "created_at": "2026-01-05T09:00:00Z"
    }
  ]
}

Obtenir un canal

Retourne les détails d'un canal.

GET /discussions/channels/{uuid}?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID du canal

Créer un canal

Crée un nouveau canal de discussion.

POST /discussions/channels

Corps de la requête

ChampTypeRequisDescription
titlestringOuiNom du canal
company_slugstringOuiIdentifiant du workspace
project_slugstringOuiIdentifiant du projet
descriptionstringNonDescription du canal

Exemple de requête

curl -X POST "https://services.gitscrum.com/discussions/channels" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Release Planning",
    "company_slug": "acme",
    "project_slug": "web-app",
    "description": "Coordinate release schedules and blockers"
  }'

Messages du canal

Retourne les messages d'un canal, avec pagination par curseur.

GET /discussions/channels/{uuid}/messages?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID du canal

Exemple de réponse

{
  "data": [
    {
      "id": 893,
      "message": "Deployment to staging is complete.",
      "user": {
        "username": "johndoe",
        "name": "John Doe"
      },
      "created_at": "2026-02-07T10:00:00Z"
    }
  ]
}

Envoyer un message

Envoie un message dans un canal.

POST /discussions/channels/{uuid}/messages?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID du canal

Corps de la requête

ChampTypeRequisDescription
messagestringOuiContenu du message

Exemple de requête

curl -X POST "https://services.gitscrum.com/discussions/channels/e5f6a7b8-c9d0-1234-ef01-23456789abcd/messages?company_slug=acme&project_slug=web-app" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "QA sign-off received. Ready for production deploy."
  }'

Modifier un message

Met à jour un message existant.

PUT /discussions/messages/{id}?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
idintegerID du message

Corps de la requête

ChampTypeRequisDescription
messagestringOuiContenu mis à jour du message

Supprimer un message

Supprime un message.

DELETE /discussions/messages/{id}?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
idintegerID du message

Modifier un canal

Met à jour un canal de discussion existant.

PUT /discussions/channels/{uuid}?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID du canal

Corps de la requête

ChampTypeRequisDescription
titlestringNonNom mis à jour du canal
descriptionstringNonDescription mise à jour

Supprimer un canal

Supprime un canal de discussion et tous ses messages.

DELETE /discussions/channels/{uuid}?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID du canal

Rechercher les messages d'un canal

Recherche des messages dans un canal spécifique.

GET /discussions/channels/{uuid}/search?company_slug={slug}&project_slug={slug}&q={query}

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID du canal

Paramètres de requête

ParamètreTypeRequisDescription
qstringOuiRequête de recherche

Réponses de fil

Retourne les réponses à un message spécifique.

GET /discussions/messages/{id}/replies?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
idintegerID du message parent

Répondre à un message

Envoie une réponse à un message spécifique, créant un fil de discussion.

POST /discussions/messages/{id}/replies?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
idintegerID du message parent

Corps de la requête

ChampTypeRequisDescription
messagestringOuiContenu de la réponse

Ajouter une réaction

Ajoute une réaction à un message.

POST /discussions/messages/{id}/reactions?company_slug={slug}&project_slug={slug}

Paramètres de chemin

ParamètreTypeDescription
idintegerID du message

Corps de la requête

ChampTypeRequisDescription
reactionstringOuiEmoji de réaction

Marquer comme lu

Marque tous les messages d'un canal comme lus.

POST /discussions/channels/{uuid}/read?company_slug={slug}&project_slug={slug}

Référence des champs

Canaux

ChampTypeDescription
uuidstringIdentifiant unique du canal
titlestringNom du canal
descriptionstringDescription du canal
messages_countintegerNombre total de messages
last_messageobjectMessage le plus récent
created_atstringHorodatage de création

Messages

ChampTypeDescription
idintegerIdentifiant du message
messagestringContenu du message
userobjectAuteur (username, name)
created_atstringHorodatage de création