GitScrum / Docs

Projets

Créez, listez et gérez les projets. Obtenez les détails, statistiques et résumés des tâches.

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 projets organisent les tâches, sprints et membres d'équipe au sein d'un workspace.

Lister les projets

GET /projects?company_slug={slug}

Retourne une liste paginée des projets dans un workspace.

Paramètres de requête

ParamètreTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
statusstringNonFiltre : in_progress, completed, archived
curl -X GET "https://services.gitscrum.com/projects?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Réponse 200 OK

{
  "data": [
    {
      "slug": "web-platform",
      "name": "Web Platform",
      "description": "Main product application",
      "logo": "https://cdn.gitscrum.com/projects/web.png",
      "visibility": "public",
      "is_private": false,
      "recurring": false,
      "owner": {
        "name": "Jane Smith",
        "username": "janesmith"
      },
      "created_at": "2025-06-15T09:00:00Z"
    }
  ]
}

Rechercher un projet par nom

GET /projects?company_slug={slug}&name={name}

Recherche des projets par nom dans un workspace.

Paramètres de requête

ParamètreTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
namestringOuiNom du projet à rechercher
curl -X GET "https://services.gitscrum.com/projects?company_slug=acme-corp&name=Web%20Platform" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Obtenir un projet

GET /projects/{slug}?company_slug={slug}

Retourne les détails complets du projet.

Paramètres de chemin

ParamètreTypeRequisDescription
slugstringOuiIdentifiant du projet

Paramètres de requête

ParamètreTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
curl -X GET "https://services.gitscrum.com/projects/web-platform?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Réponse 200 OK

{
  "data": {
    "slug": "web-platform",
    "name": "Web Platform",
    "description": "Main product application",
    "logo": "https://cdn.gitscrum.com/projects/web.png",
    "visibility": "public",
    "is_private": false,
    "recurring": false,
    "owner": {
      "name": "Jane Smith",
      "username": "janesmith"
    },
    "settings": {
      "default_workflow": "backlog",
      "task_prefix": "WEB"
    },
    "stats": {
      "tasks_count": 156,
      "completed_count": 98,
      "members_count": 8
    },
    "created_at": "2025-06-15T09:00:00Z"
  }
}

Créer un projet

POST /projects

Crée un nouveau projet dans un workspace.

Corps de la requête

ChampTypeRequisDescription
namestringOuiNom du projet
company_slugstringOuiIdentifiant du workspace
descriptionstringNonDescription du projet
visibilitystringNonpublic (défaut) ou private
client_uuidstringNonAssocier à un client
curl -X POST https://services.gitscrum.com/projects \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mobile App",
    "company_slug": "acme-corp",
    "description": "iOS and Android application",
    "visibility": "private"
  }'

Réponse 201 Created

{
  "data": {
    "slug": "mobile-app",
    "name": "Mobile App",
    "description": "iOS and Android application",
    "visibility": "private",
    "is_private": true,
    "created_at": "2026-02-07T10:00:00Z"
  }
}

Statistiques du projet

GET /projects/{slug}/stats?company_slug={slug}

Retourne les statistiques du projet.

curl -X GET "https://services.gitscrum.com/projects/web-platform/stats?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json"

Réponse 200 OK

{
  "data": {
    "tasks_count": 156,
    "completed_count": 98,
    "open_count": 58,
    "members_count": 8,
    "sprints_count": 6,
    "labels_count": 12
  }
}

Mettre à jour un projet

PUT /projects/{slug}

Met à jour un projet existant.

Paramètres de chemin

ParamètreTypeRequisDescription
slugstringOuiIdentifiant du projet

Corps de la requête

ChampTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
namestringNonNom du projet
descriptionstringNonDescription du projet
visibilitystringNonpublic ou private
curl -X PUT "https://services.gitscrum.com/projects/web-platform" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "company_slug": "acme-corp",
    "name": "Web Platform v2",
    "description": "Main product application - redesigned"
  }'

Supprimer un projet

DELETE /projects/{slug}?company_slug={slug}

Supprime définitivement un projet et toutes ses données. Cette action est irréversible.

Paramètres de chemin

ParamètreTypeRequisDescription
slugstringOuiIdentifiant du projet
curl -X DELETE "https://services.gitscrum.com/projects/web-platform?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}"

Dupliquer un projet

POST /projects/{slug}/duplicate?company_slug={slug}

Crée une copie de la structure du projet y compris les workflows et les paramètres.

Paramètres de chemin

ParamètreTypeRequisDescription
slugstringOuiIdentifiant du projet source
curl -X POST "https://services.gitscrum.com/projects/web-platform/duplicate?company_slug=acme-corp" \
  -H "Authorization: Bearer {token}"

Référence des champs

ChampTypeDescription
slugstringIdentifiant unique du projet
namestringNom d'affichage du projet
descriptionstringDescription du projet
logostringURL du logo du projet
visibilitystringpublic ou private
is_privatebooleanSi le projet est privé
recurringbooleanSi le projet est récurrent
ownerobjectPropriétaire du projet (name, username)
settingsobjectConfiguration du projet
statsobjectStatistiques agrégées
created_atstringHorodatage de création ISO 8601