Cara menghantar makluman kepada Teams dan Slack daripada skrip menggunakan webhook selamat

Kemaskini terakhir: 17/12/2025
Pengarang Ishak
  • Webhook masuk dalam Teams dan Slack membolehkan anda menerima makluman daripada skrip dan perkhidmatan luaran menggunakan permintaan HTTP POST dengan JSON.
  • Penyambung lama seperti yang terdapat pada Office 365 sedang dihentikan secara berperingkat, jadi Power Automate dan lapisan pertengahan yang lain menjadi tumpuan utama.
  • Perkhidmatan seperti Azure Monitor atau Amazon SNS menjana muatan kompleks yang sering memerlukan transformasi menggunakan fungsi, skrip atau aliran Lambda.
  • Keselamatan Webhook (token, pengesahan penyewa dan dasar DLP) adalah kunci untuk mencegah penyalahgunaan dan mengekalkan pematuhan.

Amaran kepada Pasukan dan Slack dengan webhook selamat

Jika anda bekerja dengan infrastruktur awan, CI/CD, pemantauan atau pengurusan insiden, anda mungkin mahu Semua makluman penting akan dipaparkan terus di saluran anda. Microsoft Pasukan atau SlackCara paling fleksibel dan mudah untuk mencapai matlamat ini daripada skrip, automasi atau perkhidmatan luaran adalah dengan menggunakan webhook… selagi anda melindunginya dengan baik.

Dalam beberapa tahun kebelakangan ini, keadaan telah berubah: Penyambung lama seperti yang terdapat pada Office 365 dalam Teams akan dibersarakan.Dasar DLP menjadi semakin ketat, dan banyak perkhidmatan hanya berkomunikasi dengan JSON dalam format yang sangat spesifik (seperti Amazon SNS, Azure Monitor atau ClickUp). Semua ini bermakna bahawa mengintegrasikan amaran dengan Teams dan Slack bukan sekadar "menampal URL" dan menghentikannya; ia memerlukan pertimbangan yang teliti terhadap keselamatan, format muatan dan seni bina.

Apakah sebenarnya webhook dan mengapa ia begitu berguna untuk makluman?

Webhook tidak lebih daripada sekadar URL HTTP atau HTTPS yang menerima permintaan POST daripada sistem lain. Setiap kali peristiwa dicetuskan (ralat pengeluaran, penggunaan yang gagal, perubahan keadaan dalam sumber, dsb.), anda skrip Perkhidmatan tersebut menghantar JSON ke URL tersebut dan mesej tersebut muncul dalam saluran Teams atau Slack yang telah anda pilih.

Dalam skim ini, Pasukan dan Slack bertindak sebagai penerima pasifMereka hanya menunggu seseorang menghantar permintaan dalam format yang betul. Kelebihannya ialah, dari pihak anda, anda boleh menggunakan hampir semua bahasa atau persekitaran. PowerShellBash PythonAWS Lambda, Fungsi Azure, saluran paip CI, aplikasi di premis, apa sahaja yang anda mahukan.

Penting untuk jelas bahawa Setiap platform menjangkakan struktur JSON tertentu.Contohnya, webhook Slack atau Microsoft Teams biasanya memerlukan sekurang-kurangnya satu medan dengan teks mesej (biasanya "teks"), manakala perkhidmatan lain seperti Amazon Chime menjangkakan kunci yang berbeza (contohnya "Kandungan").

Satu lagi perkara penting ialah banyak perkhidmatan awan (Azure, AWS, ClickUp, dll.) Mereka tidak menghantar format yang betul-betul seperti yang dijangkakan oleh Teams atau Slack.tetapi sebaliknya skema muatannya sendiri untuk peristiwa dan amaran. Itulah sebabnya anda sering memerlukan "perantara" untuk menyesuaikan maklumat tersebut kepada format yang betul.

Integrasi amaran dengan Teams dan Slack

Jenis-jenis integrasi: webhook, penyambung, bot dan API

Dalam dunia Microsoft Teams terdapat beberapa cara untuk menerima pemberitahuan automatik daripada skrip atau perkhidmatan luarandan adalah penting untuk membezakan antara mereka untuk memilih seni bina yang betul:

Di satu sisi terdapat webhook masukIni adalah cara paling langsung untuk menghantar mesej ke saluran Teams. Mendayakan ciri ini dalam saluran akan menjana URL HTTPS yang menerima JSON dan memasukkan kandungan ke dalam perbualan. Ia tidak memerlukan pemasangan aplikasi yang kompleks atau sumber Azure tambahan; ia adalah ciri saluran asli.

Di hujung yang satu lagi anda mempunyai API Pemberitahuan dan bot pemberitahuanIni adalah antara keupayaan Teams yang paling canggih. Kita sedang membincangkan tentang aplikasi Teams yang lengkap yang boleh menghantar pemberitahuan yang kaya kepada pengguna, sembang atau saluran, memanfaatkan Microsoft Graph, mendapatkan konteks pengguna, memaparkan kandungan dalam papan pemuka dan banyak lagi. Ia sesuai jika anda mencari pengalaman yang diperibadikan, kad adaptif dinamik dan peraturan perniagaan yang canggih.

Turut terlibat ialah penyambung untuk Kumpulan Microsoft 365Ini membolehkan anda membungkus webhook dengan halaman tetapannya sendiri sebagai sebahagian daripada aplikasi Teams. Ia biasanya menggunakan kad penyambung dengan set tindakan terhad, sesuai untuk penyepaduan "produk" seperti cuaca, insiden dan penyambung lain.

Akhirnya, terdapat API pemberitahuan berasaskan grafIa berfungsi sebagai titik akhir RESTful untuk mencetuskan pemberitahuan dalam suapan aktiviti Teams. Ia sangat berkuasa apabila anda mahu aplikasi web atau bahagian belakang anda menghantar makluman segera, dengan pemberitahuan bunyi dan sistem pengendalian, tentang maklumat penting yang disasarkan kepada pengguna atau kumpulan tertentu.

Selamat tinggal kepada penyambung Office 365: mengapa tiba masanya untuk beralih kepada Power Automate

Jika anda telah menghantar mesej kepada Teams selama bertahun-tahun menggunakan Webhook penyambung Office 365Anda mungkin pernah melihat notis bahawa fungsi ini akan dihentikan. Microsoft sedang menyelaraskan ekosistem dengan strategi "selamat masa depan", yang dalam praktiknya bermaksud mendorong ke arah penyelesaian yang lebih moden dan terkawal, seperti Power Automate dan API semasa.

  Microsoft Lens untuk mendigitalkan dokumen: ciri, persaraan dan alternatif

Cara yang disyorkan untuk terus menghantar makluman daripada skrip ialah atur penghantaran kepada Pasukan menggunakan aliran Power AutomateDaripada memanggil webhook Office 365 secara langsung, skrip anda akan mencetuskan pencetus HTTP Power Automate dan aliran ini mengendalikan pembinaan dan penghantaran mesej ke saluran Teams menggunakan penyambung yang disokong.

Dalam senario biasa, anda mencipta aliran awan dengan pencetus seperti "Apabila permintaan HTTP diterima"Daripada skrip PowerShell, Bash atau Python anda, anda membuat permintaan POST ke titik akhir tersebut, menghantar data yang berkaitan (keparahan, sumber, perihalan insiden, dll.). Aliran kerja memproses JSON, mengubahnya menjadi kad atau mesej yang disesuaikan untuk Teams dan menerbitkannya ke saluran pilihan anda.

Pendekatan ini mempunyai beberapa kelebihan: Ia mengabstrakkan anda daripada perubahan penyambung pada masa hadapan.Ia membolehkan anda memusatkan logik untuk pemformatan dan penghalaan amaran dan memudahkan untuk memenuhi keperluan keselamatan dan pematuhan, kerana Power Automate boleh disepadukan dengan DLP dan tadbir urus Microsoft 365.

Power Automate dan webhook selamat

Melindungi webhook anda: token, penyewa dan DLP

Salah satu persoalan besar apabila mendedahkan URL webhook ialah bagaimana Halang sesiapa daripada menghantar mesej ke saluran anda Jika anda menemui alamat itu. Walaupun webhook sangat mudah, ia mesti dianggap sebagai kelayakan sensitif.

Corak yang biasa digunakan terdiri daripada tambah token kebenaran sebagai parameter dalam URLContohnya, titik akhir mungkin kelihatan seperti ini: https://miservicio/webcallback?tokenid=sometokenid&someparameter=somevaluePerkhidmatan yang menerima panggilan mengesahkan bahawa token tersebut sah sebelum memproses permintaan. Dengan cara ini, walaupun seseorang melihat URL tanpa token yang betul, mereka tidak akan dapat menggunakannya.

Dalam persekitaran Azure dan Microsoft 365, adalah perkara biasa untuk melangkah lebih jauh dan Daftar aplikasi pada Microsoft Enter ID (dahulunya Azure AD) untuk melindungi titik akhir HTTP. Aliran Power Automate boleh diterbitkan di sebalik Pengurusan API atau fungsi yang dilindungi Entra, jadi hanya skrip yang disahkan milik penyewa anda sahaja yang boleh mencetuskan webhook.

Selain itu, banyak organisasi memohon dasar pencegahan kehilangan data (DLP) pada persekitaran seperti Power Automate atau Power AppsDasar-dasar ini boleh menyekat atau menyekat penggunaan penyambung tertentu (contohnya, menghantar data daripada persekitaran "sulit" kepada penyambung yang dianggap "tidak dipercayai", seperti webhook Teams). Jika anda menghadapi ralat semasa menyimpan atau menjalankan aliran, punca utama mungkin terletak pada DLP.

Dalam hal itu, adalah perlu untuk menyemaknya bersama-sama dengan pasukan IT atau tadbir urus. Bagaimanakah segmentasi penyambung dikonfigurasikan? dan buat pelarasan untuk membolehkan webhook Pasukan atau Slack anda menjadi sebahagian daripada penyambung yang dibenarkan dalam persekitaran tempat aliran atau aplikasi anda berjalan.

Format muat naik JSON: daripada Azure Monitor kepada Teams dan Slack

Perkhidmatan seperti Azure Monitor, log aktiviti Azure atau sistem keselamatan menjana peristiwa amaran dengan skema JSON yang sangat kaya dan terperinciApabila peristiwa ini dihantar ke webhook sebagai sebahagian daripada sekumpulan tindakan, muatan yang diterima oleh titik akhir anda merangkumi banyak maklumat, bukan hanya teks mesej.

Susun atur tipikal pemberitahuan amaran Log aktiviti Azure merangkumi medan schemaId dan objek data yang mengandungi status amaran, konteks dan sifat. Dalam data.context.activityLog Data seperti jenis saluran yang muncul, correlationId, cap masa peristiwa, tahap (Kritikal, Ralat, Amaran, Maklumat), yang operationName, pengecam sumber yang terjejas dan banyak lagi.

Bergantung pada nilai eventSource Dalam beban itu, struktur khusus berbeza-beza: terdapat peristiwa jenis Pentadbiran, Keselamatan, Cadangan, PerkhidmatanKesihatan o SumberKesihatansetiap satu dengan ciri-ciri khususnya yang tersendiri. Contohnya, peristiwa keselamatan mungkin memperincikan percubaan kekerasan SSH, IP penyerang, pengguna yang digunakan, bilangan percubaan yang gagal dan langkah pemulihan yang dicadangkan.

Unsur-unsur lain dalam beban termasuk medan seperti kebenaran (tindakan dan skop kawalan akses berasaskan peranan), pemanggil (emel atau UPN pengguna yang melakukan operasi), IDDataperistiwa (pengecam unik), subStatus (sering kali dengan kod HTTP seperti 200, 400, 404, 500, dll.), dan kamus properties dengan pasangan kunci-nilai yang menambahkan lebih banyak konteks pada peristiwa.

Untuk menjadikan semua ini berguna dalam Teams atau Slack, tidak masuk akal untuk menyalin keseluruhan fail JSON seperti sedia ada. Pendekatan praktikal adalah dengan menggunakan skrip atau fungsi anda. ekstrak medan yang berkaitan (sumber yang terjejas, keterukan, penerangan, cap masa kritikal, korelasi) dan bina mesej yang lebih mudah dibaca, dengan menyatakan dengan jelas apa yang berlaku, di mana dan apa yang perlu dilakukan seterusnya.

  Panduan Lengkap untuk Memahami Format Nombor dalam Excel

Daripada SNS Amazon kepada Slack, Teams dan Chime dengan Lambda

Perkhidmatan Pemberitahuan Ringkas Amazon (SNS) merupakan satu lagi bahagian penting apabila anda mahu bertindak balas terhadap peristiwa AWS dan hantarkannya ke saluran sembangSNS boleh menerbitkan mesej ke titik akhir HTTP/HTTPS, tetapi tidak selalunya dalam format yang diharapkan oleh webhook Slack, Microsoft Teams atau Amazon Chime.

Contohnya, apabila anda mengkonfigurasi topik SNS untuk disiarkan ke webhook, muatan JSON pemberitahuan mempunyai kuncinya sendiri (Mesej, Subjek, Cap Waktu, dll.). Walau bagaimanapun, Slack dan Teams menjangkakan isi permintaan akan memasukkan kekunci "teks". dengan mesej yang akan dipaparkan pada saluran, sementara Amazon Chime mencari kunci "Kandungan"SNS tidak menyokong secara langsung transformasi format tersebut pada masa penerbitan.

Penyelesaian yang disyorkan dalam AWS adalah dengan menggunakan Fungsi Lambda sebagai lapisan perantaraanDaripada melanggan webhook terus ke topik SNS, anda mencipta topik SNS, mengkonfigurasi fungsi Lambda yang melanggan topik tersebut dan daripada Lambda anda menghantar POST ke webhook dengan JSON yang diubah menjadi struktur yang betul.

Alirannya akan kelihatan seperti ini: SNS menerbitkan peristiwa tersebut kepada fungsi Lambda; fungsi tersebut berbunyi acara[«Rekod»][0][«Sns»][«Mesej»]Bina kamus dengan kekunci yang sesuai ("Kandungan" untuk Chime, "teks" untuk Slack atau Teams, secara pilihan menambah saluran, nama pengguna o ikon_emoji (dalam kes Slack), bersiri kepada JSON dan membuat permintaan POST menggunakan pustaka HTTP seperti uribib3.

Dalam kod Python, rangka asasnya sangat mudah: anda mencipta Pengurus KolamAnda menentukan URL webhook, membina mesej dengan medan yang dijangkakan, menukarnya kepada JSON yang dikodkan UTF-8 dan menghantar permintaan. Kemudian, anda boleh merekodkan kod_status dan badan respons untuk penyahpepijatan, menyemak sama ada webhook menerima mesej dengan betul (kod 200) atau mengenal pasti ralat 4xx jika terdapat parameter yang tidak sah atau URL tidak betul.

Sebaik sahaja tingkah laku Lambda disahkan dengan peristiwa ujian dalam konsol (menggunakan templat "Pemberitahuan Topik SNS"), langkah seterusnya ialah tambah tema SNS sebagai pencetus fungsi tersebut. Oleh itu, setiap kali perkhidmatan menerbitkan pada topik tersebut (contohnya, Penggera CloudWatch, peristiwa status tika, dsb.), amaran akan berakhir dalam Slack, Teams atau Chime dalam format yang ideal.

Webhook dalam Microsoft Teams: masuk, keluar dan penyambung

Dalam Pasukan terdapat pelbagai jenis sambungan yang melangkaui webhook masuk biasa dan adalah berbaloi untuk mengetahui tentangnya bagi mereka bentuk penyelesaian amaran anda dengan lebih baik.

The webhook keluar Ia membolehkan anda "memanggil" perkhidmatan luaran daripada saluran menggunakan simbol @. Anda mengkonfigurasi webhook keluar dengan URL perkhidmatan anda dan apabila pengguna memanggilnya dengan mesej, Teams menghantar teks ke titik akhir anda dan menjangkakan respons pantas (biasanya dalam masa 10 saat) dengan kandungan yang boleh berupa teks biasa atau kad. Ini berguna untuk arahan atau pertanyaan atas permintaan, tidak begitu banyak untuk makluman automatik.

The webhook masukSeperti yang telah kami nyatakan sebelum ini, ia sesuai untuk menerima makluman dan pemberitahuan berkala Daripada aplikasi luaran. Anda mencipta webhook dalam saluran (contohnya, saluran DevOps) dan mengkonfigurasi saluran paip, skrip penggunaan, alat pemantauan atau sistem keselamatan anda untuk menghantar peristiwa mereka ke URL tersebut menggunakan HTTP POST.

Kemudian ada Penyambung untuk Kumpulan Microsoft 365Ini berfungsi sebagai cara untuk membungkus webhook masuk dengan antara muka konfigurasi dalam Teams. Ia biasanya menghantar mesej dalam bentuk kad penyambung dan membolehkan pengalaman yang lebih "seperti produk", seperti memilih lokasi dalam penyambung cuaca, menjadualkan masa pemberitahuan dan sebagainya.

Dari sudut pandangan seni bina, jika keperluan utama anda adalah Skrip dan alatan anda menghantar mesej ke saluran Tanpa terlalu banyak sentuhan visual, webhook masuk yang ringkas biasanya lebih daripada mencukupi. Jika anda mencari logik yang kompleks, penyesuaian lanjutan dan tindakan interaktif, maka bot pemberitahuan atau aplikasi Teams dengan API pemberitahuan adalah lebih sesuai.

Cara mencipta webhook masuk dalam Teams dan menggunakannya daripada perkhidmatan luaran

Proses untuk mendayakan webhook masuk dalam saluran Teams agak mekanikal, tetapi ia berbaloi. memahami setiap langkah dengan sepenuhnya untuk kemudian mengintegrasikannya dengan skrip atau aplikasi anda.

  Cara menggunakan makro dalam Word: panduan lengkap untuk memanfaatkannya sepenuhnya

Pertama, dalam antara muka Teams, anda memilih pasukan dan saluran piawai tempat anda mahu makluman dipaparkan. Ini boleh jadi saluran sedia ada (contohnya, "Insiden") atau saluran baharu yang dicipta khas untuk penyepaduan.

Kemudian anda klik pada tiga titik di sebelah nama saluran dan pilih pilihan untuk PenyambungDalam senarai penyambung yang tersedia, cari "Incoming Webhook" dan klik "Configure." Kemudian, tetapkan nama yang mengenal pasti tujuannya (contohnya, "CertSecure Alerts," "CI/CD Alerts," atau "Azure Monitoring") dan, secara pilihan, muat naik ikon untuk memudahkan pengecaman sumber mesej.

Apabila anda mengesahkan penciptaan, Teams akan menjana URL webhook unikItulah alamat yang akan anda salin dan tampal ke dalam tetapan alat atau perkhidmatan luaran anda. Adalah penting untuk memastikan ia selamat, kerana sesiapa sahaja yang mendapat akses kepadanya boleh menghantar mesej ke saluran bagi pihak anda.

Sesetengah produk, seperti penyelesaian pengurusan sijil (contohnya, CertSecure), mempunyai bahagian khusus dalam portal pentadbirannya sendiri untuk mengintegrasikan PasukanDi sana, mereka biasanya meminta anda menampal URL webhook; selepas menyimpannya, sistem akan menghantar mesej ujian ke saluran pasukan yang menunjukkan bahawa integrasi telah berjaya diselesaikan.

Dari situ, anda boleh mengaktifkan atau menyahaktifkan yang berbeza peristiwa pemberitahuan (pengeluaran sijil baharu, pembatalan, pembaharuan, tamat tempoh atau makluman pra-tamat tempoh) supaya setiap perubahan yang berkaitan menjana mesej automatik dalam saluran, memastikan pasukan sentiasa dikemas kini tanpa perlu mengakses panel alat secara berterusan.

Masalah biasa dengan ClickUp, Slack dan perkhidmatan lain

Tidak semua platform serasi dengan Slack atau Teams webhook serta-merta, walaupun nampaknya anda hanya perlu menampal URL. Contoh biasa ialah... ClickUp dan Slack apabila anda ingin memaklumkan saluran setiap kali status folder atau senarai berubah.

ClickUp membolehkan anda mengkonfigurasi automasi di mana, apabila keadaan berubah, tindakan dicetuskan yang menghantar permintaan ke URL webhook (contohnya, URL Slack yang menjana webhook masuk). Masalahnya ialah ClickUp menghantar muatan JSONnya sendiri dengan skema yang tidak sepadan dengan apa yang Slack jangkakan, jadi pemberitahuan mungkin tidak muncul dalam saluran.

Dalam Slack, webhook yang masuk biasanya menjangkakan sesuatu yang semudah { "text": "Mensaje a mostrar" }dengan beberapa medan pilihan seperti saluran, nama pengguna atau ikon. Jika sebaliknya anda menerima JSON bersarang dengan medan khusus ClickUp, anda boleh mengabaikan permintaan itu atau salah tafsirkannya, mengakibatkan amaran yang tidak pernah benar-benar dilihat.

Cara terbaik untuk menyelesaikan jenis ketidakserasian ini adalah dengan memperkenalkan lapisan pertengahan yang bertindak sebagai penterjemahSama seperti SNS dan Lambda, daripada menghalakan webhook ClickUp terus ke Slack, anda menghalakannya ke titik akhir anda sendiri (fungsi awan, API kecil di bahagian belakang anda). Titik akhir tersebut menerima JSON ClickUp, memilih maklumat yang berkaitan (contohnya, nama tugasan, status sebelumnya dan baharu, penerima tugasan), dan membina JSON minimum yang diperlukan oleh Slack, kemudian meneruskan permintaan tersebut ke webhook Slack yang masuk.

Corak ini boleh digeneralisasikan kepada banyak alat lain yang "menghantar JSON" tetapi bukan dalam format yang diperlukan oleh Slack atau Teams. Dengan mempunyai lapisan integrasi anda sendiri, anda mempunyai kawalan penuh ke atas pemformatan mesej, penapisan, keselamatan dan pengayaanDan anda boleh mengendalikan perubahan API tanpa perlu menyentuh konfigurasi semua skrip anda.

Memanfaatkan webhook yang selamat untuk menghantar makluman daripada skrip kepada Teams dan Slack melibatkan lebih daripada sekadar menyalin dan menampal URL: ia memerlukan pemahaman tentang pelbagai jenis integrasi Teams, skema JSON perkhidmatan seperti Azure Monitor dan Amazon SNS, peranan lapisan perisian tengah seperti Power Automate atau AWS Lambda, dan langkah keselamatan dan DLP yang berkaitan dengan semua ini. Jika anda mereka bentuk seni bina ini dengan baik, pasukan anda akan menikmati makluman yang kaya, andal dan masa nyata, tanpa kejutan perubahan penyambung yang ketinggalan zaman atau format yang tidak serasi yang menelan pemberitahuan anda secara senyap.