Konsep notifikasi - Konsol Alat Developer

Konsep notifikasi

Menyiapkan dan menggunakan notifikasi lebih mudah jika Anda memahami konsep dan istilahnya. Berikut adalah beberapa konsep yang perlu diketahui saat Anda menggunakan notifikasi.

Notifications

Sebuah notifikasi adalah pesan yang berisi informasi tentang peristiwa yang terjadi di sumber daya yang Anda dan developer Anda gunakan. Anda dapat mengatur notifikasi sehingga pengguna sumber daya, seperti membangun proyek, repositori, aplikasi deployment, atau alur, menerima email tentang jenis acara yang Anda tentukan sesuai dengan aturan notifikasi yang Anda buat.

Notifikasi untuk AWS CodeCommit dapat berisi informasi identitas pengguna, seperti nama tampilan atau alamat email, melalui penggunaan tanda sesi. CodeCommit mendukung penggunaan tanda sesi, yang merupakan atribut pasangan nilai kunci yang Anda teruskan saat Anda mengasumsikan IAM role, menggunakan kredensial sementara, atau mengfederasi pengguna di AWS Security Token Service (AWS STS). Anda juga dapat mengaitkan tanda dengan pengguna IAM. CodeCommit mencakup nilai-nilai untuk displayName dan emailAddress dalam konten notifikasi jika tanda tersebut ada. Untuk informasi selengkapnya, lihat Menggunakan tanda untuk memberikan informasi identitas di CodeCommit.

penting

Notifikasi mencakup informasi spesifik proyek seperti status build, status deployment, baris kode yang memiliki komentar, dan persetujuan alur. Konten notifikasi dapat berubah saat fitur baru ditambahkan. Sebagai praktik terbaik keamanan, Anda harus secara teratur meninjau target aturan notifikasi dan pelanggan topik Amazon SNS. Untuk informasi lebih lanjut, lihat Memahami konten dan keamanan notifikasi.

Aturan notifikasi

Sebuah aturan notifikasi adalah sumber daya AWS yang Anda buat untuk menentukan kapan dan di mana notifikasi dikirim. Ini mendefinisikan:

  • Kondisi di mana notifikasi dibuat. Kondisi ini didasarkan pada peristiwa yang Anda pilih, yang spesifik untuk jenis sumber daya. Jenis sumber daya yang didukung termasuk membangun proyek di AWS CodeBuild, aplikasi deployment di AWS CodeDeploy, alur di AWS CodePipeline, dan repositori di AWS CodeCommit.

  • Target yang dikirimi notifikasi. Anda dapat menentukan hingga 10 target untuk aturan notifikasi.

Aturan notifikasi dicakup untuk proyek build individu, aplikasi deployment, alur, dan repositori. Aturan notifikasi memiliki nama ramah yang ditetapkan pengguna dan Amazon Resource Names (ARN). Aturan notifikasi harus dibuat dalam Wilayah AWS di mana sumber daya ada. Misalnya, jika proyek build Anda berada di Wilayah US East (Ohio), aturan notifikasi Anda harus dibuat di Wilayah US East (Ohio) juga.

Anda dapat menentukan hingga 10 aturan notifikasi untuk sumber daya.

Events

Sebuah peristiwa adalah perubahan status pada sumber daya yang ingin Anda pantau. Setiap sumber daya memiliki daftar jenis acara yang dapat Anda pilih. Ketika Anda mengatur aturan notifikasi pada sumber daya, Anda menentukan peristiwa yang menyebabkan notifikasi dikirim. Misalnya, jika Anda mengatur notifikasi untuk repositori di CodeCommit, dan Anda memilih Dibuat untuk Permintaan tarik dan Cabang dan tanda, notifikasi dikirim setiap kali pengguna di repositori yang membuat permintaan tarik, cabang, atau tanda Git.

Jenis detail

Saat membuat aturan notifikasi, Anda dapat memilih tingkat detail atau tipe detail termasuk dalam notifikasi (Penuh atau Basic). Pengaturan Penuh (default) mencakup semua informasi yang tersedia untuk acara dalam notifikasi, termasuk informasi yang disempurnakan yang disediakan oleh layanan untuk acara tertentu. Pengaturan Basic mencakup hanya subset dari informasi yang tersedia.

Tabel berikut mencantumkan informasi yang disempurnakan yang tersedia untuk jenis acara tertentu dan menjelaskan perbedaan antara jenis detail.

Layanan Peristiwa Full termasuk Basic tidak termasuk

CodeCommit

Komentar pada komit

Komentar pada permintaan tarik

Semua detail acara dan isi komentar, termasuk balasan atau utas komentar. Ini juga mencakup nomor baris dan baris kode di mana komentar dibuat.

Isi komentar. nomor baris, baris kode, atau utas komentar apa pun.

CodeCommit

Permintaan tarik dibuat

Semua detail peristiwa dan jumlah file yang ditambahkan, dimodifikasi, atau dihapus dalam permintaan tarik dalam kaitannya dengan cabang tujuan.

Tidak ada daftar file atau detail tentang apakah cabang sumber permintaan tarik telah menambahkan, mengubah, atau menghapus file.

CodePipeline

Persetujuan manual diperlukan

Semua detail acara dan data kustom (jika dikonfigurasi). Notifikasi ini juga mencakup tautan ke persetujuan yang diperlukan dalam alur.

Tidak ada data atau tautan kustom.

CodePipeline

Eksekusi tindakan gagal

Eksekusi alur gagal

Eksekusi tahap gagal

Semua detail acara dan isi dari pesan kesalahan untuk kegagalan.

Tidak ada isi pesan kesalahan.

Targets

Sebuah target adalah lokasi untuk menerima notifikasi dari aturan notifikasi. Jenis target yang diperbolehkan adalah topik Amazon SNS dan klien AWS Chatbot dikonfigurasi untuk saluran Slack. Setiap pengguna yang berlangganan target menerima notifikasi tentang peristiwa yang Anda tentukan dalam aturan notifikasi.

Jika Anda ingin memperluas jangkauan notifikasi, Anda dapat secara manual mengonfigurasi integrasi antara notifikasi dan AWS Chatbot sehingga notifikasi dikirim ke ruang obrolan Amazon Chime. Anda kemudian dapat memilih topik Amazon SNS yang dikonfigurasi untuk klien AWS Chatbot sebagai target untuk aturan notifikasi. Untuk informasi lebih lanjut, lihat Untuk mengintegrasikan notifikasi dengan AWS Chatbot dan Amazon Chime.

Jika Anda memilih untuk menggunakan klien AWS Chatbot sebagai target, Anda harus terlebih dahulu membuat klien yang di AWS Chatbot. Ketika Anda memilih klien AWS Chatbot sebagai target untuk aturan notifikasi, topik Amazon SNS dikonfigurasi untuk klien AWS Chatbot dengan semua kebijakan yang diperlukan untuk notifikasi untuk dikirim ke saluran Slack. Anda tidak harus mengonfigurasi topik Amazon SNS yang ada untuk klien AWS Chatbot.

Anda dapat memilih untuk membuat topik Amazon SNS sebagai target sebagai bagian dari pembuatan aturan notifikasi (disarankan). Anda juga dapat memilih topik Amazon SNS yang ada di Wilayah AWS sebagai aturan notifikasi, tetapi Anda harus mengonfigurasinya dengan kebijakan yang diperlukan. Topik Amazon SNS yang Anda gunakan untuk target harus dalam akun AWS Anda. Hal ini juga harus berada di Wilayah AWS yang sama sebagai aturan notifikasi dan sumber daya AWS di mana aturan dibuat.

Misalnya, jika Anda membuat aturan notifikasi untuk repositori di Wilayah US East (Ohio), topik Amazon SNS juga harus ada di Wilayah tersebut. Jika Anda membuat topik Amazon SNS sebagai bagian dari membuat aturan notifikasi, topik dikonfigurasi dengan kebijakan yang diperlukan untuk memungkinkan publikasi peristiwa untuk topik. Ini adalah metode terbaik untuk bekerja dengan target dan aturan notifikasi. Jika Anda memilih untuk menggunakan topik yang sudah ada atau membuatnya secara manual, Anda harus mengonfigurasinya dengan izin yang diperlukan sebelum pengguna menerima notifikasi. Untuk informasi lebih lanjut, lihat Mengonfigurasi topik Amazon SNS untuk notifikasi.

catatan

Jika Anda ingin menggunakan topik Amazon SNS yang sudah ada alih-alih membuat yang baru, di Target, pilih ARN-nya. Pastikan topik memiliki kebijakan akses yang sesuai, dan daftar pelanggan hanya berisi pengguna yang diizinkan untuk melihat informasi tentang sumber daya. Jika topik Amazon SNS adalah topik yang digunakan untuk notifikasi CodeCommit sebelum 5 November 2019, itu akan berisi kebijakan yang memungkinkan CodeCommit untuk mempublikasikan yang berisi izin yang berbeda dari yang diperlukan untuk Notifikasi AWS CodeStar. Menggunakan topik ini tidak disarankan. Jika Anda ingin menggunakan salah satu yang dibuat untuk pengalaman tersebut, Anda harus menambahkan kebijakan yang diperlukan untuk Notifikasi AWS CodeStar selain salah satu yang sudah ada. Untuk informasi lebih lanjut, lihat Mengonfigurasi topik Amazon SNS untuk notifikasi dan Memahami konten dan keamanan notifikasi.

Notifikasi dan Notifikasi AWS CodeStar

Meskipun merupakan fitur konsol Alat Developer, notifikasi mempunyai API sendiri, Notifikasi AWS CodeStar. Ia juga mempunyai jenis sumber daya AWS sendiri (aturan notifikasi), izin, dan peristiwa. Peristiwa untuk aturan notifikasi masuk AWS CloudTrail. Tindakan API dapat diizinkan atau ditolak melalui kebijakan IAM.

Peristiwa untuk aturan notifikasi pada repositori

Kategori Peristiwa ID Peristiwa

Komentar

Pada komit

Pada permintaan tarik

codecommit-repository-comments-on-commits

codecommit-repository-comments-on-pull-requests

Persetujuan

Status berubah

Menimpa aturan

codecommit-repository-approvals-status-changed

codecommit-repository-approvals-rule-override

Permintaan tarik

Dibuat

Sumber diperbarui

Status berubah

Digabungkan

codecommit-repository-pull-request-created

codecommit-repository-pull-request-source-updated

codecommit-repository-pull-request-status-changed

codecommit-repository-pull-request-merged

Cabang dan tanda

Dibuat

Dihapus

Diperbarui

codecommit-repository-branches-and-tags-created

codecommit-repository-branches-and-tags-deleted

codecommit-repository-branches-and-tags-updated

Acara untuk aturan notifikasi tentang proyek build

Kategori Peristiwa ID Peristiwa

Status build

Gagal

Berhasil

Sedang berlangsung

Dihentikan

codebuild-project-build-state-failed

codebuild-project-build-state-succeeded

codebuild-project-build-state-in-progress

codebuild-project-build-state-stopped

Tahap membangun

Kegagalan

Sukses

codebuild-project-build-phase-failure

codebuild-project-build-phase-success

Peristiwa untuk aturan notifikasi pada aplikasi deployment

Kategori Peristiwa ID Peristiwa

Deployment

Gagal

Berhasil

Dimulai

codedeploy-application-deployment-failed

codedeploy-application-deployment-succeeded

codedeploy-application-deployment-started

Acara untuk aturan notifikasi pada alur

Kategori Peristiwa ID Peristiwa

Eksekusi tindakan

Berhasil

Gagal

Dibatalkan

Dimulai

codepipeline-pipeline-action-execution-succeeded

codepipeline-pipeline-action-execution-failed

codepipeline-pipeline-action-execution-canceled

codepipeline-pipeline-action-execution-started

Eksekusi tahap

Dimulai

Berhasil

Dilanjutkan

Dibatalkan

Gagal

codepipeline-pipeline-stage-execution-started

codepipeline-pipeline-stage-execution-succeeded

codepipeline-pipeline-stage-execution-resumed

codepipeline-pipeline-stage-execution-canceled

codepipeline-pipeline-stage-execution-failed

Eksekusi alur

Gagal

Dibatalkan

Dimulai

Dilanjutkan

Berhasil

Digantikan

codepipeline-pipeline-pipeline-execution-failed

codepipeline-pipeline-pipeline-execution-canceled

codepipeline-pipeline-pipeline-execution-started

codepipeline-pipeline-pipeline-execution-resumed

codepipeline-pipeline-pipeline-execution-succeeded

codepipeline-pipeline-pipeline-execution-superseded

Persetujuan manual

Gagal

Diperlukan

Berhasil

codepipeline-pipeline-manual-approval-failed

codepipeline-pipeline-manual-approval-needed

codepipeline-pipeline-manual-approval-succeeded