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ètre | Type | Requis | Description |
|---|
company_slug | string | Oui | Identifiant du workspace |
project_slug | string | Oui | Identifiant 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ètre | Type | Description |
|---|
uuid | string | UUID du canal |
Créer un canal
Crée un nouveau canal de discussion.
POST /discussions/channels
Corps de la requête
| Champ | Type | Requis | Description |
|---|
title | string | Oui | Nom du canal |
company_slug | string | Oui | Identifiant du workspace |
project_slug | string | Oui | Identifiant du projet |
description | string | Non | Description 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ètre | Type | Description |
|---|
uuid | string | UUID 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ètre | Type | Description |
|---|
uuid | string | UUID du canal |
Corps de la requête
| Champ | Type | Requis | Description |
|---|
message | string | Oui | Contenu 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ètre | Type | Description |
|---|
id | integer | ID du message |
Corps de la requête
| Champ | Type | Requis | Description |
|---|
message | string | Oui | Contenu 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ètre | Type | Description |
|---|
id | integer | ID 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ètre | Type | Description |
|---|
uuid | string | UUID du canal |
Corps de la requête
| Champ | Type | Requis | Description |
|---|
title | string | Non | Nom mis à jour du canal |
description | string | Non | Description 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ètre | Type | Description |
|---|
uuid | string | UUID 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ètre | Type | Description |
|---|
uuid | string | UUID du canal |
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|
q | string | Oui | Requê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ètre | Type | Description |
|---|
id | integer | ID 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ètre | Type | Description |
|---|
id | integer | ID du message parent |
Corps de la requête
| Champ | Type | Requis | Description |
|---|
message | string | Oui | Contenu 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ètre | Type | Description |
|---|
id | integer | ID du message |
Corps de la requête
| Champ | Type | Requis | Description |
|---|
reaction | string | Oui | Emoji 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
| Champ | Type | Description |
|---|
uuid | string | Identifiant unique du canal |
title | string | Nom du canal |
description | string | Description du canal |
messages_count | integer | Nombre total de messages |
last_message | object | Message le plus récent |
created_at | string | Horodatage de création |
Messages
| Champ | Type | Description |
|---|
id | integer | Identifiant du message |
message | string | Contenu du message |
user | object | Auteur (username, name) |
created_at | string | Horodatage de création |