diskusi.tech (beta) Community

loading...
Cover image for Tambahkan Channel Notifikasi yang Anda inginkan di Monika

Tambahkan Channel Notifikasi yang Anda inginkan di Monika

dennypradipta profile image Denny Pradipta ・4 min read

Artikel ini merupakan artikel terjemahan dari "Add your choice of notification channels to Monika", yang dapat dilihat di Medium Hyperjump.


Di Hyperjump, salah satu prioritas kami adalah meningkatkan jumlah integrasi Monika dengan banyak perangkat lunak kolaborasi. Kami telah berhasil mengintegrasikan Monika dengan Telegram, Slack, Microsoft Teams, Discord, bahkan WhatsApp. Begitu juga, baru-baru ini kami menambahkan integrasi dengan Pushover dan DingTalk.

Beberapa kalian mungkin berpikir, "Bagaimana sih cara integrasi X dengan Monika supaya saya bisa pakai X untuk menerima notifikasi dari Monika?". Tentu, kami mungkin menambahkan banyak integrasi dengan banyak channel notifikasi yang ada. Namun, ada kalanya mungkin kami melewatkan channel notifikasi yang digunakan di kantor Anda.

Apabila Anda ingin turut serta membantu mengintegrasikan suatu channel notifikasi yang sudah ada, artikel ini akan menjelaskan kepada Anda bagaimana cara menambahkan channel notifikasi ke Monika. Jadi, tanpa basa-basi:

Cara menambahkan channel notifikasi baru di Monika

Monika adalah suatu perangkat lunak yang bersifat open-source yang dapat digunakan untuk synthetic monitoring. Nama Monika merupakan singkatan dari "Monitoring Berkala".

Dengan Monika, Anda dapat menambah banyak website atau endpoint API yang mau dimonitor. Anda juga dapat memonitor beberapa kondisi seperti downtime dan penurunan performa dari website Anda. Anda juga dapat mengkonfigurai Monika untuk mengirimkan notifikasi apabila ada insiden pada website Anda melalui banyak channel notifikasi seperti SMTP, WhatsApp, Teams, Slack, dan lainnya.

Ada banyak cara untuk menginstall Monika. Anda bisa menginstall Monika menggunakan package managers seperti Snapcraft, Homebrew, dan NPM. Apabila Anda adalah orang yang lebih suka binary file, Anda dapat mendownload binary file terbaru Monika dari halaman GitHub Release Monika.

Untuk menambahkan channel notifikasi baru, fork repositori Monika di GitHub dan clone ke komputer Anda.

Fork Repositori

Setelah Anda melakukan fork, ada lima langkah yang perlu Anda lakukan untuk menambahkan channel notifikasi ke dalam Monika:

  • Membuat handler untuk channel notifikasi

Untuk membuat handler chanel notifikasi Anda, buka folder src/components/notiication/channel dan buat buat file baru yang bernama <nama_channel_notifikasi>.ts. Kemudian, Anda dapat membuat handler untuk melakukan request API ke channel notifikasi tersebut. Apabila Anda bingung harus mulai dari mana, Anda dapat melihat handler untuk Facebook Workplace sebagai contoh.

  • Menambahkan channel notifikasi di fungsi sendNotifications

Setelah handler dibuat, Anda harus menambahkan channel notifikasi Anda di fungsi sendNotifications yang berada di file src/components/notifications/index.ts. Di dalam fungsi sendNotifications, tambahkan handler channel notifikasi baru Anda di dalam switch-case block yang ada.

Switch Case Block

  • Tambahkan validasi untuk data channel notifikasi

Seringkali, channel notifikasi Anda membutuhkan beberapa data yang wajib seperti API key, Namespace key, dan sejenisnya. Anda dapat menambahkan validasi untuk data yang akan dipakai untuk handler channel notifikasi Anda.

Anda dapat membuat sebuah schema validator di dalam file src/components/notifications/validator.ts. Sebagai referensi, Anda dapat membaca dokumentasi resmi Joi untuk struktur dasar schema validator.

Schema Validator

Setelah Anda membuat schema validator, tambahkan schema validator Anda ke dalam fungsi notificationChecker di dalam _file yang sama.

Tambahkan Schema Validator

  • Tes channel notifikasi Anda

Setelah Anda berhasil mengintegrasikan channel notifikasi baru Anda, jangan lupa untuk mengetes integrasinya supaya Monika benar-benar bisa mengirimkan notifikasi dan kedepannya pengguna lain dapat menggunakan integrasi tersebut.

  • Memperbarui dokumentasi

Jika Anda sudah menyelesaikan empat langkah sebelumnya, Anda perlu memperbarui dokumentasi Monika untuk menunjukkan bahwa Anda sudah berhasil mengintegrasikan channel notifikasi pilihan Anda. Buka file docs/src/pages/guides/notifications.md dan tambahkan integrasi baru Anda ke dalam dokumentasi beserta cara menggunakannya.

Tambahkan Dokumentasi

Selamat! Anda telah berhasil menambahkan channel notifikasi Anda ke Monika. Yang perlu Anda lakukan adalah membuat Pull Request ke repositori GitHub Monika.

Penutup

Salah satu keunggulan Monika adalah open-source, yang berarti Anda dapat melihat sumber kode Monika dengan mudah. Bahkan, apabila Anda dapat berkontribusi untuk membantu kami melengkapi seluruh channel notifikasi yang ada di dunia, itu akan sangat baik.

Apabila Anda mengalami masalah dalam menggunakan Monika, jangan ragu untuk membuat isu di GitHub Issue Page Monika. Apabila Anda adalah salah satu kontributor Monika dan Anda memiliki kendala dalam mengintegrasikan suatu channel notifikasi, Anda bisa membuka diskusi di GitHub Discussion Page Monika

Jangan lupa untuk share dan like artikel ini ke teman-teman Anda. Saya undur diri, sampai bertemu di lain waktu!


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 their modern DevOps practices.

Discussion

pic
Editor guide