Loading

Topik

Artikel ini menjelaskan cara memindahkan data pelacakan waktu historis dari Everhour ke pengaya Timesheet dan Anggaran bawaan Asana. Dengan mengikuti langkah-langkah ini, Anda dapat menggabungkan data waktu tim, memastikan pelaporan proyek dan pelacakan anggaran yang akurat dalam satu platform.

Artikel terkait

Langkah 1: Ekspor entri waktu dari Everhour

Migrasi dimulai dengan mengambil data Anda yang sudah ada. Untuk memastikan Anda memiliki semua log historis untuk tim, ikuti langkah-langkah berikut:

  1. Masuk ke akun Everhour Anda sebagai Pemilik atau Admin.
  2. Buka halaman Pengaturan Tim dengan mengunjungi https://app.everhour.com/#/account/team.
  3. Temukan bagian ekspor dan unduh file ZIP yang berisi log waktu tim Anda yang sudah selesai.
  4. Ekstrak file ZIP. Anda biasanya akan menggunakan ekspor JSON untuk skrip migrasi.

Langkah 2: Pastikan Anda dapat memetakan pengidentifikasi tugas dan proyek

Agar berhasil menghubungkan waktu ke catatan yang benar di Asana, data Anda harus dipetakan ke GID (Global Identifier) Asana yang ada. Dalam ekspor Everhour, tugas yang disinkronkan Asana sering kali menyertakan awalan.

 

Bidang Data

Label Ekspor Everhour (Contoh)

Target Asana yang Diperlukan

ID Tugas

task.id (misalnya, as:1212815283326608)

GID numerik (misalnya, 1212815283326608)

ID Proyek

task.projects

GID Proyek Asana

Waktu yang Digunakan

waktu (Detik)

Asana duration_minutes

Catatan iconCatatan

Saat memproses ekspor, pastikan Anda menghapus semua awalan as: dari ID agar sesuai dengan format GID internal Asana.

Langkah 3: Terapkan skrip migrasi (Python)

Skrip di bawah ini menggunakan API Buat Entri Pelacakan Waktu Asana untuk membuat ulang log. Logika menggunakan alamat email untuk mencocokkan pengguna antar-sistem, memastikan bahwa waktu dikaitkan dengan anggota tim yang benar.

Python

impor asana

impor json



# Inisialisasi Klien Asana

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

workspace_gid = "GID_RUANG_KERJA_ANDA"



def migrate_everhour_to_asana(json_file_path, user_mapping_file_path):

    dengan open(json_file_path) sebagai f:

        entri = json.load(f)



    # 1. Ambil pengguna Asana untuk memetakan email ke GID

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

    

    # 2. Muat pemetaan ID Pengguna Everhour ke Email

    # (misalnya, dari ekspor Anggota Tim Everhour)



    dengan open(user_mapping_file_path) sebagai f:

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



    untuk entri dalam entri:

        everhour_user_id = entry['user']

        user_email = everhour_user_emails.get(everhour_user_id)

        

        # Cocokkan pengguna dengan email

        asana_user_gid = asana_users.get(user_email)

        jika bukan asana_user_gid:

            continue



        # Hapus ID Tugas (hapus prefiks 'as:')

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

        

        # Konversi detik ke menit untuk API Asana

        duration_mins = entry['time'] // 60 



        # 3. Buat entri Di Asana

        coba:

            client.time_tracking_entries.create_time_tracking_entry(task_gid, {

                'created_by': asana_user_gid,

                'duration_minutes': duration_mins,

                'entered_on': entri['date'],

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

            })

            print(f"Berhasil memigrasikan {duration_mins}m untuk Tugas {task_gid}")

        kecuali Pengecualian sebagai e:

            print(f"Kesalahan untuk entri {entry['id']}: {e}")



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

 

Mengapa Bermigrasi ke Pelacakan Waktu Asana Native?

Memindahkan data Anda ke Asana memungkinkan Anda memanfaatkan kekuatan penuh dari addon Timesheet dan Anggaran:

  • Pelaporan Terintegrasi: Lihat perkiraan vs. waktu aktual langsung di Dasbor Asana.
  • Penganggaran Otomatis: Tetapkan anggaran proyek yang diperbarui secara real-time saat anggota tim mencatat waktu.
  • Alur Kerja Terpusat: Kurangi peralihan alat dengan menyimpan log waktu di tempat pekerjaan berlangsung.
  • Pelajari selengkapnya tentang API Asana
  • Pelajari selengkapnya tentang timesheet dan anggaran.
Note iconCatatan

Artikel ini diterjemahkan oleh AI.

Kirim umpan balik terjemahan.
Memuat
Everhour ke Asana: Cara Memigrasikan Data Pelacakan Waktu Anda | Pusat Bantuan Asana