Kursus
Setiap pekerjaan memiliki tugas yang membosankan dan berulang. Baik Anda seorang agen dukungan yang perlu melaporkan tema umum dalam permintaan bantuan, manajer tim yang perlu melacak metrik kinerja, atau insinyur perangkat lunak yang perlu memeriksa proses bisnis utama untuk memastikan semuanya berjalan baik, Anda harus melakukan hal-hal ini berulang kali—bulanan, mingguan, harian, bahkan mungkin setiap jam!
Namun, dalam banyak kasus, Anda seharusnya dapat mengotomatiskan setidaknya sebagian dari pekerjaan berulang ini. Python bisa menjadi pendorong yang hebat untuk itu: ini adalah bahasa pemrograman tujuan umum yang bekerja dengan baik dengan (sejumlah besar) data sekaligus mudah untuk menulis skrip automasi. Melaporkan metrik kinerja? Tanpa automasi, Anda mungkin perlu melihat 4 dasbor berbeda untuk mendapatkan semua angka yang Anda butuhkan dan menyusunnya dalam sebuah pesan untuk atasan Anda. Dengan automasi, skrip Python menarik semua data yang Anda perlukan, memilih angka ringkasan penting, menyusunnya, dan mengirim pesan ini tanpa keterlibatan Anda. Ini bukan hanya praktis, tetapi juga lebih kecil kemungkinannya terjadi kesalahan dan lupa!
Dalam tutorial ini, kita akan melihat kasus spesifik menjalankan kode Python untuk melaporkan status portofolio investasi dan mengirim ringkasannya ke Slack, platform komunikasi tim yang banyak digunakan. Kami akan membahas semua langkah yang diperlukan untuk mengonfigurasi aplikasi Slack, program Python yang memanfaatkan aplikasi Slack tersebut untuk mengirim pesan, dan menyiapkan jadwal agar skrip Python Anda dapat berjalan secara berkala. Contoh khusus ini tentang melacak portofolio investasi, tetapi tentu saja Anda dapat menukar ‘logika bisnis’ ini dengan apa pun yang Anda inginkan; semua konfigurasi dan kode untuk mengirim pesan ke Slack akan tetap persis sama.
Kami akan menggunakan DataLab dalam tutorial ini, karena memiliki fungsi bawaan untuk menyimpan rahasia secara aman sebagai variabel lingkungan (fitur yang akan kami gunakan untuk menyimpan kredensial aplikasi Slack) serta untuk menjadwalkan kode Python Anda hanya dengan beberapa klik. Untuk mengikuti, yang Anda butuhkan hanyalah akun Slack (untuk memposting pesan) dan akun DataCamp (untuk menggunakan DataLab), keduanya dapat Anda buat secara gratis!
Mari kita mulai!
1. Konfigurasikan Aplikasi Slack
Anda dapat menganggap aplikasi Slack sebagai ekstensi atau add-on Slack untuk tujuan tertentu. Ada aplikasi Slack untuk mengintegrasikan Google Docs, Jira, Dropbox, Zoom, dan banyak lainnya ke Slack, sehingga Anda dapat diberi tahu di dalam Slack tentang hal-hal yang terjadi, tetapi Anda juga dapat melakukan tindakan di aplikasi tersebut dari dalam Slack. Untuk proyek kecil kita, kita juga perlu membuat aplikasi Slack sehingga kita dapat memanfaatkan pengguna bot yang disertakan dengan setiap aplikasi Slack untuk mengirim pesan ke Slack.
Untuk memulai, pastikan Anda memiliki akun Slack, Anda adalah anggota ruang kerja Slack yang Anda miliki akses admin, dan Anda masuk dengan akun Slack ini. Jika belum, buka slack.com dan buat akun serta ruang kerja baru.
Selanjutnya, buka https://api.slack.com/app, dasbor aplikasi Slack Anda. Tampilannya akan seperti ini:

Klik “Create an App”

Pilih “From scratch.” Di layar berikutnya, tentukan nama untuk aplikasi Anda, misalnya “Python Messenger,” dan tentukan ruang kerja tempat Anda ingin mengembangkan aplikasi ini (untuk kasus Anda, ruang kerja ini akan berbeda).

Klik Create app. Sekarang Anda berada di beranda aplikasi yang baru dibuat, tempat Anda dapat mengonfigurasi semua pengaturan aplikasi, mulai dari informasi dasar hingga siapa lagi yang dapat membuat perubahan pada aplikasi ini dan semua fiturnya. Jangan kewalahan oleh ini! Kita hanya perlu mengatur beberapa pengaturan.
Buka tab “OAuth & Permissions”, gulir ke bawah ke kartu Scopes, dan di bawah Bot Token Scopes, klik “Add an OAuth Scope” untuk menambahkan scope ‘chat:write’, ‘chat:write.customize’, ‘files:read’, ‘files:write’ (Anda perlu mengklik “Add an OAuth Scope” total empat kali).

Scope token bot ini menentukan apa yang dapat dilakukan pengguna bot dari aplikasi Anda di dalam ruang kerja Slack Anda. Mengikuti prinsip hak istimewa paling sedikit, alih-alih memberikan aplikasi ini akses ke semua konten dan semua izin yang terpikirkan, kita membatasi aplikasi hanya untuk menulis pesan obrolan (yang disesuaikan) serta mengunggah dan mengunduh file (berguna jika Anda ingin menyertakan lampiran dalam pesan Anda).
Sekarang Anda dapat menggulir ke atas ke bagian “OAuth Tokens for Your Workspace”, dan klik “Install to Workspace”:

Di layar berikutnya yang merangkum scope yang Anda tentukan pada langkah sebelumnya, klik Allow.

Anda akan melihat bahwa “Bot User OAuth Token” telah dibuat untuk Anda:

Anda akan memerlukan Bot User OAuth Token ini di tahap selanjutnya, jadi jangan tutup jendela browser Anda.
Buka Slack dan perhatikan bahwa aplikasi baru “Python Messenger” (atau apa pun yang Anda namai) telah muncul di bilah sisi Anda:

Langkah konfigurasi terakhir adalah mengonfigurasi saluran Slack tempat Anda ingin mengirim pesan otomatis. Buat saluran baru bernama #bot-updates. Di saluran tersebut, ketik /app dan pilih “Add apps to this channel”:

Di sebelah “Python messenger”, klik “Add”. Anda akan melihat bahwa aplikasi “Python Messenger” telah bergabung ke saluran.
Selesai! Sekarang saluran Slack Anda siap menerima pesan melalui aplikasi “Python Messenger”, menggunakan Bot User OAuth Token yang dihasilkan. Perlu dicatat bahwa meskipun langkahnya cukup banyak, ini adalah penyiapan satu kali untuk setiap ruang kerja Slack. Jika Anda ingin memiliki beberapa program Python yang mengirim ke ruang kerja Slack yang sama, Anda tidak perlu melalui proses ini lagi.
2. Tulis Logika Bisnis dalam Python
Kerja bagus sampai di sini! Dengan aplikasi Slack yang sudah dikonfigurasi, sekarang saatnya bagian menyenangkan: menulis Python. Kita akan mulai dengan menulis beberapa kode Python untuk ‘logika bisnis’ kita guna menyelesaikan tugas yang ada.
Jika Anda perlu penyegaran tentang menulis kode Python, kursus Introduction to Python kami adalah tempat yang ideal untuk memulai.
Anda bisa membuat workbook kosong dari awal, yang berguna jika Anda sudah tahu program Python apa yang ingin Anda otomatisasi dan integrasikan dengan Slack.
Jika Anda di sini untuk mempelajari konsepnya, Anda dapat memulai dengan workbook contoh yang kami buat yang melacak nilai portofolio saham teknologi imajiner. Setiap hari (kecuali akhir pekan), akan ada data baru, sehingga ini kandidat yang bagus untuk pelaporan harian.
Jalankan dan edit kode dari Tutorial ini secara online
Jalankan kodeDalam kedua kasus, Anda akan berakhir dengan sebuah workbook DataLab dengan logika bisnis Anda yang sudah ditulis:

3. Mengirim Pesan Slack
Jadi, aplikasi Slack: beres. Logika bisnis: beres. Untuk mengintegrasikan notebook Python dengan Slack, kita perlu melakukan dua hal: menyimpan token OAuth Slack di dalam workbook dan menulis sedikit kode Python untuk mengirim pesan Slack.
Simpan token OAuth Slack
Notebook Python kita memerlukan token OAuth untuk membuktikan bahwa ia berwenang mengirim pesan ke ruang kerja Slack Anda. Anda bisa saja menyalin dan menempelkan token OAuth ini di dalam sel kode notebook Anda. Namun, ini bukan pendekatan yang aman dan tidak direkomendasikan. Jika Anda membagikan notebook Anda kepada orang lain, mereka dapat melihat token OAuth tersebut.
Pendekatan ini juga mengharuskan Anda mengulangi proses salin-tempel di setiap workbook yang ingin Anda gunakan untuk mengirim pesan Slack. Jika Anda ingin memperbarui token OAuth ini, Anda harus membuka dan mengedit setiap workbook.
Pendekatan yang lebih aman dan skalabel adalah menyimpan token OAuth Slack dalam variabel lingkungan. Saat Anda menghubungkan variabel lingkungan ini, variabel tersebut akan tersedia dalam sesi Python Anda. Di workbook Anda:
- Klik tab “Environment” di sisi kiri
- Klik ikon plus di sebelah “Environment Variables”
- Di modal “Add Environment Variables”:
- Setel “Name” menjadi
SLACK_TOKEN - Di kolom “Value”, salin-tempel token OAuth yang Anda dapatkan pada langkah 1 panduan ini.
- Setel “Environment Variables Set Name” menjadi “Slack” (sebenarnya ini bisa apa saja)

Setelah mengisi semua kolom, klik “Create,” “Next,” dan akhirnya, “Connect.” Sesi DataLab Anda akan dimulai ulang, dan SLACK_TOKEN kini akan tersedia sebagai variabel lingkungan di workbook Anda. Anda dapat memverifikasinya dengan membuat sel Python berisi kode berikut dan menjalankannya:
import os
slack_token = os.environ["SLACK_TOKEN"]
print(slack_token)
Jika Anda ingin menggunakan ulang kredensial akun layanan yang sama di workbook lain, Anda tidak perlu menyiapkan variabel lingkungan lagi: Anda dapat menggunakan ulang variabel lingkungan tersebut di workbook lain.
Kode Python untuk mengirim pesan Slack
Dengan SLACK_TOKEN siap digunakan, sertakan potongan kecil di bagian bawah notebook Anda yang mengirim pesan contoh ke saluran #bot-updates di ruang kerja Slack Anda:
import os
from slack_sdk import WebClient
message = "This is my first Slack message from Python!"
# Set up a WebClient with the Slack OAuth token
client = WebClient(token=os.environ["SLACK_TOKEN"])
# Send a message
client.chat_postMessage(
channel="bot-updates",
text=message,
username="Bot User"
)
Kode ini menggunakan SDK Python resmi Slack. Jalankan kode ini! Anda seharusnya melihat pesan ini muncul di ruang kerja Slack Anda:

Ini adalah pesan contoh yang tidak bermakna, tetapi Anda juga dapat membuat pesan berdasarkan hasil logika bisnis Anda, seperti yang kami lakukan di workbook contoh:
message = f"Total value of my portfolio on {portfolio_df.index[-1]:%B %d, %Y} is ${latest_total:,.2f}."
Dengan hasil berikut:

Terakhir, Anda juga dapat memanfaatkan variabel lingkungan DL_WORKBOOK_ID untuk menyertakan tautan ke workbook Anda, jika Anda ingin menyediakan cara mudah berpindah dari Slack ke workbook DataLab yang menghasilkan pesan ini:
message = f"""
Total value of my portfolio on {portfolio_df.index[-1]:%B %d, %Y} is ${latest_total:,.2f}.
For the full analysis, check <https://www.datacamp.com/workbook/w/{os.environ.get('DL_WORKBOOK_ID', 'invalid')}/edit|this workbook> (updates daily)
"""
Dengan hasil berikut:

4. Otomatiskan!
Anda telah menulis skrip Python yang melakukan analisis relevan dan mengirim ringkasan analisis tersebut ke Slack, dengan tautan balik ke notebook lengkap jika orang ingin menggali lebih dalam. Keren! Namun bukankah akan lebih baik jika Anda dapat mengonfigurasi notebook ini untuk berjalan setiap minggu atau setiap hari sehingga Anda otomatis selalu mendapatkan pembaruan hasil terbaru? Kabar baiknya, Anda bisa! DataLab mendukung scheduled runs untuk melakukan hal tersebut.
- Di bilah menu bagian atas, klik Run > Schedule Run
- Konfigurasikan jadwal sesuai keinginan Anda:
- Konfigurasikan notebook untuk berjalan setiap hari atau mingguan, dengan opsi mengatur waktu dan hari dalam seminggu (untuk jadwal mingguan)
- Tambahkan pengguna DataCamp yang ingin Anda beri tahu setiap kali notebook berhasil selesai, mengalami error, atau keduanya. Ada baiknya diatur agar Anda mendapatkan pesan saat gagal, sehingga Anda dapat menelusuri jika diperlukan.

Jika dikonfigurasi seperti pada tangkapan layar di atas, notebook sekarang akan berjalan setiap hari pukul 9:30 waktu setempat, yang berarti sebuah pesan akan diposting di saluran #bot-updates di Slack setiap pagi.
Otomatisasi atau tidak
Tidak semua tugas layak diotomatisasi, tergantung pada seberapa sering Anda harus melakukannya, berapa lama waktu yang dibutuhkan untuk melakukannya secara manual, dan berapa lama waktu yang dibutuhkan untuk membuat skrip Python yang melakukannya untuk Anda. Ini menjadi jelas dengan sebuah contoh: misalnya Anda harus menyusun laporan setiap tahun yang memakan waktu 20 menit untuk disusun secara manual. Jika Anda membutuhkan setengah hari untuk menulis skrip Python yang melakukannya untuk Anda, akan butuh bertahun-tahun sebelum Anda mendapatkan kembali waktu yang dihabiskan untuk mengotomatiskan tugas tersebut!
Ini dirangkum dengan tepat dalam tabel ini:

Apakah layak mengotomatiskan? Sumber
Jadi jika suatu tugas yang harus Anda lakukan setiap hari sebelumnya memakan waktu 5 menit, Anda dapat menghabiskan hingga 6 hari untuk mencoba mengotomatiskan tugas itu. Jika Anda menghabiskan waktu lebih sedikit dari itu untuk mengotomatiskan, Anda akan menghemat waktu (dihitung selama 5 tahun).
Kesimpulan
Penyiapan awal sebelum Anda dapat mengirim pesan dari DataLab ke Slack bisa memakan waktu. Namun, setelah semuanya dikonfigurasi dengan benar dengan token Slack yang disimpan di DataLab, mengirim pesan hanyalah masalah menambahkan dua baris Python: sangat sederhana! Dan lihat keuntungannya: kini Anda dapat mengotomatiskan hampir semua skrip Python dan memberi tahu para pemangku kepentingan di tempat mereka berada: di Slack.
Tinggalkan masa-masa menyetel pengingat untuk melakukan tugas membosankan yang sama berulang kali dan sambut alur kerja yang kuat dan otomatis tanpa harus berpindah antar alat. Yang Anda butuhkan hanyalah cinta DataLab.
Tingkatkan keterampilan Python Anda ke level berikutnya dengan kursus Intermediate Python dari DataCamp. Perluas pengetahuan Anda dalam visualisasi data dan fitur-fitur Python tingkat lanjut. Lanjutkan perjalanan belajar Anda sekarang!
Filip adalah pengembang bersemangat di balik beberapa kursus Python, SQL, dan R terpopuler di DataCamp. Saat ini, Filip memimpin pengembangan DataLab, buku catatan data bertenaga AI milik DataCamp. Filip meraih gelar di bidang Teknik Elektro dan Kecerdasan Buatan.

