Loading

Sujets

Aucun article trouvé sur ce sujet.

Aucun article trouvé sur ce sujet.

Aucun article trouvé sur ce sujet.

Exporter toutes les données de saisie de temps depuis Asana au format CSV via l'API

Qui peut utiliser cette fonctionnalité?
StarterAdvancedEnterpriseEnterprise+PremiumBusinesslegacy Enterprise

Pour en savoir plus, consultez notre page de tarification.

Pour les organisations qui utilisent l’extension Feuilles de temps et budgets d’Asana, les rapports périodiques sont essentiels pour une comptabilité et une gestion de la paie précises. Bien qu'Asana fournisse des vues performantes dans l'application, vous pouvez occasionnellement avoir besoin d'une exportation CSV complète de toutes les saisies de temps sur l'ensemble de votre domaine pour un audit externe ou un traitement personnalisé à la fin d'un mois ou d'un trimestre.

Cet article explique comment utiliser l'API Asana pour regrouper les entrées de temps de l'ensemble de votre espace de travail et les mettre en forme dans un fichier CSV clair, prêt pour la comptabilité et conforme à vos exigences internes.

Note iconNote

Bien que ce guide soit conçu pour les utilisateurs de l'extension Feuilles de temps et budgets, cette méthode d'exportation basée sur l'API est également disponible pour les utilisateurs qui n'utilisent pas l'extension et qui enregistrent le temps via les champs de tâches Asana standard.

Pourquoi exporter via l'API ?

Bien que l'interface utilisateur d'Asana propose des tableaux de bord performants, l'exportation via l'API vous permet d'effectuer les actions suivantes :

  • Automatisez la création de rapports : planifiez des exportations mensuelles ou trimestrielles pour votre équipe financière sans clics manuels.
  • Granularité de l'audit : accédez à des métadonnées spécifiques, telles que le statut de la tâche, la priorité et les GID d'entrée, qui sont essentielles pour la tenue des registres.
  • Intégration système : transférez facilement vos données de temps Asana vers un PGI ou un logiciel de paie.

Le format d'exportation cible

Pour assurer la compatibilité avec les pratiques comptables standard, votre script d'exportation doit produire un fichier CSV contenant les champs suivants, tels qu'ils apparaissent dans vos exportations de vue de réviseur :

Colonne

Description

Nom de la tâche

Le titre de la tâche pour laquelle le temps a été enregistré.

Durée (heures)

Durée totale convertie de minutes en heures décimales.

Date

Le jour spécifique où le travail a été effectué.

Personne à l'origine de l'envoi

Le nom du membre de l'équipe qui a enregistré le temps.

GID de la tâche

L'identifiant unique de la tâche Asana.

GID du projet

L'identifiant unique du projet parent.

Statut de la tâche

Si la tâche est actuellement « Ouverte » ou « Terminée ».

GID de saisie

L'identifiant unique du journal de temps concerné.

Implémentation : exportation via Python

Pour exporter « tout » le temps, votre script doit parcourir vos projets pour trouver des tâches, puis récupérer les saisies de temps pour ces tâches à l'aide du point de terminaison Obtenir les saisies de suivi du temps pour une tâche.

Conditions préalables

Le script d'exportation

Python
import asana
import pandas as pd

# Initialiser le
client client = asana.Client.access_token('YOUR_PERSONAL_ACCESS_TOKEN')
workspace_gid = 'YOUR_WORKSPACE_GID'

def export_domain_time() :
    all_time_data = []

    # 1. Parcourir tous les projets de l'espace de travail
    projects = client.projects.get_projects({'workspace' : workspace_gid})
   
    pour project dans projects :
        # 2. Obtenir toutes les tâches du projet
        tasks = client.tasks.get_tasks_for_project(project['gid'], opt_fields=[
            'name', 'gid', 'terminé', 'terminé_le', 'priorité'
        ])

        for task in tasks:
            # 3. Récupérer les saisies de temps pour chaque tâche
            time_entries = client.time_tracking_entries.get_time_tracking_entries_for_task(
                task['gid'],
                opt_fields=['created_by.name', 'duration_minutes', 'entered_on', 'gid']
            )

            for entry in time_entries:
                # Calculer les heures au format décimal
                hours = round(entry['duration_minutes'] / 60, 2)
               
                # Créer la ligne pour qu'elle corresponde au modèle CSV
                all_time_data.append({
                    "Nom de la tâche" : task['name'],
                    "Durée (heures)" : hours,
                    "Date" : entry['entered_on'],
                    "Soumetteur" : entry['created_by']['name'],
                    "GID de la tâche" : task['gid'],
                    "GID du projet" : project['gid'],
                    "Task Status": "Terminé" if task['completed'] else "Ouvert",
                    "Date d'achèvement de la tâche" : task.get('completed_at', ''),
                    "Priorité de la tâche" : task.get('priority', ''),
                    "GID de la saisie" : entry['gid']
                })

    # 4. Enregistrer au format CSV
    df = pd.DataFrame(all_time_data)
    df.to_csv('asana_time_export_accounting.csv', index=False)
    print("Exportation terminée : asana_time_export_accounting.csv")

export_domain_time()

Considérations essentielles pour les grands domaines

Lorsque vous exécutez cet export pour toute une organisation, gardez les bonnes pratiques suivantes à l'esprit :

  • Limites de débit de l'API : Asana limite le nombre de demandes que vous pouvez effectuer par minute. Pour les domaines de grande taille, envisagez d'ajouter time.sleep() ou d'utiliser la logique de nouvelle tentative intégrée à la bibliothèque Asana.
  • Filtrage par date : pour la comptabilité mensuelle, utilisez le champ entered_on dans votre script pour filtrer uniquement la période concernée (par exemple, le mois précédent).
  • Autorisations : assurez-vous que le jeton d'accès Personal appartient à un compte de service ou à un administrateur qui a accès à tous les projets pertinents, afin qu'aucune entrée ne soit ignorée.

Exportation des saisies de temps depuis la page Feuilles de temps

Vous pouvez exporter des saisies de temps depuis la page Feuilles de temps pour la période que vous sélectionnez. Depuis les Feuilles de temps, cliquez sur la flèche du menu déroulant à côté du titre de la page, puis sélectionnez l'option d'exportation qui correspond aux entrées de temps dont vous avez besoin.
 
  • Exporter mes saisies de temps au format CSV exporte vos propres saisies de temps pour la période sélectionnée.
  • Exporter au format CSV les saisies de temps des personnes ayant envoyé une feuille de temps exporte les saisies de temps des personnes dont vous examinez les saisies de temps.
  • Exporter au format CSV les saisies de temps de tout le monde exporte toutes les saisies de temps de l'ensemble de l'organisation pour la période sélectionnée. Cette option est disponible pour les super administrateurs.
Utilisez l'exportation des Feuilles de temps lorsque vous avez besoin d'un fichier CSV sans définir de processus API. Pour les rapports automatisés, le traitement personnalisé ou l'accès aux champs de réponse de l'API décrits plus loin dans cet article, utilisez la méthode API.

Ask the Community

Note iconNote

Cet article a été traduit par l’IA.

Donnez votre avis sur la traduction.
Chargement
Exporter les données de temps Asana au format CSV via l'API | Centre d'aide Asana