

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memantau CodePipeline peristiwa
<a name="detect-state-changes-cloudwatch-events"></a>



Anda dapat memantau CodePipeline peristiwa di EventBridge, yang mengirimkan aliran data real-time dari aplikasi Anda sendiri, aplikasi software-as-a-service (SaaS), dan. Layanan AWS EventBridge merutekan data tersebut ke target seperti AWS Lambda dan Amazon Simple Notification Service. Peristiwa ini sama dengan yang muncul di Amazon CloudWatch Events, yang memberikan aliran peristiwa sistem yang mendekati waktu nyata yang menggambarkan perubahan AWS sumber daya. Untuk informasi selengkapnya, lihat [Apa itu Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/) di *Panduan EventBridge Pengguna Amazon*.

**catatan**  
Amazon EventBridge adalah cara yang lebih disukai untuk mengelola acara Anda. Amazon CloudWatch Events dan EventBridge merupakan layanan dan API dasar yang sama, tetapi EventBridge menyediakan lebih banyak fitur. Perubahan yang Anda buat di CloudWatch Acara atau EventBridge akan muncul di setiap konsol.

Acara terdiri dari aturan. Aturan dikonfigurasi dengan memilih yang berikut:
+ **Pola Acara.** Setiap aturan dinyatakan sebagai pola peristiwa dengan sumber dan jenis peristiwa untuk memantau, dan target acara. Untuk memantau peristiwa, Anda membuat aturan dengan layanan yang Anda pantau sebagai sumber acara, seperti CodePipeline. Misalnya, Anda dapat membuat aturan dengan pola peristiwa yang digunakan CodePipeline sebagai sumber peristiwa untuk memicu aturan ketika ada perubahan dalam status pipeline, tahapan, atau tindakan.
+ **Target.** Aturan baru menerima layanan yang dipilih sebagai target acara. Anda mungkin ingin menyiapkan layanan target untuk mengirim pemberitahuan, menangkap informasi status, mengambil tindakan korektif, memulai peristiwa, atau mengambil tindakan lain. Ketika Anda menambahkan target Anda, Anda juga harus memberikan izin EventBridge untuk mengizinkannya memanggil layanan target yang dipilih.

Setiap jenis peristiwa perubahan status eksekusi memancarkan pemberitahuan dengan konten pesan tertentu, di mana:
+ `version`Entri awal menunjukkan nomor versi untuk acara tersebut.
+ `version`Entri di bawah pipeline `detail` menunjukkan nomor versi struktur pipa.
+ `execution-id`Entri di bawah pipeline `detail` menunjukkan ID eksekusi untuk eksekusi pipeline yang menyebabkan perubahan status. Lihat panggilan **GetPipelineExecution** API di [Referensi AWS CodePipeline API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/).
+ `pipeline-execution-attempt`Entri menunjukkan jumlah upaya, atau percobaan ulang, untuk ID eksekusi tertentu.

CodePipeline melaporkan suatu peristiwa EventBridge kapan pun keadaan sumber daya dalam Akun AWS perubahan Anda. Acara dipancarkan dengan jaminan, at-least-once berdasarkan sumber daya berikut:
+ Eksekusi pipa
+ Eksekusi panggung
+ Eksekusi aksi

Peristiwa dipancarkan EventBridge dengan pola acara dan skema yang dirinci di atas. Untuk acara yang diproses, seperti peristiwa yang Anda terima melalui notifikasi yang telah dikonfigurasi di konsol Alat Pengembang, pesan acara menyertakan bidang pola peristiwa dengan beberapa variasi. Misalnya, `detail-type` bidang dikonversi ke`detailType`. Untuk informasi selengkapnya, lihat panggilan **PutEvents** API di [Referensi Amazon EventBridge API](https://docs.aws.amazon.com/eventbridge/latest/APIReference/).

Contoh berikut menunjukkan acara untuk CodePipeline. Jika memungkinkan, setiap contoh menunjukkan skema untuk peristiwa yang dipancarkan bersama dengan skema untuk acara yang diproses.

**Topics**
+ [Jenis detail](#detect-state-events-types)
+ [Peristiwa tingkat saluran pipa](#detect-state-events-pipeline)
+ [Acara tingkat panggung](#detect-state-events-stage)
+ [Acara tingkat aksi](#detect-state-events-action)
+ [Buat Aturan yang Mengirim Pemberitahuan pada Acara Pipeline](#create-cloudwatch-notifications)

## Jenis detail
<a name="detect-state-events-types"></a>

Saat mengatur acara untuk dipantau, Anda dapat memilih jenis detail untuk acara tersebut.

Anda dapat mengonfigurasi notifikasi yang akan dikirim saat status berubah untuk:
+ Pipa tertentu atau semua saluran pipa Anda. Anda mengontrol ini dengan menggunakan `"detail-type":``"CodePipeline Pipeline Execution State Change"`.
+ Tahapan yang ditentukan atau semua tahapan Anda, dalam pipa tertentu atau semua saluran pipa Anda. Anda mengontrol ini dengan menggunakan `"detail-type":``"CodePipeline Stage Execution State Change"`.
+ Tindakan tertentu atau semua tindakan, dalam tahap tertentu atau semua tahapan, dalam pipa tertentu atau semua saluran pipa Anda. Anda mengontrol ini dengan menggunakan `"detail-type":``"CodePipeline Action Execution State Change"`.

**catatan**  
Peristiwa yang dipancarkan oleh EventBridge berisi `detail-type` parameter, yang dikonversi ke `detailType` saat peristiwa diproses.


****  


- **CodePipeline Perubahan Status Eksekusi Pipeline**
  - **Status:** MEMBATALKAN / **Deskripsi:** Eksekusi pipa dibatalkan karena struktur pipa diperbarui.
  - **Status:** FAILED / **Deskripsi:** Eksekusi pipeline tidak berhasil diselesaikan.
  - **Status:** DILANJUTKAN / **Deskripsi:** Eksekusi pipeline yang gagal telah dicoba ulang sebagai respons terhadap panggilan RetryStageExecution API.
  - **Status:** DIMULAI / **Deskripsi:** Eksekusi pipeline saat ini sedang berjalan.
  - **Status:** DIHENTIKAN / **Deskripsi:** Proses penghentian selesai, dan eksekusi pipa dihentikan.
  - **Status:** BERHENTI / **Deskripsi:** Eksekusi pipeline berhenti karena permintaan untuk berhenti dan menunggu atau menghentikan dan meninggalkan eksekusi pipa.
  - **Status:** SUCCEEDED / **Deskripsi:** Eksekusi pipa selesai dengan sukses.
  - **Status:** DIGANTIKAN / **Deskripsi:** Sementara eksekusi pipeline ini menunggu tahap berikutnya selesai, eksekusi pipeline yang lebih baru maju dan dilanjutkan melalui pipeline sebagai gantinya.

- **CodePipeline Perubahan Status Eksekusi Tahap**
  - **Status:** MEMBATALKAN / **Deskripsi:** Panggung dibatalkan karena struktur pipa diperbarui.
  - **Status:** FAILED / **Deskripsi:** Panggung tidak selesai dengan sukses.
  - **Status:** DILANJUTKAN / **Deskripsi:** Tahap yang gagal telah dicoba ulang sebagai respons terhadap panggilan RetryStageExecution API.
  - **Status:** DIMULAI / **Deskripsi:** Panggung sedang berjalan.
  - **Status:** DIHENTIKAN / **Deskripsi:** Proses penghentian selesai, dan eksekusi panggung dihentikan.
  - **Status:** BERHENTI / **Deskripsi:** Eksekusi tahap berhenti karena permintaan untuk berhenti dan menunggu atau berhenti dan meninggalkan eksekusi pipa.
  - **Status:** SUCCEEDED / **Deskripsi:** Panggung selesai dengan sukses.

- **CodePipeline Perubahan Status Eksekusi Tindakan**
  - **Status:** MENELANTARKAN / **Deskripsi:** Tindakan ini ditinggalkan karena permintaan untuk menghentikan dan meninggalkan eksekusi pipa.
  - **Status:** MEMBATALKAN / **Deskripsi:** Tindakan dibatalkan karena struktur pipa diperbarui.
  - **Status:** FAILED / **Deskripsi:** Untuk tindakan persetujuan, status GAGAL berarti tindakan ditolak oleh pengulas atau gagal karena konfigurasi tindakan yang salah.
  - **Status:** DIMULAI / **Deskripsi:** Tindakan sedang berjalan.
  - **Status:** SUCCEEDED / **Deskripsi:** Tindakan itu selesai dengan sukses.



## Peristiwa tingkat saluran pipa
<a name="detect-state-events-pipeline"></a>

Peristiwa tingkat pipeline dipancarkan ketika ada perubahan status untuk eksekusi pipeline.

**Topics**
+ [Acara PIPELINE STARTED](#detect-state-events-pipeline-started)
+ [Acara STOPLINE STOPING](#detect-state-events-pipeline-stopping)
+ [Acara PIPELINE BERHASIL](#detect-state-events-pipeline-succeeded)
+ [Pipeline BERHASIL (contoh dengan tag Git)](#w2aac42c13c29c15)
+ [Acara PIPELINE GAGAL](#detect-state-events-pipeline-failed)
+ [Pipeline FAILED (contoh dengan tag Git)](#w2aac42c13c29c23)

### Acara PIPELINE STARTED
<a name="detect-state-events-pipeline-started"></a>

 Ketika eksekusi pipeline dimulai, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang dinamai `"myPipeline"` di `us-east-1` Wilayah. `id`Bidang mewakili ID peristiwa, dan `account` bidang tersebut mewakili ID akun tempat pipeline dibuat.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Pipeline Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-24T22:03:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "execution-trigger": {
            "trigger-type": "StartPipelineExecution",
            "trigger-detail": "arn:aws:sts::123456789012:assumed-role/Admin/my-user"
        },
        "state": "STARTED",
        "version": 1.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Pipeline Execution State Change",
    "region": "us-east-1",
    "source": "aws.codepipeline",
    "time": "2021-06-24T00:44:50Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "execution-trigger": {
            "trigger-type": "StartPipelineExecution",
            "trigger-detail": "arn:aws:sts::123456789012:assumed-role/Admin/my-user"
        },
        "state": "STARTED",
        "version": 1.0,
        "pipeline-execution-attempt": 1.0
    },
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "additionalAttributes": {}
}
```

------

### Acara STOPLINE STOPING
<a name="detect-state-events-pipeline-stopping"></a>

Ketika eksekusi pipeline berhenti, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang dinamai `myPipeline` di `us-west-2` Wilayah.

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Pipeline Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-24T22:02:20Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "state": "STOPPING",
        "version": 3.0,
        "pipeline-execution-attempt": 1.0
        "stop-execution-comments": "Stopping the pipeline for an update"
    }
}
```

### Acara PIPELINE BERHASIL
<a name="detect-state-events-pipeline-succeeded"></a>

 Ketika eksekusi pipeline berhasil, ia memancarkan peristiwa yang mengirimkan notifikasi dengan konten berikut. Contoh ini untuk pipa yang dinamai `myPipeline` di `us-east-1` Wilayah.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Pipeline Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-24T22:03:44Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "state": "SUCCEEDED",
        "version": 3.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Pipeline Execution State Change",
    "region": "us-east-1",
    "source": "aws.codepipeline",
    "time": "2021-06-30T22:13:51Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "state": "SUCCEEDED",
        "version": 1.0,
        "pipeline-execution-attempt": 1.0
    },
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "additionalAttributes": {}
}
```

------

### Pipeline BERHASIL (contoh dengan tag Git)
<a name="w2aac42c13c29c15"></a>

Ketika eksekusi pipeline memiliki tahap yang telah dicoba ulang dan berhasil, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini adalah untuk pipeline bernama `myPipeline` di `eu-central-1` Wilayah di mana `execution-trigger` dikonfigurasi untuk tag Git.

**catatan**  
`execution-trigger`Bidang akan memiliki salah satu `tag-name` atau`branch-name`, tergantung pada jenis peristiwa yang memicu pipeline.

```
{
    "version": "0",
    "id": "b128b002-09fd-4574-4eba-27152726c777",
    "detail-type": "CodePipeline Pipeline Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2023-10-26T13:50:53Z",
    "region": "eu-central-1",
    "resources": [
        "arn:aws:codepipeline:eu-central-1:123456789012:BuildFromTag"
    ],
    "detail": {
        "pipeline": "BuildFromTag",
        "execution-id": "e17b5773-cc0d-4db2-9ad7-594c73888de8",
        "start-time": "2023-10-26T13:49:39.208Z",
        "execution-trigger": {
            "author-display-name": "Mary Major",
            "full-repository-name": "mmajor/sample-project",
            "provider-type": "GitLab",
            "author-email": "email_address",
            "commit-message": "Update file README.md",
            "author-date": "2023-08-16T21:08:08Z",
            "tag-name": "gitlab-v4.2.1",
            "commit-id": "{{commit_ID}}",
            "connection-arn": "arn:aws:codestar-connections:eu-central-1:123456789012:connection/0f5b706a-1a1d-46c5-86b6-f177321bcfb2",
            "author-id": "Mary Major"
        },
        "state": "SUCCEEDED",
        "version": 32.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

### Acara PIPELINE GAGAL
<a name="detect-state-events-pipeline-failed"></a>

Ketika eksekusi pipeline gagal, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang dinamai `"myPipeline"` di `us-west-2` Wilayah.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Pipeline Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-31T18:55:43Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "state": "FAILED",
        "version": 4.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Pipeline Execution State Change",
    "region": "us-west-2",
    "source": "aws.codepipeline",
    "time": "2021-06-24T00:46:16Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "state": "FAILED",
        "version": 1.0,
        "pipeline-execution-attempt": 1.0
    },
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "additionalAttributes": {
        "failedActionCount": 1,
        "failedActions": [
            {
                "action": "Deploy",
                "additionalInformation": "Deployment <ID> failed"
            }
        ],
        "failedStage": "Deploy"
    }
```

------

### Pipeline FAILED (contoh dengan tag Git)
<a name="w2aac42c13c29c23"></a>

Kecuali gagal pada tahap sumber, untuk konfigurasi pipeline dengan pemicu, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini adalah untuk pipeline bernama `myPipeline` di `eu-central-1` Wilayah di mana `execution-trigger` dikonfigurasi untuk tag Git.

**catatan**  
`execution-trigger`Bidang akan memiliki salah satu `tag-name` atau`branch-name`, tergantung pada jenis peristiwa yang memicu pipeline.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Pipeline Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-31T18:55:43Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "execution-trigger": {
            "author-display-name": "Mary Major",
            "full-repository-name": "mmajor/sample-project",
            "provider-type": "GitLab",
            "author-email": "email_address",
            "commit-message": "Update file README.md",
            "author-date": "2023-08-16T21:08:08Z",
            "tag-name": "gitlab-v4.2.1",
            "commit-id": "{{commit_ID}}",
            "connection-arn": "arn:aws:codestar-connections:eu-central-1:123456789012:connection/0f5b706a-1a1d-46c5-86b6-f177321bcfb2",
            "author-id": "Mary Major"
        },
        "state": "FAILED",
        "version": 4.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Pipeline Execution State Change",
    "region": "us-west-2",
    "source": "aws.codepipeline",
    "time": "2021-06-24T00:46:16Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "execution-trigger": {
            "author-display-name": "Mary Major",
            "full-repository-name": "mmajor/sample-project",
            "provider-type": "GitLab",
            "author-email": "email_address",
            "commit-message": "Update file README.md",
            "author-date": "2023-08-16T21:08:08Z",
            "tag-name": "gitlab-v4.2.1",
            "commit-id": "{{commit_ID}}",
            "connection-arn": "arn:aws:codestar-connections:eu-central-1:123456789012:connection/0f5b706a-1a1d-46c5-86b6-f177321bcfb2",
            "author-id": "Mary Major"
        },
        "state": "FAILED",
        "version": 1.0,
        "pipeline-execution-attempt": 1.0
    },
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "additionalAttributes": {
        "failedActionCount": 1,
        "failedActions": [
            {
                "action": "Deploy",
                "additionalInformation": "Deployment <ID> failed"
            }
        ],
        "failedStage": "Deploy"
    }
```

------

## Acara tingkat panggung
<a name="detect-state-events-stage"></a>

Peristiwa tingkat tahap dipancarkan ketika ada perubahan status untuk eksekusi tahap.

**Topics**
+ [Acara STAGE STARTED](#detect-state-events-stage-started)
+ [Acara STAGE STOPING](#detect-state-events-stage-stopping)
+ [Acara STAGE STOPTED](#detect-state-events-stage-stopped)
+ [Tahap DILANJUTKAN setelah acara coba lagi tahap](#w2aac42c13c31c15)

### Acara STAGE STARTED
<a name="detect-state-events-stage-started"></a>

Ketika eksekusi tahap dimulai, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang disebutkan `"myPipeline"` di `us-east-1` Wilayah, untuk panggung`Prod`.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": 01234567-EXAMPLE,
    "detail-type": "CodePipeline Stage Execution State Change",
    "source": "aws.codepipeline",
    "account": 123456789012,
    "time": "2020-01-24T22:03:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "version": 1.0,
        "execution-id": 12345678-1234-5678-abcd-12345678abcd,
        "start-time": "2023-10-26T13:49:39.208Z",
        "stage": "Prod",
        "state": "STARTED",
        "pipeline-execution-attempt": 1.0
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Stage Execution State Change",
    "region": "us-east-1",
    "source": "aws.codepipeline",
    "time": "2021-06-24T00:45:40Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "stage": "Source",
        "state": "STARTED",
        "version": 1.0,
        "pipeline-execution-attempt": 0.0
    },
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "additionalAttributes": {
        "sourceActions": [
            {
                "sourceActionName": "Source",
                "sourceActionProvider": "CodeCommit",
                "sourceActionVariables": {
                    "BranchName": "main",
                    "CommitId": "<ID>",
                    "RepositoryName": "my-repo"
                }
            }
        ]
    }
}
```

------

### Acara STAGE STOPING
<a name="detect-state-events-stage-stopping"></a>

Ketika eksekusi panggung berhenti, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang disebutkan `myPipeline` di `us-west-2` Wilayah, untuk panggung`Deploy`.

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Stage Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-24T22:02:20Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "stage": "Deploy",
        "state": "STOPPING",
        "version": 3.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

### Acara STAGE STOPTED
<a name="detect-state-events-stage-stopped"></a>

Ketika eksekusi panggung dihentikan, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang disebutkan `myPipeline` di `us-west-2` Wilayah, untuk panggung`Deploy`.

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Stage Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-31T18:21:39Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:49:39.208Z",
        "stage": "Deploy",
        "state": "STOPPED",
        "version": 3.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

### Tahap DILANJUTKAN setelah acara coba lagi tahap
<a name="w2aac42c13c31c15"></a>

Ketika eksekusi panggung dilanjutkan dan memiliki tahap yang telah dicoba lagi, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut.

Ketika sebuah panggung telah dicoba lagi, `stage-last-retry-attempt-time` bidang akan ditampilkan, seperti yang ditunjukkan pada contoh. Bidang ditampilkan pada semua acara panggung jika percobaan ulang dilakukan.

**catatan**  
`stage-last-retry-attempt-time`Bidang akan hadir di semua acara tahap berikutnya setelah tahap telah dicoba lagi.

```
{
    "version": "0",
    "id": "38656bcd-a798-5f92-c738-02a71be484e1",
    "detail-type": "CodePipeline Stage Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2023-10-26T14:14:56Z",
    "region": "eu-central-1",
    "resources": [
        "arn:aws:codepipeline:eu-central-1:123456789012:BuildFromTag"
    ],
    "detail": {
        "pipeline": "BuildFromTag",
        "execution-id": "05dafb6a-5a56-4951-a858-968795364846",
        "stage-last-retry-attempt-time": "2023-10-26T14:14:56.305Z",
        "stage": "Build",
        "state": "RESUMED",
        "version": 32.0,
        "pipeline-execution-attempt": 2.0
    }
}
```

## Acara tingkat aksi
<a name="detect-state-events-action"></a>

Peristiwa tingkat aksi dipancarkan ketika ada perubahan status untuk eksekusi tindakan.

**Topics**
+ [Acara Aksi DIMULAI](#detect-state-events-action-started)
+ [Acara Aksi BERHASIL](#detect-state-events-action-succeeded)
+ [Acara Aksi GAGAL](#detect-state-events-action-failed)
+ [Acara Aksi ABANDONED](#detect-state-events-action-abandoned)

### Acara Aksi DIMULAI
<a name="detect-state-events-action-started"></a>

Ketika eksekusi tindakan dimulai, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline yang dinamai `myPipeline` di `us-east-1` Wilayah, untuk tindakan `myAction` penerapan.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": 01234567-EXAMPLE,
    "detail-type": "CodePipeline Action Execution State Change",
    "source": "aws.codepipeline",
    "account": 123456789012,
    "time": "2020-01-24T22:03:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": 12345678-1234-5678-abcd-12345678abcd,
        "start-time": "2023-10-26T13:51:09.981Z",
        "stage": "Prod",
        "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21",
        "action": "myAction",
        "state": "STARTED",
        "type": {
            "owner": "AWS",
            "category": "Deploy",
            "provider": "CodeDeploy",
            "version": "1"
        },
        "version": 2.0
        "pipeline-execution-attempt": 1.0
        "input-artifacts": [
            {
                "name": "SourceArtifact",
                "s3location": {
                    "bucket": "codepipeline-us-east-1-BUCKETEXAMPLE",
                    "key": "myPipeline/SourceArti/KEYEXAMPLE"
                }
            }
        ]
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Action Execution State Change",
    "region": "us-west-2",
    "source": "aws.codepipeline",
    "time": "2021-06-24T00:45:44Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:51:09.981Z",
        "stage": "Deploy",
        "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21",
        "action": "Deploy",
        "input-artifacts": [
            {
                "name": "SourceArtifact",
                "s3location": {
                    "bucket": "codepipeline-us-east-1-EXAMPLE",
                    "key": "myPipeline/SourceArti/EXAMPLE"
                }
            }
        ],
        "state": "STARTED",
        "region": "us-east-1",
        "type": {
            "owner": "AWS",
            "provider": "CodeDeploy",
            "category": "Deploy",
            "version": "1"
        },
        "version": 1.0,
        "pipeline-execution-attempt": 1.0
    },
    "resources": [
        "arn:aws:codepipeline:us-east-1:123456789012:myPipeline"
    ],
    "additionalAttributes": {}
}
```

------

### Acara Aksi BERHASIL
<a name="detect-state-events-action-succeeded"></a>

Ketika eksekusi tindakan berhasil, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipeline yang dinamai `"myPipeline"` di `us-west-2` Wilayah, untuk aksi sumber`"Source"`. Untuk jenis acara ini, ada dua `region` bidang yang berbeda. `region`Bidang acara menentukan Wilayah untuk acara pipeline. `region`Bidang di bawah `detail` bagian menentukan Wilayah untuk tindakan.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Action Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-24T22:03:11Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "start-time": "2023-10-26T13:51:09.981Z",
        "stage": "Source",
        "execution-result": {
            "external-execution-url": "https://us-west-2.console.aws.amazon.com/codecommit/home#/repository/my-repo/commit/8cf40f2EXAMPLE",
            "external-execution-summary": "Added LICENSE.txt",
            "external-execution-id": "8cf40fEXAMPLE"
        },
        "output-artifacts": [
            {
                "name": "SourceArtifact",
                "s3location": {
                    "bucket": "codepipeline-us-west-2-BUCKETEXAMPLE",
                    "key": "myPipeline/SourceArti/KEYEXAMPLE"
                }
            }
        ],
        "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21",
        "action": "Source",
        "state": "SUCCEEDED",
        "region": "us-west-2",
        "type": {
            "owner": "AWS",
            "provider": "CodeCommit",
            "category": "Source",
            "version": "1"
        },
        "version": 3.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Action Execution State Change",
    "region": "us-west-2",
    "source": "aws.codepipeline",
    "time": "2021-06-24T00:45:44Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:ACCOUNT:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "arn:aws:codepipeline:us-west-2:123456789012:myPipeline",
        "start-time": "2023-10-26T13:51:09.981Z",
        "stage": "Source",
        "execution-result": {
            "external-execution-url": "https://us-west-2.console.aws.amazon.com/codecommit/home#/repository/my-repo/commit/8cf40f2EXAMPLE",
            "external-execution-summary": "Edited index.html",
            "external-execution-id": "36ab3ab7EXAMPLE"
        },
        "output-artifacts": [
            {
                "name": "SourceArtifact",
                "s3location": {
                    "bucket": "codepipeline-us-west-2-EXAMPLE",
                    "key": "myPipeline/SourceArti/EXAMPLE"
                }
            }
        ],
        "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21",
        "action": "Source",
        "state": "SUCCEEDED",
        "region": "us-west-2",
        "type": {
            "owner": "AWS",
            "provider": "CodeCommit",
            "category": "Source",
            "version": "1"
        },
        "version": 1.0,
        "pipeline-execution-attempt": 1.0
    },
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "additionalAttributes": {}
}
```

------

### Acara Aksi GAGAL
<a name="detect-state-events-action-failed"></a>

Ketika eksekusi tindakan gagal, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang dinamai `"myPipeline"` di `us-west-2` Wilayah, untuk tindakan`"Deploy"`.

------
#### [ Emitted event ]

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Action Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-31T18:55:43Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd", 
        "start-time": "2023-10-26T13:51:09.981Z",
        "stage": "Deploy",
        "execution-result": {
            "external-execution-url": "https://us-west-2.console.aws.amazon.com/codedeploy/home?#/deployments/<ID>",
            "external-execution-summary": "Deployment <ID> failed",
            "external-execution-id": "<ID>",
            "error-code": "JobFailed"
        },
        "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21",
        "action": "Deploy",
        "state": "FAILED",
        "region": "us-west-2",
        "type": {
            "owner": "AWS",
            "provider": "CodeDeploy",
            "category": "Deploy",
            "version": "1"
        },
        "version": 4.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

------
#### [ Processed event ]

```
{
    "account": "123456789012",
    "detailType": "CodePipeline Action Execution State Change",
    "region": "us-west-2",
    "source": "aws.codepipeline",
    "time": "2021-06-24T00:46:16Z",
    "notificationRuleArn": "arn:aws:codestar-notifications:us-west-2:123456789012:notificationrule/a69c62c21EXAMPLE",
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "stage": "Deploy",
        "execution-result": {
            "external-execution-url": "https://console.aws.amazon.com/codedeploy/home?region=us-west-2#/deployments/<ID>",
            "external-execution-summary": "Deployment <ID> failed",
            "external-execution-id": "<ID>",
            "error-code": "JobFailed"
        },  
        "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21",
        "action": "Deploy",
        "state": "FAILED",
        "region": "us-west-2",
        "type": {
            "owner": "AWS",
            "provider": "CodeDeploy",
            "category": "Deploy",
            "version": "1"
        },
        "version": 13.0,
        "pipeline-execution-attempt": 1.0
    },
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "additionalAttributes": {
        "additionalInformation": "Deployment <ID> failed"
    }
}
```

------

### Acara Aksi ABANDONED
<a name="detect-state-events-action-abandoned"></a>

Ketika eksekusi tindakan ditinggalkan, ia memancarkan peristiwa yang mengirimkan pemberitahuan dengan konten berikut. Contoh ini untuk pipa yang dinamai `"myPipeline"` di `us-west-2` Wilayah, untuk tindakan`"Deploy"`.

```
{
    "version": "0",
    "id": "01234567-EXAMPLE",
    "detail-type": "CodePipeline Action Execution State Change",
    "source": "aws.codepipeline",
    "account": "123456789012",
    "time": "2020-01-31T18:21:39Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:codepipeline:us-west-2:123456789012:myPipeline"
    ],
    "detail": {
        "pipeline": "myPipeline",
        "execution-id": "12345678-1234-5678-abcd-12345678abcd",
        "stage": "Deploy",
        "action-execution-id": "47f821c5-a902-44b2-ae61-b878d31ecd21",
        "action": "Deploy",
        "state": "ABANDONED",
        "region": "us-west-2",
        "type": {
            "owner": "AWS",
            "provider": "CodeDeploy",
            "category": "Deploy",
            "version": "1"
        },
        "version": 3.0,
        "pipeline-execution-attempt": 1.0
    }
}
```

## Buat Aturan yang Mengirim Pemberitahuan pada Acara Pipeline
<a name="create-cloudwatch-notifications"></a>

Aturan mengawasi peristiwa tertentu dan kemudian mengarahkannya ke AWS target yang Anda pilih. Anda dapat membuat aturan yang melakukan AWS tindakan secara otomatis ketika AWS tindakan lain terjadi, atau aturan yang melakukan AWS tindakan secara teratur pada jadwal yang ditetapkan.

**Topics**
+ [Mengirim Pemberitahuan Saat Status Pipeline Berubah (Konsol)](#monitoring-cloudwatch-events-console)
+ [Kirim Pemberitahuan Saat Status Pipeline Berubah (CLI)](#monitoring-cloudwatch-events-cli)

### Mengirim Pemberitahuan Saat Status Pipeline Berubah (Konsol)
<a name="monitoring-cloudwatch-events-console"></a>

Langkah-langkah ini menunjukkan cara menggunakan EventBridge konsol untuk membuat aturan untuk mengirim pemberitahuan perubahan CodePipeline. 

**Untuk membuat EventBridge aturan yang menargetkan pipeline Anda dengan sumber Amazon S3**

1. Buka EventBridge konsol Amazon di [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Di panel navigasi, pilih **Aturan**. Biarkan bus default dipilih atau pilih bus acara. Pilih **Buat aturan**.

1. Di **Nama**, masukkan nama untuk aturan Anda.

1. Di bawah **Jenis aturan**, pilih **Aturan dengan pola acara**. Pilih **Berikutnya**.

1. Di bawah **Pola acara**, pilih **AWS layanan**.

1. Dari daftar drop-down **Jenis Acara**, pilih tingkat perubahan status untuk notifikasi.
   + Untuk aturan yang berlaku untuk peristiwa tingkat pipeline, pilih Perubahan Status **Eksekusi CodePipeline Pipeline**.
   + Untuk aturan yang berlaku untuk peristiwa tingkat tahap, pilih Perubahan **Status Eksekusi CodePipeline Tahap**.
   + Untuk aturan yang berlaku untuk peristiwa tingkat tindakan, pilih Perubahan **Status Eksekusi CodePipeline Tindakan**.

1. Tentukan perubahan status yang berlaku untuk aturan:
   + Untuk aturan yang berlaku untuk semua perubahan status, pilih **Status apa pun**.
   + Untuk aturan yang berlaku untuk beberapa perubahan status saja, pilih **Status tertentu**, lalu pilih satu atau beberapa nilai status dari daftar.

1. Untuk pola acara yang lebih rinci daripada yang diizinkan oleh penyeleksi, Anda juga dapat menggunakan opsi **Edit pola** di jendela **Pola acara untuk menunjuk pola** acara dalam format JSON.
**catatan**  
Jika tidak ditentukan lain, maka pola acara dibuat untuk semua pipelines/stages/actions dan status.

   Untuk pola acara yang lebih rinci, Anda dapat menyalin dan menempelkan contoh pola peristiwa berikut ke dalam jendela **pola Peristiwa**.
   +   
**Example**  

     Gunakan contoh pola peristiwa ini untuk menangkap tindakan penerapan dan pembuatan yang gagal di semua pipeline.

     ```
     {
     "source": [
         "aws.codepipeline"
       ],
       "detail-type": [
         "CodePipeline Action Execution State Change"
       ],
       "detail": {
         "state": [
           "FAILED"
         ],
         "type": {
           "category": ["Deploy", "Build"]
         }
       }
     }
     ```
   +   
**Example**  

     Gunakan contoh pola peristiwa ini untuk menangkap semua tindakan persetujuan yang ditolak atau gagal di semua pipeline.

     ```
     {
      "source": [
         "aws.codepipeline"
       ],
       "detail-type": [
         "CodePipeline Action Execution State Change"
       ],
       "detail": {
         "state": [
           "FAILED"
         ],
         "type": {
           "category": ["Approval"]
         }
       }
     }
     ```
   +   
**Example**  

     Gunakan contoh pola peristiwa ini untuk menangkap semua peristiwa dari pipeline yang ditentukan.

     ```
     {
     "source": [
         "aws.codepipeline"
       ],
       "detail-type": [
         "CodePipeline Pipeline Execution State Change",
         "CodePipeline Action Execution State Change",
         "CodePipeline Stage Execution State Change"
       ],
       "detail": {
         "pipeline": ["myPipeline", "my2ndPipeline"]
       }
     }
     ```

1. Pilih **Berikutnya**.

1. Di **jenis Target**, pilih **AWS layanan**.

1. Di **Pilih target**, pilih **CodePipeline**. Di **ARN Pipeline**, masukkan ARN pipa agar pipa dimulai dengan aturan ini.
**catatan**  
Untuk mendapatkan ARN pipeline, jalankan perintah. **get-pipeline** ARN pipa muncul di output. Itu dibangun dalam format ini:   
arn:aws:codepipeline::: {{region}} {{account}} {{pipeline-name}}  
Contoh pipa ARN:  
arn:aws:codepipeline:us-east- 2:80398 CONTOH: MyFirstPipeline 

1. Untuk membuat atau menentukan peran layanan IAM yang memberikan EventBridge izin untuk memanggil target yang terkait dengan EventBridge aturan Anda (dalam hal ini, targetnya adalah): CodePipeline 
   + Pilih **Buat peran baru untuk sumber daya khusus ini** untuk membuat peran layanan yang memberikan EventBridge izin untuk memulai eksekusi pipeline Anda.
   + Pilih **Gunakan peran yang ada** untuk memasukkan peran layanan yang memberikan EventBridge izin untuk memulai eksekusi pipeline Anda.

1. Pilih **Berikutnya**.

1. Pada halaman **Tag**, pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, tinjau konfigurasi aturan. Jika Anda puas dengan aturan, pilih **Create rule (Buat aturan)**.

### Kirim Pemberitahuan Saat Status Pipeline Berubah (CLI)
<a name="monitoring-cloudwatch-events-cli"></a>

Langkah-langkah ini menunjukkan cara menggunakan CLI untuk membuat aturan CloudWatch Acara untuk mengirim pemberitahuan perubahan. CodePipeline 

Untuk menggunakan aturan AWS CLI untuk membuat aturan, panggil **put-rule** perintah, dengan menentukan:
+ Nama yang secara unik mengidentifikasi aturan yang Anda buat. Nama ini harus unik di semua pipeline yang Anda buat CodePipeline terkait dengan AWS akun Anda.
+ Pola acara untuk bidang sumber dan detail yang digunakan oleh aturan. Untuk informasi selengkapnya, lihat [Amazon EventBridge dan Pola Acara](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html).

**Untuk membuat EventBridge aturan dengan CodePipeline sebagai sumber acara**

1. Panggil **put-rule** perintah untuk membuat aturan yang menentukan pola acara. (Lihat tabel sebelumnya untuk status valid.)

   Perintah contoh berikut digunakan **--event-pattern** untuk membuat aturan yang disebut `“MyPipelineStateChanges”` yang memancarkan CloudWatch peristiwa ketika eksekusi pipeline gagal untuk pipeline bernama “MyPipeline.”

   ```
   aws events put-rule --name "MyPipelineStateChanges" --event-pattern "{\"source\":[\"aws.codepipeline\"],\"detail-type\":[\"CodePipeline Pipeline Execution State Change\"],\"detail\":{\"pipeline\":[\"myPipeline\"],\"state\":[\"FAILED\"]}}"
   ```

1. Panggil **put-targets** perintah dan sertakan parameter berikut:
   + `--rule`Parameter digunakan dengan yang `rule_name` Anda buat dengan menggunakan**put-rule**. 
   + `--targets`Parameter digunakan dengan `Id` daftar target dalam daftar target dan topik `ARN` Amazon SNS.

   Contoh perintah berikut menentukan bahwa untuk aturan yang dipanggil`MyPipelineStateChanges`, target `Id` terdiri dari nomor satu, menunjukkan bahwa dalam daftar target untuk aturan, ini adalah target 1. Perintah sampel juga menentukan contoh `ARN` untuk topik Amazon SNS.

   ```
   aws events put-targets --rule MyPipelineStateChanges --targets Id=1,Arn=arn:aws:sns:us-west-2:11111EXAMPLE:MyNotificationTopic
   ```

1. Tambahkan izin EventBridge untuk menggunakan layanan target yang ditunjuk untuk memanggil notifikasi. Untuk informasi selengkapnya, lihat [Menggunakan kebijakan berbasis sumber daya](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html) untuk Amazon. EventBridge