Ketika Jumlah Git Clone Menjadi KPI
Beberapa hari yang lalu saya perlu mulai melacak jumlah git clone di semua repositori di bawah organisasi Hyperjump di GitHub. Untungnya GitHub menyediakan data ini di halaman Insights di setiap repositori. Data ini hanya dapat dilihat oleh pemilik repositori dan admin dari organisasi dimana repositori itu berada.
Sayangnya GitHub hanya menunjukkan data jumlah Git clone dan visitor untuk 2 minggu terakhir saja. Dan data ini tidak dapat di export. Tambah lagi, saya perlu membuka semua halaman Insights di setiap repositori yang ingin saya lacak satu per satu.
Solusi
Untuk memecahkan masalah ini, saya membuat sebuah aplikasi CLI kecil untuk mengambil data jumlah git clone dan visitor melalui GitHub API, lalu menyimpan data tersebut ke dalam database Mongo. Aplikasi CLI ini saya sebut export-github-clones-views. Silakan baca file README.md untuk mengetahui cara menginstal dan menjalankan aplikasi ini.
Untuk menjalankan aplikasi ini secara berkala, saya buat sebuah workflow di GitHub Actions karena di GitHub Actions kita bisa memicu sebuah workflow pada waktu tertentu secara berkala. Silakan lihat contoh workflow untuk menjalankan aplikasi CLI ini seminggu sekali di sini.
Akhirnya saya buat sebuah database Mongo di MongoDB Atlas untuk menyimpan data git clone dan views yang diambil aplikasi ini. Karena hanya saya saja yang akan menggunakan database ini, saya cukup menggunakan plan yang gratis di MongoDB Atlas. Salah satu keunggulan dari MongoDB Atlas yang saya suka adalah fitur untuk membuat grafik dari data yang ada dengan sangat mudah.
Biaya
Untuk yang bertanya-tanya berapa biaya semua ini: GRATIS!
Kontribusi
Aplikasi CLI ini adalah proyek open source, jadi kalau kamu menemukan bug atau ingin fitur tambahan, silakan membuka Pull Request (PR) di GitHub. Aplikasi ini ditulis menggunakan TypeScript dan menggunakan oclif untuk memudahkan membuat aplikasi CLI. Proyek ini juga sudah dilengkapi dengan seperangkat testing yang akan dijalankan secara otomatis setiap ada sebuah PR baru.
This article is the Indonesian translation of my blog post in English entitled “How to track the traffic of views and clones of GitHub Repository”.
Hyperjump is an open-source-first company providing engineering excellence service. We aim to build and commercialize open-source tools to help companies streamline, simplify, and secure the most important aspects of its modern DevOps practices.