Loading

Temas

En este artículo se explica cómo trasladar los datos históricos de seguimiento del tiempo de Everhour al complemento nativo de Asana para hojas de horas y presupuestos. Al seguir estos pasos, puedes consolidar los datos de tiempo de tu Equipo, lo que garantiza la precisión de los informes de los proyectos y el seguimiento del presupuesto en una sola plataforma.

Artículos relacionados

Paso 1: Exportar entradas de tiempo desde Everhour

La migración comienza con la recuperación de tus datos existentes. Para asegurarte de tener todos los registros históricos de tu Equipo, sigue estos pasos:

  1. Inicia sesión en tu cuenta de Everhour como propietario o administrador.
  2. Ve a la página de ajustes del equipo en https://app.everhour.com/#/account/team.
  3. Busca la sección de exportación y descarga el archivo ZIP que contiene los registros de tiempo finalizados de tu equipo.
  4. Extrae el archivo ZIP. Por lo general, usarás la exportación JSON para el script de migración.

Paso 2: Asegúrate de que sea posible asignar identificadores de tareas y proyectos

Para asignar correctamente el tiempo a los registros correctos en Asana, tus datos deben asignarse a los GID (identificadores globales) de Asana existentes. En una exportación de Everhour, las tareas sincronizadas con Asana a menudo incluyen un prefijo.

 

Campo de datos

Etiqueta de exportación de Everhour (ejemplo)

Objetivo de Asana requerido

ID de la tarea

task.id (p. ej., as:1212815283326608)

El GID numérico (p. ej., 1212815283326608)

ID del proyecto

task.projects

GID del proyecto de Asana

Tiempo dedicado

tiempo (segundos)

Asana duración_minutos

Nota iconNota

Al procesar la exportación, asegúrate de eliminar cualquier prefijo as: de los ID para que coincida con el formato GID interno de Asana.

Paso 3: Implementa el script de migración (Python)

El siguiente script utiliza la API de Asana para crear entradas de seguimiento del tiempo para recrear registros. La lógica utiliza direcciones de email para hacer coincidir a los usuarios entre los sistemas, lo que garantiza que el tiempo se atribuya al miembro correcto del equipo.

Python

importar asana

import json



# Inicializar el cliente de Asana

client = asana.Client.access_token('YOUR_PERSONAL_ACCESS_TOKEN')

workspace_gid = "TU_GID_DE_ESPACIO_DE_TRABAJO"



def migrate_everhour_to_asana(json_file_path, user_mapping_file_path):

    with open(json_file_path) as f:

        entries = json.load(f)



    # 1. Obtener usuarios de Asana para asignar emails a GID

    asana_users = {u['email']: u['gid'] for u in client.users.get_users_for_workspace(workspace_gid, opt_fields=['email', 'gid'])}

    

    # 2. Cargar una asignación de los ID de usuario de Everhour a los emails

    # (por ejemplo, desde la exportación de miembros del equipo de Everhour )



    with open(user_mapping_file_path) as f:

        everhour_user_emails = {user['id']: user['email'] for user in json.load(f)}



    for entry in entries:

        everhour_user_id = entry['user']

        user_email = everhour_user_emails.get(everhour_user_id)

        

        # Asignar usuario por email

        asana_user_gid = asana_users.get(user_email)

        if not asana_user_gid:

            continue



        # Limpiar ID de tareas (eliminar prefijo 'as:')

        task_gid = entry['task']['id'].replace("como:", "")

        

        # Convertir segundos a minutos para la API de Asana

        duration_mins = entry['time'] // 60 



        # 3. Crear entrada en Asana

        try:

            client.time_tracking_entries.create_time_tracking_entry(task_gid, {

                'created_by': asana_user_gid,

                'duration_minutes': duration_mins,

                'entered_on': entry['date'],

                'description': entry.get('comment', '')

            })

            print(f"Se migraron correctamente {duration_mins}m para la tarea {task_gid}")

        except Exception as e:

            print(f"Error en la entrada {entry['id']}: {e}")



migrate_everhour_to_asana('time_2026_01.json', 'users.json')

 

¿Por qué migrar al seguimiento del tiempo nativo de Asana?

Migrar tus datos a Asana te permite aprovechar todo el potencial del  complemento de planillas de horas y presupuestos:

  • Informes integrados: compara el tiempo estimado con el real directamente en los paneles de Asana.
  • Presupuestos automatizados: establece presupuestos de proyectos que se actualizan en tiempo real a medida que los miembros del equipo registran el tiempo.
  • Flujo de trabajo centralizado: reduce el cambio de herramientas al mantener los registros de tiempo donde se realiza el trabajo.
  • Más información sobre la API de Asana
  • Más información sobre los registros de horas y presupuestos.
Note iconNota

Este artículo se tradujo con IA.

Envía comentarios sobre la traducción.
Cargando
De Everhour a Asana: cómo migrar tus datos de seguimiento del tiempo | Centro de ayuda de Asana