

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

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

# Mengkonfigurasi tindakan alur kerja
<a name="workflows-actions"></a>

*Tindakan* adalah blok bangunan utama alur kerja, dan mendefinisikan unit logis kerja, atau tugas, untuk dilakukan selama alur kerja dijalankan. Biasanya, alur kerja mencakup beberapa tindakan yang berjalan secara berurutan atau paralel tergantung pada cara Anda mengonfigurasinya.

**Topics**
+ [Jenis tindakan](#workflows-actions-types)
+ [Menambahkan tindakan ke alur kerja](workflows-add-action.md)
+ [Menghapus tindakan dari alur kerja](workflows-delete-action.md)
+ [Mengembangkan tindakan khusus](workflows-custom-action.md)
+ [Mengelompokkan tindakan ke dalam kelompok aksi](workflows-group-actions.md)
+ [Tindakan pengurutan](workflows-depends-on.md)
+ [Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md)
+ [Menentukan versi tindakan yang akan digunakan](workflows-action-versions.md)
+ [Daftar versi tindakan yang tersedia](workflows-action-versions-determine.md)
+ [Melihat kode sumber tindakan](workflows-view-source.md)
+ [Integrasi dengan Tindakan GitHub](integrations-github-actions.md)

## Jenis tindakan
<a name="workflows-actions-types"></a>

Dalam CodeCatalyst alur kerja Amazon, Anda dapat menggunakan jenis tindakan berikut.

**Topics**
+ [CodeCatalyst tindakan](#workflows-actions-types-cc)
+ [CodeCatalyst Tindakan Lab](#workflows-actions-types-cc-labs)
+ [GitHub Tindakan](#workflows-actions-types-github)
+ [Tindakan pihak ketiga](#workflows-actions-types-3p)

### CodeCatalyst tindakan
<a name="workflows-actions-types-cc"></a>

*CodeCatalyst Tindakan* adalah tindakan yang ditulis, dipelihara, dan didukung penuh oleh tim CodeCatalyst pengembangan.

Ada CodeCatalyst tindakan untuk membangun, menguji, dan menyebarkan aplikasi, serta untuk melakukan tugas lain-lain, seperti memanggil fungsi. AWS Lambda 

 CodeCatalyst Tindakan berikut tersedia:
+ **Membangun**

  Tindakan ini membangun artefak Anda dan menjalankan pengujian unit Anda dalam wadah Docker. Untuk informasi selengkapnya, lihat [Menambahkan aksi build](build-add-action.md).
+ **Uji**

  Tindakan ini menjalankan integrasi dan pengujian sistem terhadap aplikasi atau artefak Anda. Untuk informasi selengkapnya, lihat [Menambahkan tindakan pengujian](test-add-action.md).
+ **Amazon S3 mempublikasikan**

  Tindakan ini menyalin artefak aplikasi Anda ke bucket Amazon S3. Untuk informasi selengkapnya, lihat [Menerbitkan file ke Amazon S3 dengan alur kerja](s3-pub-action.md).
+ **AWS CDK bootstrap**

  Tindakan ini menyediakan sumber daya yang AWS CDK dibutuhkan untuk menerapkan aplikasi CDK Anda. Untuk informasi selengkapnya, lihat [Bootstrapping AWS CDK aplikasi dengan alur kerja](cdk-boot-action.md).
+ **AWS CDK menyebarkan**

  Tindakan ini mensintesis dan menyebarkan aplikasi AWS Cloud Development Kit (AWS CDK) . Untuk informasi selengkapnya, lihat [Menerapkan AWS CDK aplikasi dengan alur kerja](cdk-dep-action.md).
+ **AWS Lambda memohon**

  Tindakan ini memanggil AWS Lambda fungsi. Untuk informasi selengkapnya, lihat [Memanggil fungsi Lambda menggunakan alur kerja](lam-invoke-action.md).
+ **GitHub Tindakan**

  Tindakan ini adalah *CodeCatalyst*tindakan yang memungkinkan Anda menjalankan GitHub Tindakan dalam CodeCatalyst alur kerja. Untuk informasi selengkapnya, lihat [Memanggil fungsi Lambda menggunakan alur kerja](lam-invoke-action.md).
+ **Menyebarkan tumpukan CloudFormation **

  Tindakan ini menyebarkan CloudFormation tumpukan. Untuk informasi selengkapnya, lihat [Menyebarkan tumpukan CloudFormation](deploy-action-cfn.md).
+ **Terapkan ke Amazon ECS**

  Tindakan ini mendaftarkan definisi tugas Amazon ECS dan menerapkannya ke layanan Amazon ECS. Untuk informasi selengkapnya, lihat [Menyebarkan ke Amazon ECS dengan alur kerja](deploy-action-ecs.md).
+ **Terapkan ke klaster Kubernetes**

  Tindakan ini menyebarkan aplikasi ke klaster Kubernetes. Untuk informasi selengkapnya, lihat [Menerapkan ke Amazon EKS dengan alur kerja](deploy-action-eks.md).
+ **Render definisi tugas Amazon ECS**

  Tindakan ini menyisipkan URI gambar kontainer ke dalam file JSON definisi tugas Amazon ECS, membuat file definisi tugas baru. Untuk informasi selengkapnya, lihat [Memodifikasi definisi tugas Amazon ECS](render-ecs-action.md).

Dokumentasi untuk CodeCatalyst tindakan tersedia dalam panduan ini, dan di readme setiap tindakan.

Untuk informasi tentang CodeCatalyst tindakan yang tersedia, dan cara menambahkannya ke alur kerja, lihat[Menambahkan tindakan ke alur kerja](workflows-add-action.md).

### CodeCatalyst Tindakan Lab
<a name="workflows-actions-types-cc-labs"></a>

*Tindakan CodeCatalyst Labs* adalah tindakan yang merupakan bagian dari Amazon CodeCatalyst Labs, tempat pembuktian untuk aplikasi eksperimental. CodeCatalyst Tindakan Labs telah dikembangkan untuk menampilkan integrasi dengan AWS layanan.

Tindakan CodeCatalyst Labs berikut tersedia:
+ **Menyebarkan ke Hosting AWS Amplify **

  Tindakan ini menyebarkan aplikasi ke Amplify Hosting.
+ **Menyebarkan ke AWS App Runner**

  Tindakan ini menyebarkan gambar terbaru dalam repositori gambar sumber ke App Runner.
+ **Terapkan ke Amazon CloudFront dan Amazon S3**

  Tindakan ini menyebarkan aplikasi ke CloudFront dan Amazon S3.
+ **Menyebarkan dengan AWS SAM**

  Tindakan ini menerapkan aplikasi tanpa server Anda dengan AWS Serverless Application Model ().AWS SAM
+ **Membatalkan Cache Amazon CloudFront **

  Tindakan ini membatalkan CloudFront cache untuk kumpulan jalur tertentu.
+ **Webhook Keluar**

  Tindakan ini memungkinkan pengguna untuk mengirim pesan dalam alur kerja ke server web arbitrer menggunakan permintaan HTTPS.
+ **Publikasikan ke AWS CodeArtifact**

  Tindakan ini menerbitkan paket ke CodeArtifact repositori.
+ **Publikasikan ke Amazon SNS**

  Tindakan ini memungkinkan pengguna untuk berintegrasi dengan Amazon SNS dengan membuat topik, menerbitkan topik, atau berlangganan topik.
+ **Dorong ke Amazon ECR**

  Tindakan ini membangun dan menerbitkan image Docker ke repositori Amazon Elastic Container Registry (Amazon ECR).
+ **Pindai dengan Amazon CodeGuru Security**

  Tindakan ini membuat arsip zip dari jalur kode yang dikonfigurasi dan menggunakan CodeGuru Keamanan untuk menjalankan pemindaian kode.
+ **Edisi Komunitas Terraform**

  Tindakan ini menjalankan Terraform Community Edition `plan` dan `apply` operasi.

Dokumentasi untuk tindakan CodeCatalyst Labs tersedia di readme setiap tindakan.

Untuk informasi tentang menambahkan tindakan CodeCatalyst Labs ke alur kerja dan melihat readme-nya, lihat. [Menambahkan tindakan ke alur kerja](workflows-add-action.md)

### GitHub Tindakan
<a name="workflows-actions-types-github"></a>

*GitHub Tindakan* sangat mirip dengan [CodeCatalyst tindakan](#workflows-actions-types-cc), kecuali bahwa itu dikembangkan untuk digunakan dengan GitHub alur kerja. Untuk detail tentang GitHub Tindakan, lihat dokumentasi [GitHub Tindakan](https://docs.github.com/en/actions).

Anda dapat menggunakan GitHub Tindakan bersama CodeCatalyst tindakan asli dalam CodeCatalyst alur kerja.

Untuk kenyamanan Anda, CodeCatalyst konsol menyediakan akses ke beberapa GitHub Tindakan populer. Anda juga dapat menggunakan GitHub Tindakan apa pun yang tercantum di [GitHub Marketplace](https://github.com/marketplace/actions) (tunduk pada beberapa batasan).

Dokumentasi untuk GitHub Tindakan tersedia di readme setiap tindakan.

Untuk informasi selengkapnya, lihat [Integrasi dengan Tindakan GitHub](integrations-github-actions.md).

### Tindakan pihak ketiga
<a name="workflows-actions-types-3p"></a>

*Tindakan pihak ketiga* adalah tindakan yang ditulis oleh vendor pihak ketiga, dan tersedia di CodeCatalyst konsol. Contoh tindakan pihak ketiga termasuk tindakan **Mend SCA** dan **SonarCloud Scan**, masing-masing ditulis oleh Mend dan Sonar.

Dokumentasi untuk tindakan pihak ketiga tersedia di readme setiap tindakan. Dokumentasi tambahan mungkin juga disediakan oleh vendor pihak ketiga.

Untuk informasi tentang menambahkan tindakan pihak ketiga ke alur kerja dan melihat readme-nya, lihat. [Menambahkan tindakan ke alur kerja](workflows-add-action.md)

# Menambahkan tindakan ke alur kerja
<a name="workflows-add-action"></a>

Gunakan petunjuk berikut untuk menambahkan tindakan ke alur kerja dan kemudian mengkonfigurasinya.

**Untuk menambah dan mengkonfigurasi tindakan**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Di kiri atas, pilih **\$1 Tindakan**, Katalog **Tindakan** muncul.

1. Dalam daftar drop-down, lakukan salah satu hal berikut:
   + Pilih **Amazon CodeCatalyst** untuk melihat [CodeCatalyst](workflows-actions.md#workflows-actions-types-cc), [CodeCatalyst Lab](workflows-actions.md#workflows-actions-types-cc-labs), atau tindakan [pihak ketiga](workflows-actions.md#workflows-actions-types-3p).
     + CodeCatalyst tindakan memiliki AWS label **berdasarkan**.
     + CodeCatalyst Tindakan Labs memiliki label **by CodeCatalyst Labs**.
     + Tindakan pihak ketiga memiliki *vendor* label **berdasarkan**, di *vendor* mana nama vendor pihak ketiga.
   + Pilih **GitHub**untuk melihat [daftar GitHub Tindakan yang dikuratori](integrations-github-action-add-curated.md).

1. Di katalog tindakan, cari tindakan, lalu lakukan salah satu hal berikut:
   + Pilih tanda plus (**\$1**) untuk menambahkan tindakan ke alur kerja Anda.
   + Pilih nama tindakan untuk melihat readme nya.

1. Konfigurasikan tindakan. Pilih **Visual** untuk menggunakan editor visual, atau **YAMAL untuk** menggunakan editor YAMAL. Untuk petunjuk terperinci, lihat tautan berikut.

   Untuk petunjuk tentang menambahkan [CodeCatalysttindakan](workflows-actions.md#workflows-actions-types-cc), lihat:
   + [Menambahkan aksi build](build-add-action.md)
   + [Menambahkan tindakan pengujian](test-add-action.md)
   + [Menambahkan tindakan 'Terapkan ke Amazon ECS'](deploy-action-ecs-adding.md)
   + [Menambahkan aksi 'Deploy to Kubernetes cluster'](deploy-action-eks-adding.md)
   + [Menambahkan aksi 'Deploy stack' CloudFormation](deploy-action-cfn-adding.md)
   + [Menambahkan tindakan 'AWS CDK deploy'](cdk-dep-action-add.md)
   + [Menambahkan aksi 'AWS CDK bootstrap'](cdk-boot-action-add.md)
   + [Menambahkan tindakan 'Amazon S3' publish'](s3-pub-action-add.md)
   + [Menambahkan tindakan 'AWS Lambda pemanggilan'](lam-invoke-action-add.md)
   + [Menambahkan tindakan 'Render Amazon ECS task definition'](render-ecs-action-add.md)

   Untuk petunjuk tentang menambahkan [tindakan CodeCatalyst Labs](workflows-actions.md#workflows-actions-types-cc-labs), lihat:
   + Readme aksi. Anda dapat menemukan readme dengan memilih nama tindakan di katalog tindakan.

   Untuk petunjuk tentang menambahkan [GitHub Tindakan](workflows-actions.md#workflows-actions-types-github), lihat:
   + [Integrasi dengan Tindakan GitHub](integrations-github-actions.md)

   Untuk petunjuk tentang menambahkan [tindakan pihak ketiga](workflows-actions.md#workflows-actions-types-3p), lihat:
   + Readme aksi. Anda dapat menemukan readme dengan memilih nama tindakan di katalog tindakan.

1. (Opsional) Pilih **Validasi** untuk memastikan kode YAMAL valid.

1. Pilih **Komit** untuk melakukan perubahan Anda.

# Menghapus tindakan dari alur kerja
<a name="workflows-delete-action"></a>

Gunakan petunjuk berikut untuk menghapus tindakan dari alur kerja.

------
#### [ Visual ]

**Untuk menghapus tindakan menggunakan editor visual**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. **Dalam diagram alur kerja, dalam tindakan yang ingin Anda hapus, pilih ikon elipsis vertikal (![\[Ellipsis.\]](http://docs.aws.amazon.com/id_id/codecatalyst/latest/userguide/images/flows/elipsis.png)), dan pilih Hapus.**

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menghapus tindakan menggunakan editor YAMAL**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Temukan bagian YAMAL yang berisi tindakan yang ingin Anda hapus.

   Pilih bagian dan tekan tombol hapus pada keyboard Anda.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Mengembangkan tindakan khusus
<a name="workflows-custom-action"></a>

Anda dapat mengembangkan tindakan kustom untuk digunakan dalam alur kerja Anda menggunakan CodeCatalyst Action Development Kit (ADK). Anda kemudian dapat mempublikasikan tindakan ke katalog CodeCatalyst tindakan, sehingga CodeCatalyst pengguna lain dapat melihat dan menggunakannya dalam alur kerja mereka.

**Untuk mengembangkan, menguji, dan mempublikasikan tindakan (tugas tingkat tinggi)**

1. Instal alat dan paket yang diperlukan untuk mengembangkan suatu tindakan.

1. Buat CodeCatalyst repositori untuk menyimpan kode tindakan Anda.

1. Inisialisasi tindakan. Ini meletakkan file sumber yang diperlukan oleh tindakan, termasuk file definisi tindakan (`action.yml`) yang dapat Anda perbarui dengan kode Anda sendiri.

1. Bootstrap kode tindakan untuk mendapatkan alat dan pustaka yang diperlukan untuk membangun, menguji, dan merilis proyek tindakan.

1. Bangun tindakan di komputer lokal Anda, dan dorong perubahan ke CodeCatalyst repositori Anda.

1. Uji tindakan dengan pengujian unit secara lokal, dan jalankan alur kerja yang dihasilkan ADK. CodeCatalyst

1. Publikasikan tindakan ke katalog CodeCatalyst tindakan dengan memilih tombol **Publikasikan** di CodeCatalyst konsol.

Untuk langkah-langkah mendetail, lihat [Panduan Pengembang Kit Pengembangan CodeCatalyst Aksi Amazon](https://docs.aws.amazon.com/codecatalyst/latest/adk/what-is-action-development-kit.html).

# Mengelompokkan tindakan ke dalam kelompok aksi
<a name="workflows-group-actions"></a>

*Grup aksi* berisi satu atau lebih tindakan. Mengelompokkan tindakan ke dalam grup tindakan membantu Anda menjaga alur kerja tetap teratur, dan juga memungkinkan Anda mengonfigurasi dependensi di antara grup yang berbeda.

**catatan**  
Anda tidak dapat menyarangkan grup aksi dalam kelompok tindakan atau tindakan lain.

**Topics**
+ [Mendefinisikan grup aksi](#workflows-define-action-group)
+ [Contoh: Mendefinisikan dua kelompok aksi](workflows-group-actions-example.md)

## Mendefinisikan grup aksi
<a name="workflows-define-action-group"></a>

Gunakan instruksi berikut untuk menentukan grup CodeCatalyst tindakan.

------
#### [ Visual ]

*Tidak tersedia. Pilih YAMAL untuk melihat instruksi YAMAL.*

------
#### [ YAML ]

**Untuk mendefinisikan grup**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Dalam`Actions`, tambahkan kode yang mirip dengan berikut ini:

   ```
   Actions:
     action-group-name: 
       Actions:
         action-1:
           Identifier: aws/build@v1
           Configuration:
             ...
         action-2:
           Identifier: aws/build@v1
           Configuration:
             ...
   ```

   Untuk contoh lain, lihat[Contoh: Mendefinisikan dua kelompok aksi](workflows-group-actions-example.md). Untuk informasi lebih lanjut, lihat deskripsi `action-group-name` properti di [Tindakan](workflow-reference.md#actions-reference) halaman[Alur kerja definisi YAMAL](workflow-reference.md).

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Contoh: Mendefinisikan dua kelompok aksi
<a name="workflows-group-actions-example"></a>

Contoh berikut menunjukkan cara mendefinisikan dua grup CodeCatalyst tindakan Amazon: `BuildAndTest` dan`Deploy`. `BuildAndTest`Kelompok ini mencakup dua tindakan (`Build`dan`Test`), dan `Deploy` kelompok juga mencakup dua tindakan (`DeployCloudFormationStack`dan`DeployToECS`).

```
Actions:
  BuildAndTest: # Action group 1
    Actions:
      Build:
        Identifier: aws/build@v1
        Configuration:
          ...
      Test:
        Identifier: aws/managed-test@v1
        Configuration:
  Deploy: #Action group 2
    Actions:
      DeployCloudFormationStack:
        Identifier: aws/cfn-deploy@v1
        Configuration:
          ...
      DeployToECS:
        Identifier: aws/ecs-deploy@v1
        Configuration:
          ...
```

# Tindakan pengurutan
<a name="workflows-depends-on"></a>

Secara default, saat Anda menambahkan tindakan ke alur kerja, tindakan tersebut ditambahkan berdampingan di [editor visual](workflow.md#workflow.editors). Ini berarti bahwa tindakan akan berjalan secara paralel ketika Anda memulai menjalankan alur kerja. Jika Anda ingin tindakan berjalan dalam urutan berurutan (dan muncul secara vertikal di editor visual), Anda harus mengatur dependensi di antara mereka. Misalnya, Anda dapat menyiapkan `Test` tindakan agar bergantung pada `Build` tindakan sehingga tindakan pengujian berjalan setelah tindakan build.

Anda dapat mengatur dependensi antara tindakan dan grup tindakan. Anda juga dapat mengonfigurasi one-to-many dependensi sehingga satu tindakan bergantung pada beberapa tindakan lain untuk memulai. Konsultasikan pedoman [Menyiapkan dependensi antar tindakan](workflows-depends-on-set-up.md) untuk memastikan penyiapan dependensi Anda sesuai dengan sintaks YAMAL alur kerja.

**Topics**
+ [Contoh cara mengonfigurasi dependensi antar tindakan](workflows-depends-on-examples.md)
+ [Menyiapkan dependensi antar tindakan](workflows-depends-on-set-up.md)

# Contoh cara mengonfigurasi dependensi antar tindakan
<a name="workflows-depends-on-examples"></a>

Contoh berikut menunjukkan cara mengkonfigurasi dependensi antara tindakan dan grup dalam file definisi alur kerja.

**Topics**
+ [Contoh: Mengkonfigurasi ketergantungan sederhana](#workflows-depends-on-example-simple)
+ [Contoh: Mengonfigurasi grup tindakan untuk bergantung pada tindakan](#workflows-depends-on-example-action-groups-actions)
+ [Contoh: Mengkonfigurasi grup tindakan untuk bergantung pada grup tindakan lain](#workflows-depends-on-example-two-action-groups)
+ [Contoh: Mengonfigurasi grup tindakan agar bergantung pada beberapa tindakan](#workflows-depends-on-example-advanced)

## Contoh: Mengkonfigurasi ketergantungan sederhana
<a name="workflows-depends-on-example-simple"></a>

Contoh berikut menunjukkan cara mengkonfigurasi `Test` tindakan untuk bergantung pada `Build` tindakan menggunakan `DependsOn` properti.

```
Actions:
  Build:
    Identifier: aws/build@v1
    Configuration:
      ...
  Test:
    DependsOn:
      - Build
    Identifier: aws/managed-test@v1
     Configuration:
       ...
```

## Contoh: Mengonfigurasi grup tindakan untuk bergantung pada tindakan
<a name="workflows-depends-on-example-action-groups-actions"></a>

Contoh berikut menunjukkan cara mengkonfigurasi grup `DeployGroup` tindakan untuk bergantung pada `FirstAction` tindakan. Perhatikan bahwa action dan action group berada pada level yang sama.

```
Actions:
  FirstAction: #An action outside an action group
    Identifier: aws/github-actions-runner@v1
    Configuration:
      ...
  DeployGroup: #An action group containing two actions
    DependsOn: 
      - FirstAction
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

## Contoh: Mengkonfigurasi grup tindakan untuk bergantung pada grup tindakan lain
<a name="workflows-depends-on-example-two-action-groups"></a>

Contoh berikut menunjukkan cara mengkonfigurasi grup `DeployGroup` tindakan untuk bergantung pada grup `BuildAndTestGroup` tindakan. Perhatikan bahwa kelompok aksi berada pada level yang sama.

```
Actions:
  BuildAndTestGroup: # Action group 1
    Actions:
      BuildAction:
      ...
      TestAction:
      ...
  DeployGroup: #Action group 2
    DependsOn: 
      - BuildAndTestGroup
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

## Contoh: Mengonfigurasi grup tindakan agar bergantung pada beberapa tindakan
<a name="workflows-depends-on-example-advanced"></a>

Contoh berikut menunjukkan cara mengonfigurasi grup `DeployGroup` tindakan agar bergantung pada `FirstAction` tindakan, `SecondAction` tindakan, serta grup `BuildAndTestGroup` tindakan. Perhatikan bahwa `DeployGroup` berada pada tingkat yang sama dengan`FirstAction`,`SecondAction`, dan`BuildAndTestGroup`.

```
Actions:
  FirstAction: #An action outside an action group
    ...
  SecondAction: #Another action 
    ...
  BuildAndTestGroup: #Action group 1
    Actions:
      Build:
      ...
      Test:
      ...
  DeployGroup: #Action group 2
    DependsOn: 
      - FirstAction
      - SecondAction
      - BuildAndTestGroup
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

# Menyiapkan dependensi antar tindakan
<a name="workflows-depends-on-set-up"></a>

Gunakan petunjuk berikut untuk mengatur dependensi antar tindakan dalam alur kerja.

Saat mengonfigurasi dependensi, ikuti panduan ini:
+ Jika suatu tindakan berada di dalam grup, tindakan itu hanya dapat bergantung pada tindakan lain dalam grup yang sama.
+ Tindakan dan grup tindakan dapat bergantung pada tindakan dan kelompok tindakan lain *pada tingkat yang sama* dalam hierarki YAMAL, tetapi *tidak* pada tingkat yang berbeda.

------
#### [ Visual ]

**Untuk mengatur dependensi menggunakan editor visual**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. Dalam diagram alur kerja, pilih tindakan yang akan bergantung pada tindakan lain.

1. Pilih tab **Input**.

1. Dalam **Tergantung pada - opsional**, lakukan hal berikut:

   Tentukan tindakan, grup tindakan, atau gerbang yang harus berjalan dengan sukses agar tindakan ini berjalan.

   Untuk informasi selengkapnya tentang fungsionalitas 'tergantung pada', lihat. [Tindakan pengurutan](workflows-depends-on.md)

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk mengatur dependensi menggunakan editor YAMAL**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Dalam tindakan yang akan bergantung pada yang lain, tambahkan kode yang mirip dengan yang berikut ini:

   ```
   action-name:
     DependsOn:
       - action-1
   ```

   Untuk contoh lainnya, lihat [Contoh cara mengonfigurasi dependensi antar tindakan](workflows-depends-on-examples.md). Untuk pedoman umum, lihat[Menyiapkan dependensi antar tindakan](#workflows-depends-on-set-up). Untuk informasi selengkapnya, lihat deskripsi `DependsOn` properti di [Alur kerja definisi YAMAL](workflow-reference.md) for your action.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Berbagi artefak dan file antar tindakan
<a name="workflows-working-artifacts"></a>

*Artefak* adalah output dari tindakan alur kerja, dan biasanya terdiri dari folder atau arsip file. Artefak penting karena memungkinkan Anda berbagi file dan informasi antar tindakan.

Misalnya, Anda mungkin memiliki tindakan build yang *menghasilkan* `sam-template.yml` file, tetapi Anda ingin tindakan penerapan *menggunakannya*. Dalam skenario ini, Anda akan menggunakan artefak untuk memungkinkan tindakan build membagikan `sam-template.yml` file dengan tindakan penerapan. Kodenya mungkin terlihat seperti ini:

```
Actions:
  BuildAction:
    Identifier: aws/build@v1
    Steps:
      - Run: sam package --output-template-file sam-template.yml
    Outputs:
      Artifacts:
        - Name: MYARTIFACT
          Files:
            - sam-template.yml
  DeployAction:
    Identifier: aws/cfn-deploy@v1  
    Inputs:
      Artifacts:
        - MYARTIFACT
    Configuration:
      template: sam-template.yml
```

Dalam kode sebelumnya, build action (`BuildAction`) menghasilkan `sam-template.yml` file, dan kemudian menambahkannya ke artefak keluaran yang disebut`MYARTIFACT`. Tindakan penerapan berikutnya (`DeployAction`) menentukan `MYARTIFACT` sebagai input, memberikannya akses ke file. `sam-template.yml`

**Topics**
+ [Dapatkah saya membagikan artefak tanpa menentukannya sebagai output dan input?](#workflows-working-artifacts-share)
+ [Bisakah saya berbagi artefak antar alur kerja?](#workflows-working-artifacts-share-wf)
+ [Contoh artefak](workflows-working-artifacts-ex.md)
+ [Mendefinisikan artefak keluaran](workflows-working-artifacts-output.md)
+ [Mendefinisikan artefak input](workflows-working-artifacts-refer.md)
+ [Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md)
+ [Mengunduh artefak](workflows-download-workflow-outputs.md)

## Dapatkah saya membagikan artefak tanpa menentukannya sebagai output dan input?
<a name="workflows-working-artifacts-share"></a>

Ya, Anda dapat berbagi artefak antar tindakan tanpa menentukannya di `Outputs` dan `Inputs` bagian kode YAMM tindakan Anda. Untuk melakukan ini, Anda harus mengaktifkan berbagi komputasi. Untuk informasi selengkapnya tentang berbagi komputasi dan cara menentukan artefak saat dihidupkan, lihat. [Berbagi komputasi di seluruh tindakan](compute-sharing.md) 

**catatan**  
Meskipun fitur berbagi komputasi memungkinkan Anda menyederhanakan kode YAMM alur kerja Anda dengan menghilangkan kebutuhan untuk `Inputs` bagian `Outputs` dan, fitur ini memiliki batasan yang harus Anda ketahui sebelum Anda menyalakannya. Untuk informasi tentang keterbatasan ini, lihat[Pertimbangan untuk berbagi komputasi](compute-sharing.md#compare-compute-sharing).

## Bisakah saya berbagi artefak antar alur kerja?
<a name="workflows-working-artifacts-share-wf"></a>

Tidak, Anda tidak dapat berbagi artefak di antara alur kerja yang berbeda; namun, Anda dapat berbagi artefak antar tindakan dalam alur kerja yang sama.

# Contoh artefak
<a name="workflows-working-artifacts-ex"></a>

Contoh berikut menunjukkan cara mengeluarkan, memasukkan, dan mereferensikan artefak dalam file definisi CodeCatalyst alur kerja Amazon.

**Topics**
+ [Contoh: Menghasilkan artefak](#workflows-working-artifacts-ex-basic)
+ [Contoh: Memasukkan artefak yang dihasilkan oleh tindakan lain](#workflows-working-artifacts-ex-ref)
+ [Contoh: Merujuk file dalam beberapa artefak](#workflows-working-artifacts-ex-ref-file)
+ [Contoh: Mereferensikan file dalam satu artefak](#workflows-working-artifacts-ex-ref-file-one)
+ [Contoh: Mereferensikan file dalam artefak saat ada WorkflowSource](#workflows-working-artifacts-ex-ref-file-wf-source)
+ [Contoh: Mereferensikan file dalam artefak saat grup aksi hadir](#workflows-working-artifacts-ex-groups)

## Contoh: Menghasilkan artefak
<a name="workflows-working-artifacts-ex-basic"></a>

Contoh berikut menunjukkan bagaimana untuk output artefak yang mencakup dua file.jar.

```
Actions:
  Build:
    Identifier: aws/build@v1
    Outputs:
      Artifacts:
        - Name: ARTIFACT1
          Files:
            - build-output/file1.jar
            - build-output/file2.jar
```

## Contoh: Memasukkan artefak yang dihasilkan oleh tindakan lain
<a name="workflows-working-artifacts-ex-ref"></a>

Contoh berikut menunjukkan kepada Anda cara menampilkan artefak yang dipanggil `ARTIFACT4``BuildActionA`, dan memasukkannya ke dalam`BuildActionB`.

```
Actions:
  BuildActionA:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ARTIFACT4
          Files:
            - build-output/file1.jar
            - build-output/file2.jar
  BuildActionB:
    Identifier: aws/build@v1  
    Inputs:
      Artifacts:
        - ARTIFACT4
    Configuration:
```

## Contoh: Merujuk file dalam beberapa artefak
<a name="workflows-working-artifacts-ex-ref-file"></a>

Contoh berikut menunjukkan kepada Anda cara menampilkan dua artefak bernama `ART5` dan `ART6` masuk`BuildActionC`, dan kemudian referensi dua file bernama `file5.txt` (dalam artefak`ART5`) dan `file6.txt` (dalam artefak`ART6`) di `BuildActionD` (bawah). `Steps`

**catatan**  
Untuk informasi selengkapnya tentang referensi file, lihat[Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md).

**catatan**  
Meskipun contoh menunjukkan `$CATALYST_SOURCE_DIR_ART5` awalan yang digunakan, Anda bisa menghilangkannya. Ini karena `ART5` merupakan *masukan utama*. Untuk mempelajari lebih lanjut tentang input utama, lihat[Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md). 

```
Actions:
  BuildActionC:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ART5
          Files:
            - build-output/file5.txt
        - Name: ART6
          Files:
            - build-output/file6.txt
  BuildActionD:
    Identifier: aws/build@v1  
    Inputs:
      Artifacts:
        - ART5
        - ART6
    Configuration:
      Steps:
        - run: cd $CATALYST_SOURCE_DIR_ART5/build-output && cat file5.txt
        - run: cd $CATALYST_SOURCE_DIR_ART6/build-output && cat file6.txt
```

## Contoh: Mereferensikan file dalam satu artefak
<a name="workflows-working-artifacts-ex-ref-file-one"></a>

Contoh berikut menunjukkan kepada Anda cara menampilkan satu artefak bernama `ART7``BuildActionE`, dan kemudian referensi `file7.txt` (dalam artefak`ART7`) di `BuildActionF` (bawah`Steps`).

Perhatikan bagaimana referensi tidak memerlukan `$CATALYST_SOURCE_DIR_` *artifact-name* awalan di depan `build-output` direktori seperti yang terjadi di[Contoh: Merujuk file dalam beberapa artefak](#workflows-working-artifacts-ex-ref-file). Ini karena hanya ada satu item yang ditentukan di bawah`Inputs`.

**catatan**  
Untuk informasi selengkapnya tentang referensi file, lihat[Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md).

```
Actions:
  BuildActionE:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ART7
          Files:
            - build-output/file7.txt
  BuildActionF:
    Identifier: aws/build@v1  
    Inputs:
      Artifacts:
        - ART7
    Configuration:
      Steps:
        - run: cd build-output && cat file7.txt
```

## Contoh: Mereferensikan file dalam artefak saat ada WorkflowSource
<a name="workflows-working-artifacts-ex-ref-file-wf-source"></a>

Contoh berikut menunjukkan kepada Anda cara menampilkan satu artefak bernama `ART8``BuildActionG`, dan kemudian referensi `file8.txt` (dalam artefak`ART8`) di `BuildActionH` (bawah`Steps`).

Perhatikan bagaimana referensi membutuhkan `$CATALYST_SOURCE_DIR_` *artifact-name* awalan, seperti yang terjadi di[Contoh: Merujuk file dalam beberapa artefak](#workflows-working-artifacts-ex-ref-file). Ini karena ada beberapa item yang ditentukan di bawah `Inputs` (sumber dan artefak), jadi Anda memerlukan awalan untuk menunjukkan di mana harus mencari file.

**catatan**  
Untuk informasi selengkapnya tentang referensi file, lihat[Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md).

```
Actions:
  BuildActionG:
    Identifier: aws/build@v1  
    Outputs:
      Artifacts:
        - Name: ART8
          Files:
            - build-output/file8.txt
  BuildActionH:
    Identifier: aws/build@v1  
    Inputs:
      Sources:
        - WorkflowSource
      Artifacts:
        - ART8
    Configuration:
      Steps:
        - run: cd $CATALYST_SOURCE_DIR_ART8/build-output && cat file8.txt
```

## Contoh: Mereferensikan file dalam artefak saat grup aksi hadir
<a name="workflows-working-artifacts-ex-groups"></a>

Contoh berikut menunjukkan kepada Anda cara menampilkan artefak bernama `ART9``ActionGroup1`,`ActionI`, dan kemudian referensi `file9.txt` (dalam artefak`ART9`) di. `ActionJ`

Untuk informasi selengkapnya tentang referensi file, lihat[Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md).

```
Actions:
  ActionGroup1:
    Actions:
      ActionI:
        Identifier: aws/build@v1
        Outputs:
          Artifacts:
            - Name: ART9
              Files:
                - build-output/file9.yml
      ActionJ:
        Identifier: aws/cfn-deploy@v1 
        Inputs:
          Sources:
            - WorkflowSource
          Artifacts:
            - ART9
        Configuration:
          template: /artifacts/ActionGroup1@ActionJ/ART9/build-output/file9.yml
```

# Mendefinisikan artefak keluaran
<a name="workflows-working-artifacts-output"></a>

Gunakan petunjuk berikut untuk menentukan artefak yang Anda inginkan untuk menampilkan CodeCatalyst tindakan Amazon. Artefak ini kemudian tersedia untuk tindakan lain untuk digunakan.

**catatan**  
Tidak semua tindakan mendukung artefak keluaran. Untuk menentukan apakah tindakan Anda mendukungnya, jalankan melalui instruksi editor visual yang mengikuti, dan lihat apakah tindakan tersebut menyertakan tombol **artefak Output** pada tab **Output**. Jika ya, artefak keluaran didukung. 

------
#### [ Visual ]

**Untuk menentukan artefak keluaran menggunakan editor visual**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. Dalam diagram alur kerja, pilih tindakan yang akan menghasilkan artefak.

1. Pilih tab **Output**.

1. Di bawah **Artefak**, pilih **Tambahkan artefak**.

1. Pilih **Tambahkan artefak**, dan masukkan informasi ke dalam bidang, sebagai berikut.

    **Bangun nama artefak** 

   Tentukan nama artefak yang dihasilkan oleh tindakan. Nama artifak harus unik dalam alur kerja, dan terbatas pada karakter alfanumerik (a-z, A-Z, 0-9) dan garis bawah (\$1). Spasi, tanda hubung (-), dan karakter khusus lainnya tidak diperbolehkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan spasi, tanda hubung, dan karakter khusus lainnya dalam nama artefak keluaran.

   Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).

    **File yang dihasilkan oleh build** 

   Tentukan file yang CodeCatalyst termasuk dalam artefak yang dihasilkan oleh tindakan. File-file ini dihasilkan oleh tindakan alur kerja saat dijalankan, dan juga tersedia di repositori sumber Anda. Jalur file dapat berada di repositori sumber atau artefak dari tindakan sebelumnya, dan relatif terhadap repositori sumber atau root artefak. Anda dapat menggunakan pola glob untuk menentukan jalur. Contoh:
   + Untuk menentukan satu file yang ada di root lokasi build atau lokasi repositori sumber, gunakan. `my-file.jar`
   + Untuk menentukan satu file dalam subdirektori, gunakan `directory/my-file.jar` atau`directory/subdirectory/my-file.jar`.
   + Untuk menentukan semua file, gunakan`"**/*"`. Pola `**` glob menunjukkan untuk mencocokkan sejumlah subdirektori.
   + Untuk menentukan semua file dan direktori dalam direktori bernama`directory`, gunakan`"directory/**/*"`. Pola `**` glob menunjukkan untuk mencocokkan sejumlah subdirektori.
   + Untuk menentukan semua file dalam direktori bernama`directory`, tetapi tidak salah satu subdirektorinya, gunakan. `"directory/*"` 
**catatan**  
Jika jalur file Anda menyertakan satu atau beberapa tanda bintang (`*`) atau karakter khusus lainnya, lampirkan jalur dengan tanda kutip ganda (). `""` Untuk informasi lebih lanjut tentang karakter khusus, lihat[Pedoman dan konvensi sintaks](workflow-reference.md#workflow.terms.syntax.conv).

   Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).
**catatan**  
Anda mungkin perlu menambahkan awalan ke jalur file untuk menunjukkan artefak atau sumber mana yang akan menemukannya. Untuk informasi selengkapnya, lihat [Merujuk file repositori sumber](workflows-sources-reference-files.md) dan [Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md).

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMM alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menentukan artefak keluaran menggunakan editor YAMM**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Dalam tindakan alur kerja, tambahkan kode yang mirip dengan berikut ini:

   ```
   action-name:
     Outputs:
       Artifacts:
         - Name: artifact-name
           Files:
             - file-path-1
             - file-path-2
   ```

   Untuk contoh lainnya, lihat [Contoh artefak](workflows-working-artifacts-ex.md). Untuk informasi selengkapnya, lihat [Alur kerja definisi YAMAL](workflow-reference.md) untuk tindakan Anda.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMM alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Mendefinisikan artefak input
<a name="workflows-working-artifacts-refer"></a>

Jika Anda ingin menggunakan artefak yang dihasilkan oleh CodeCatalyst tindakan Amazon lain, Anda harus menentukannya sebagai input untuk tindakan saat ini. Anda mungkin dapat menentukan beberapa artefak sebagai input—itu tergantung pada tindakan. Untuk informasi selengkapnya, lihat [Alur kerja definisi YAMAL](workflow-reference.md) untuk tindakan Anda.

**catatan**  
Anda tidak dapat mereferensikan artefak dari alur kerja lain.

Gunakan petunjuk berikut untuk menentukan artefak dari tindakan lain sebagai masukan untuk tindakan saat ini.

**Prasyarat**  
Sebelum Anda mulai, pastikan Anda memiliki output artefak dari tindakan lain. Untuk informasi selengkapnya, lihat [Mendefinisikan artefak keluaran](workflows-working-artifacts-output.md). Mengeluarkan artefak membuatnya tersedia untuk tindakan lain untuk digunakan.

------
#### [ Visual ]

**Untuk menentukan artefak sebagai masukan untuk tindakan (editor visual)**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. Dalam diagram alur kerja, pilih tindakan di mana Anda ingin menentukan artefak sebagai input.

1. Pilih **Input**.

1. Dalam **Artefak - opsional**, lakukan hal berikut:

   Tentukan artefak dari tindakan sebelumnya yang ingin Anda berikan sebagai masukan untuk tindakan ini. Artefak ini harus sudah didefinisikan sebagai artefak keluaran dalam tindakan sebelumnya.

   Jika Anda tidak menentukan artefak input apa pun, maka Anda harus menentukan setidaknya satu repositori sumber di bawah. `action-name/Inputs/Sources`

   Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).
**catatan**  
Jika **Artefacts - daftar drop-down opsional** tidak tersedia (editor visual), atau jika Anda mendapatkan kesalahan saat memvalidasi YAMAL (editor YAMAL), itu mungkin karena tindakan hanya mendukung satu input. Dalam hal ini, coba hapus input sumber.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menentukan artefak sebagai masukan ke tindakan (editor YAMAL)**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Dalam tindakan di mana Anda ingin menentukan artefak sebagai input, tambahkan kode yang mirip dengan berikut ini:

   ```
   action-name:
     Inputs:
       Artifacts:
         - artifact-name
   ```

   Untuk contoh lainnya, lihat [Contoh artefak](workflows-working-artifacts-ex.md).

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Mereferensikan file dalam artefak
<a name="workflows-working-artifacts-refer-files"></a>

Jika Anda memiliki file yang berada dalam artefak, dan Anda perlu merujuk ke file ini di salah satu tindakan CodeCatalyst alur kerja Amazon Anda, selesaikan prosedur berikut.

**catatan**  
Lihat juga [Merujuk file repositori sumber](workflows-sources-reference-files.md).

------
#### [ Visual ]

*Tidak tersedia. Pilih YAMG untuk melihat instruksi YAMG.*

------
#### [ YAML ]

**Untuk mereferensikan file dalam artefak (editor YAMG)**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Dalam tindakan di mana Anda ingin mereferensikan file, tambahkan kode yang mirip dengan yang berikut ini:

   ```
   Actions:
     My-action:
       Inputs:
         Sources:
           - WorkflowSource
         Artifacts:
           - artifact-name  
       Configuration:
         template: artifact-path/path/to/file.yml
   ```

   Pada kode sebelumnya, ganti:
   + *artifact-name*dengan nama artefak.
   + *artifact-path*dengan nilai dari tabel berikut.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codecatalyst/latest/userguide/workflows-working-artifacts-refer-files.html)

   Sebagai contoh, lihat [Contoh artefak](workflows-working-artifacts-ex.md).
**catatan**  
Anda dapat menghilangkan *artifact-path* dan hanya menentukan jalur file relatif terhadap direktori root artefak jika:  
Tindakan di mana Anda menyertakan referensi hanya menyertakan satu item di bawah `Inputs` (misalnya, ini mencakup satu artefak input dan tidak ada sumber).
File yang ingin Anda referensikan berada di input utama. *Input utama* adalah`WorkflowSource`, atau artefak input pertama yang terdaftar, jika tidak `WorkflowSource` ada.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Mengunduh artefak
<a name="workflows-download-workflow-outputs"></a>

Anda dapat mengunduh dan memeriksa artefak yang dihasilkan oleh tindakan CodeCatalyst alur kerja Amazon untuk tujuan pemecahan masalah. Ada dua jenis artefak yang dapat Anda unduh:
+ **Artefak sumber** — Artefak yang berisi snapshot konten repositori sumber seperti yang ada saat proses dijalankan.
+ **Artefak alur kerja** - Artefak yang didefinisikan dalam `Outputs` properti file konfigurasi alur kerja Anda.

**Untuk mengunduh keluaran artefak berdasarkan alur kerja**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Di bawah nama alur kerja, pilih **Runs**.

1. Di **Riwayat Jalankan****, di kolom Run ID**, pilih run. Misalnya, `Run-95a4d`.

1. Di bawah nama run, pilih **Artefak**.

1. Di samping artefak, pilih **Unduh**. File arsip diunduh. Nama filenya terdiri dari tujuh karakter acak.

1. Ekstrak arsip menggunakan utilitas ekstraksi arsip pilihan Anda.

# Menentukan versi tindakan yang akan digunakan
<a name="workflows-action-versions"></a>

Secara default, saat Anda menambahkan tindakan ke alur kerja, Amazon CodeCatalyst menambahkan versi lengkap ke file definisi alur kerja menggunakan format:

 `vmajor.minor.patch` 

Contoh:

```
My-Build-Action:
  Identifier: aws/build@v1.0.0
```

Anda dapat mempersingkat versi lengkap di `Identifier` properti sehingga alur kerja selalu menggunakan versi minor atau patch terbaru dari tindakan.

Misalnya, jika Anda menentukan:

```
My-CloudFormation-Action:
  Identifier: aws/cfn-deploy@v1.0
```

... dan versi patch terbaru adalah`1.0.4`, maka tindakan akan digunakan`1.0.4`. Jika versi yang lebih baru dirilis, katakanlah`1.0.5`, maka tindakan akan digunakan`1.0.5`. Jika versi minor dirilis, katakanlah`1.1.0`, maka tindakan akan terus digunakan`1.0.5`.

Untuk petunjuk terperinci tentang menentukan versi, lihat salah satu topik berikut.

Gunakan petunjuk berikut untuk menunjukkan versi tindakan yang ingin digunakan alur kerja Anda. Anda dapat menentukan versi mayor atau minor terbaru, atau versi patch tertentu.

Sebaiknya gunakan versi minor atau patch terbaru dari suatu tindakan.

------
#### [ Visual ]

 *Tidak tersedia. Pilih YAMG untuk melihat instruksi YAMG.* 

------
#### [ YAML ]

**Untuk mengonfigurasi alur kerja agar menggunakan versi terbaru dari suatu tindakan, atau versi tambalan tertentu**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMG.**

1. Temukan tindakan yang versinya ingin Anda edit.

1. Temukan `Identifier` properti tindakan, dan atur versi ke salah satu dari berikut ini:
   + action-identifier @v *major* — Gunakan sintaks ini agar alur kerja menggunakan versi mayor tertentu, dan izinkan versi minor dan patch terbaru dipilih secara otomatis.
   + pengidentifikasi tindakan @v. *major* *minor*— Gunakan sintaks ini agar alur kerja menggunakan versi minor tertentu, dan izinkan versi patch terbaru dipilih secara otomatis.
   + pengidentifikasi tindakan @v. *major* *minor*. *patch* — Gunakan sintaks ini agar alur kerja menggunakan versi patch tertentu.
**catatan**  
Jika Anda tidak yakin versi mana yang tersedia, lihat[Daftar versi tindakan yang tersedia](workflows-action-versions-determine.md).
**catatan**  
Anda tidak dapat menghilangkan versi utama.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Daftar versi tindakan yang tersedia
<a name="workflows-action-versions-determine"></a>

Gunakan petunjuk berikut untuk menentukan versi tindakan yang tersedia untuk Anda gunakan dalam alur kerja.

------
#### [ Visual ]

**Untuk menentukan versi tindakan mana yang tersedia**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. Temukan tindakan yang versinya ingin Anda lihat:

   1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

   1. Pilih nama alur kerja apa pun, atau buat satu. Untuk informasi tentang membuat alur kerja, lihat[Membuat alur kerja](workflows-create-workflow.md).

   1. Pilih **Edit**.

   1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

   1. Di daftar drop-down, pilih **Amazon CodeCatalyst** untuk melihat CodeCatalyst, CodeCatalyst Lab, dan tindakan pihak ketiga, atau pilih **GitHub**untuk melihat Tindakan yang dikurasi GitHub.

   1. Cari tindakan, dan pilih namanya. Jangan memilih tanda plus (**\$1**).

      Detail tentang tindakan muncul.

1. Di kotak dialog detail tindakan, di dekat kanan atas, pilih daftar drop-down **Versi** untuk melihat daftar versi tindakan yang tersedia.

------
#### [ YAML ]

 *Tidak tersedia. Pilih 'visual' untuk melihat instruksi editor visual.* 

------

# Melihat kode sumber tindakan
<a name="workflows-view-source"></a>

Anda dapat melihat kode sumber tindakan untuk memastikannya tidak mengandung kode berisiko, kerentanan keamanan, atau cacat lainnya.

Gunakan petunjuk berikut untuk melihat kode sumber tindakan [CodeCatalyst](workflows-actions.md#workflows-actions-types-cc), [CodeCatalyst Lab](workflows-actions.md#workflows-actions-types-cc-labs), atau [pihak ketiga](workflows-actions.md#workflows-actions-types-3p).

**catatan**  
Untuk melihat kode sumber [GitHubAction](workflows-actions.md#workflows-actions-types-github), buka halaman tindakan di [GitHub Marketplace](https://github.com/marketplace/actions). Halaman ini menyertakan tautan ke repositori tindakan, tempat Anda dapat menemukan kode sumber tindakan.

**catatan**  
Anda tidak dapat melihat kode sumber dari CodeCatalyst tindakan berikut: [build](build-workflow-actions.md), [test](test-workflow-actions.md), [GitHub Actions](integrations-github-action-add.md).

**catatan**  
AWS tidak mendukung atau menjamin kode tindakan Tindakan atau GitHub tindakan pihak ketiga.<a name="workflows-to-view-source-cc"></a>

**Untuk melihat kode sumber tindakan**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. Temukan tindakan yang kodenya ingin Anda lihat:

   1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

   1. Pilih nama alur kerja apa pun, atau buat satu. Untuk informasi tentang membuat alur kerja, lihat[Membuat alur kerja](workflows-create-workflow.md).

   1. Pilih **Edit**.

   1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

   1. Di daftar drop-down, pilih **Amazon CodeCatalyst** untuk melihat CodeCatalyst, CodeCatalyst Labs, dan tindakan pihak ketiga.

   1. Cari tindakan, dan pilih namanya. Jangan memilih tanda plus (**\$1**).

      Detail tentang tindakan muncul.

1. Di kotak dialog detail tindakan, di dekat bagian bawah, pilih **Unduh**.

   Sebuah halaman muncul, menunjukkan bucket Amazon S3 tempat kode sumber tindakan berada. Untuk informasi tentang Amazon S3, lihat [Apa itu Amazon S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

1. Periksa kode untuk memastikannya memenuhi harapan Anda akan kualitas dan keamanan. 

# Integrasi dengan Tindakan GitHub
<a name="integrations-github-actions"></a>

*GitHub Aksi* sangat mirip dengan [CodeCatalyst tindakan](workflows-actions.md#workflows-actions-types-cc), kecuali bahwa itu dikembangkan untuk digunakan dengan GitHub alur kerja. Untuk detail tentang GitHub Tindakan, lihat dokumentasi [GitHub Tindakan](https://docs.github.com/en/actions).

Anda dapat menggunakan GitHub Tindakan bersama CodeCatalyst tindakan asli dalam CodeCatalyst alur kerja.

Ada dua cara untuk menambahkan GitHub Action ke CodeCatalyst alur kerja:
+ Anda dapat memilih GitHub Tindakan dari daftar yang dikuratori di CodeCatalyst konsol. Beberapa GitHub Tindakan populer tersedia. Untuk informasi selengkapnya, lihat [Menambahkan Action yang dikuratori GitHub](integrations-github-action-add-curated.md).
+ Jika GitHub Tindakan yang ingin Anda gunakan tidak tersedia di CodeCatalyst konsol, Anda dapat menambahkannya menggunakan **GitHub tindakan** Tindakan.

  ***GitHub Tindakan Tindakan*** adalah *CodeCatalyst tindakan* yang membungkus GitHub Action dan membuatnya kompatibel dengan CodeCatalyst alur kerja.

  Berikut adalah contoh **GitHub tindakan Actions** yang membungkus [ GitHubSuper-Linter](https://github.com/marketplace/actions/super-linter) Action:

  ```
  Actions:
    GitHubAction:
      Identifier: aws/github-actions-runner@v1
      Configuration:
        Steps:
          - name: Lint Code Base
            uses: github/super-linter@v4
            env:
              VALIDATE_ALL_CODEBASE: "true"
              DEFAULT_BRANCH: main
  ```

  Dalam kode sebelumnya, CodeCatalyst **GitHub tindakan Tindakan** (diidentifikasi oleh`aws/github-actions-runner@v1`) membungkus tindakan Super-Linter (diidentifikasi oleh`github/super-linter@v4`), membuatnya bekerja dalam alur kerja. CodeCatalyst 

  Untuk informasi selengkapnya, lihat [Menambahkan tindakan 'GitHub Tindakan'](integrations-github-action-add.md).

Semua GitHub tindakan—baik yang dikuratori maupun tidak—harus dibungkus di dalam **GitHub Actions** action (`aws/github-actions-runner@v1`), seperti yang ditunjukkan pada contoh sebelumnya. Pembungkus diperlukan agar tindakan berfungsi dengan baik. 

**Topics**
+ [Bagaimana GitHub tindakan berbeda dari CodeCatalyst tindakan?](#integrations-github-actions-how-different)
+ [Bisakah GitHub Tindakan berinteraksi dengan CodeCatalyst tindakan lain dalam alur kerja?](#integrations-github-actions-interactions.title)
+ [GitHub Tindakan apa yang bisa saya gunakan?](#integrations-github-actions-supported)
+ [Keterbatasan GitHub Tindakan di CodeCatalyst](#integrations-github-actions-limitations)
+ [Bagaimana cara menambahkan GitHub Action (langkah-langkah tingkat tinggi)?](#integrations-github-actions-how-to)
+ [Apakah GitHub Aksi berjalan GitHub?](#integrations-github-actions-where-it-runs)
+ [Bisakah saya menggunakan GitHub alur kerja juga?](#integrations-github-actions-workflows-support.title)
+ [Gambar runtime yang digunakan oleh aksi 'GitHub Actions'](#integrations-github-actions-runtime)
+ [Tutorial: Kode lint menggunakan Action GitHub](integrations-github-action-tutorial.md)
+ [Menambahkan tindakan 'GitHub Tindakan'](integrations-github-action-add.md)
+ [Menambahkan Action yang dikuratori GitHub](integrations-github-action-add-curated.md)
+ [Mengekspor parameter GitHub output](integrations-github-action-export.md)
+ [Merujuk parameter GitHub keluaran](integrations-github-action-referencing.md)
+ [GitHub Aksi 'Tindakan' YAMB](github-action-ref.md)

## Bagaimana GitHub tindakan berbeda dari CodeCatalyst tindakan?
<a name="integrations-github-actions-how-different"></a>

GitHub Tindakan yang digunakan di dalam CodeCatalyst alur kerja tidak memiliki tingkat akses dan integrasi yang sama dengan AWS dan CodeCatalyst fitur (seperti [lingkungan](deploy-environments.md) dan [masalah](issues.md)) yang dilakukan CodeCatalyst tindakan.

## Bisakah GitHub Tindakan berinteraksi dengan CodeCatalyst tindakan lain dalam alur kerja?
<a name="integrations-github-actions-interactions.title"></a>

Ya. Misalnya, GitHub Actions dapat menggunakan variabel yang dihasilkan oleh CodeCatalyst tindakan lain sebagai input, dan juga dapat berbagi parameter output dan artefak dengan CodeCatalyst tindakan. Untuk informasi selengkapnya, lihat [Mengekspor parameter GitHub output](integrations-github-action-export.md) dan [Merujuk parameter GitHub keluaran](integrations-github-action-referencing.md).

## GitHub Tindakan apa yang bisa saya gunakan?
<a name="integrations-github-actions-supported"></a>

Anda dapat menggunakan GitHub Action apa pun yang tersedia melalui CodeCatalyst konsol, dan GitHub Action apa pun yang tersedia di [GitHubMarketplace](https://github.com/marketplace/actions). Jika Anda memutuskan untuk menggunakan GitHub Action dari Marketplace, ingatlah [batasan](#integrations-github-actions-limitations) berikut.

## Keterbatasan GitHub Tindakan di CodeCatalyst
<a name="integrations-github-actions-limitations"></a>
+ GitHub Tindakan tidak dapat digunakan dengan tipe [komputasi CodeCatalyst Lambda](workflows-working-compute.md#compute.types).
+ GitHub Tindakan berjalan pada image Docker lingkungan runtime [November 2022](build-images.md#build.previous-image), yang mencakup perkakas yang lebih lama. Untuk informasi selengkapnya tentang gambar dan perkakas, lihat[Menentukan gambar lingkungan runtime](build-images.md).
+ GitHub Tindakan yang secara internal bergantung pada [`github`konteks](https://docs.github.com/en/actions/learn-github-actions/contexts#github-context) atau sumber daya GitHub spesifik referensi itu tidak akan berfungsi. CodeCatalyst Misalnya, tindakan berikut tidak akan berfungsi di CodeCatalyst:
  + Tindakan yang mencoba menambah, mengubah, atau memperbarui GitHub sumber daya. Contohnya termasuk tindakan yang memperbarui permintaan tarik, atau membuat masalah di GitHub.
  + Hampir semua tindakan yang tercantum dalam [https://github.com/actions](https://github.com/actions).
+ GitHub Tindakan yang merupakan [tindakan kontainer Docker](https://docs.github.com/en/actions/creating-actions/about-custom-actions#docker-container-actions) akan berfungsi, tetapi harus dijalankan oleh pengguna Docker default (root). Jangan menjalankan tindakan sebagai pengguna 1001. (Pada saat penulisan, pengguna 1001 bekerja di GitHub, tetapi tidak di CodeCatalyst.) Untuk informasi selengkapnya, lihat topik [USER](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions#user) di [dukungan Dockerfile untuk GitHub Tindakan](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions).

Untuk daftar GitHub Tindakan yang tersedia melalui CodeCatalyst konsol, lihat[Menambahkan Action yang dikuratori GitHub](integrations-github-action-add-curated.md).

## Bagaimana cara menambahkan GitHub Action (langkah-langkah tingkat tinggi)?
<a name="integrations-github-actions-how-to"></a>

Langkah-langkah tingkat tinggi untuk menambahkan GitHub Action ke CodeCatalyst alur kerja adalah sebagai berikut:

1. Dalam CodeCatalyst proyek Anda, Anda **membuat alur kerja**. Alur kerja adalah tempat Anda menentukan cara membuat, menguji, dan menerapkan aplikasi Anda. Untuk informasi selengkapnya, lihat [Memulai dengan alur kerja](workflows-getting-started.md).

1. Di alur kerja, Anda **menambahkan GitHub Tindakan yang dikuratori** atau **menambahkan GitHub tindakan Tindakan**.

1. Anda melakukan salah satu dari yang berikut:
   + Jika Anda memilih untuk menambahkan tindakan yang dikuratori, konfigurasikan. Untuk informasi selengkapnya, lihat [Menambahkan Action yang dikuratori GitHub](integrations-github-action-add-curated.md).
   + Jika Anda memilih untuk menambahkan tindakan yang tidak dikurasi, dalam tindakan **GitHubTindakan**, Anda **menempelkan kode YAMAL GitHub Action**. Anda dapat menemukan kode ini di halaman detail GitHub Tindakan yang Anda pilih di [GitHubMarketplace](https://github.com/marketplace/actions). Anda mungkin perlu memodifikasi kode sedikit agar berfungsi CodeCatalyst. Untuk informasi selengkapnya, lihat [Menambahkan tindakan 'GitHub Tindakan'](integrations-github-action-add.md).

1. (Opsional) Dalam alur kerja, **Anda menambahkan tindakan lain seperti tindakan** build dan test. Untuk informasi selengkapnya, lihat [Bangun, uji, dan terapkan dengan alur kerjaBangun, uji, dan terapkan dengan alur kerja](workflow.md).

1. Anda **memulai alur kerja** baik secara manual atau otomatis melalui pemicu. Alur kerja menjalankan GitHub Tindakan dan tindakan lainnya dalam alur kerja. Untuk informasi selengkapnya, lihat [Memulai proses alur kerja secara manual](workflows-manually-start.md).

Untuk langkah-langkah rinci, lihat:
+ [Menambahkan Action yang dikuratori GitHub](integrations-github-action-add-curated.md).
+ [Menambahkan tindakan 'GitHub Tindakan'](integrations-github-action-add.md).

## Apakah GitHub Aksi berjalan GitHub?
<a name="integrations-github-actions-where-it-runs"></a>

Tidak. GitHub Action berjalan di CodeCatalyst, menggunakan CodeCatalyst [image lingkungan runtime](workflows-working-compute.md).

## Bisakah saya menggunakan GitHub alur kerja juga?
<a name="integrations-github-actions-workflows-support.title"></a>

Tidak.

## Gambar runtime yang digunakan oleh aksi 'GitHub Actions'
<a name="integrations-github-actions-runtime"></a>

Aksi CodeCatalyst **GitHub Tindakan** berjalan pada [gambar November 2022](build-images.md#build.previous-image). Lihat informasi yang lebih lengkap di [Gambar aktif](build-images.md#build-curated-images).

# Tutorial: Kode lint menggunakan Action GitHub
<a name="integrations-github-action-tutorial"></a>

Dalam tutorial ini, Anda menambahkan [Super-Linter GitHub Action ke alur kerja](https://github.com/marketplace/actions/super-linter) Amazon CodeCatalyst . Tindakan Super-Linter memeriksa kode, menemukan area di mana kode memiliki kesalahan, masalah pemformatan, dan konstruksi yang mencurigakan, dan kemudian mengeluarkan hasilnya ke konsol). CodeCatalyst Setelah menambahkan linter ke alur kerja Anda, Anda menjalankan alur kerja untuk lint contoh aplikasi Node.js (). `app.js` Anda kemudian memperbaiki masalah yang dilaporkan dan menjalankan alur kerja lagi untuk melihat apakah perbaikan berhasil.

**Tip**  
[Pertimbangkan untuk menggunakan Super-Linter untuk lint file YAMAL, seperti template.CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)

**Topics**
+ [Prasyarat](#integrations-github-action-tutorial-prereqs)
+ [Langkah 1: Buat repositori sumber](#integrations-github-action-tutorial-create-source-repo)
+ [Langkah 2: Tambahkan file app.js](#integrations-github-action-tutorial-add-appjs)
+ [Langkah 3: Buat alur kerja yang menjalankan tindakan Super-Linter](#integrations-github-action-tutorial-create-workflow)
+ [Langkah 4: Perbaiki masalah yang ditemukan Super-Linter](#integrations-github-action-tutorial-fix-probs)
+ [Bersihkan](#integrations-github-action-tutorial-cleanup)

## Prasyarat
<a name="integrations-github-action-tutorial-prereqs"></a>

Sebelum Anda mulai, Anda akan membutuhkan:
+  CodeCatalyst **Ruang** dengan terhubung Akun AWS. Untuk informasi selengkapnya, lihat [Membuat ruang](spaces-create.md).
+ Proyek kosong di CodeCatalyst ruang Anda disebut`codecatalyst-linter-project`. Pilih opsi **Mulai dari awal** untuk membuat proyek ini.

  ```
  ```

  Untuk informasi selengkapnya, lihat [Membuat proyek kosong di Amazon CodeCatalyst](projects-create.md#projects-create-empty).

## Langkah 1: Buat repositori sumber
<a name="integrations-github-action-tutorial-create-source-repo"></a>

Pada langkah ini, Anda membuat repositori sumber di. CodeCatalyst Anda akan menggunakan repositori ini untuk menyimpan contoh file sumber aplikasi,`app.js`, untuk tutorial ini.

Untuk informasi selengkapnya tentang repositori sumber, lihat. [Membuat repositori sumber](source-repositories-create.md)

**Untuk membuat repositori sumber**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Arahkan ke proyek Anda,`codecatalyst-linter-project`.

1. Di panel navigasi, pilih **Kode**, lalu pilih **Repositori sumber**. 

1. Pilih **Tambahkan repositori**, lalu pilih **Buat** repositori.

1. Dalam **nama Repositori, masukkan:**

   ```
   codecatalyst-linter-source-repository
   ```

1. Pilih **Buat**.

## Langkah 2: Tambahkan file app.js
<a name="integrations-github-action-tutorial-add-appjs"></a>

Pada langkah ini, Anda menambahkan `app.js` file ke repositori sumber Anda. Kode `app.js` berisi fungsi yang memiliki beberapa kesalahan yang akan ditemukan linter.

**Untuk menambahkan file app.js**

1. Di CodeCatalyst konsol, pilih proyek Anda,`codecatalyst-linter-project`.

1. Di panel navigasi, pilih **Kode**, lalu pilih **Repositori sumber**.

1. Dari daftar repositori sumber, pilih repositori Anda,. `codecatalyst-linter-source-repository`

1. Di **File**, pilih **Buat file**.

1. Di kotak teks, masukkan kode berikut:

   ```
   // const axios = require('axios')
   // const url = 'http://checkip.amazonaws.com/';
   let response;
   /**
    *
    * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
    * @param {Object} event - API Gateway Lambda Proxy Input Format
    *
    * Context doc: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-context.html 
    * @param {Object} context
    *
    * Return doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html
    * @returns {Object} object - API Gateway Lambda Proxy Output Format
    *
    */
   exports.lambdaHandler = async (event, context) => {
     try {
       // const ret = await axios(url);
       response = {
         statusCode: 200,
         'body': JSON.stringify({
           message: 'hello world'
           // location: ret.data.trim()
         })
       }
     } catch (err) {
       console.log(err)
       return err
     }
   
       return response
   }
   ```

1. Untuk **nama File**, masukkan`app.js`. Simpan opsi default lainnya.

1. Pilih **Terapkan**.

   Anda sekarang telah membuat file bernama`app.js`.

## Langkah 3: Buat alur kerja yang menjalankan tindakan Super-Linter
<a name="integrations-github-action-tutorial-create-workflow"></a>

Pada langkah ini, Anda membuat alur kerja yang menjalankan tindakan Super-Linter saat Anda mendorong kode ke repositori sumber Anda. Alur kerja terdiri dari blok bangunan berikut, yang Anda tentukan dalam file YAMAL:
+ **Pemicu - Pemicu** ini memulai alur kerja yang dijalankan secara otomatis saat Anda mendorong perubahan ke repositori sumber Anda. Untuk informasi lebih lanjut tentang menggunakan pemicu, lihat [Memulai alur kerja berjalan secara otomatis menggunakan pemicu](workflows-add-trigger.md).
+ Tindakan **'GitHub Tindakan'** — Pada pemicu, tindakan Tindakan menjalankan **GitHub tindakan** Super-Linter, yang pada gilirannya memeriksa semua file di repositori sumber Anda. Jika linter menemukan masalah, tindakan alur kerja gagal. 

**Untuk membuat alur kerja yang menjalankan tindakan Super-Linter**

1. Di CodeCatalyst konsol, pilih proyek Anda,`codecatalyst-linter-project`.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.** 

1. Pilih **Buat alur kerja**.

1. Untuk **repositori Sumber, pilih**. `codecatalyst-linter-source-repository`

1. Untuk **Cabang**, pilih`main`.

1. Pilih **Buat**.

1. Hapus kode sampel YAMAL.

1. Tambahkan YAML berikut:

   ```
   Name: codecatalyst-linter-workflow
   SchemaVersion: "1.0"
   Triggers:
     - Type: PUSH
       Branches:
         - main
   Actions:
     SuperLinterAction:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           github-action-code
   ```

   Dalam kode sebelumnya, ganti *github-action-code* dengan kode tindakan Super-Linter, seperti yang diinstruksikan dalam langkah-langkah berikut dari prosedur ini.

1. Buka [halaman Super-Linter](https://github.com/marketplace/actions/super-linter) di Marketplace GitHub .

1. Di bawah `steps:` (huruf kecil), temukan kode dan tempelkan ke CodeCatalyst alur kerja di bawah `Steps:` (huruf besar).

   Sesuaikan kode GitHub Action agar sesuai dengan CodeCatalyst standar, seperti yang ditunjukkan pada kode berikut.

    CodeCatalyst Alur kerja Anda sekarang terlihat seperti ini:

   ```
   Name: codecatalyst-linter-workflow
   SchemaVersion: "1.0"
   Triggers:
     - Type: PUSH
       Branches:
         - main
   Actions:
     SuperLinterAction:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           - name: Lint Code Base
             uses: github/super-linter@v4
             env:
               VALIDATE_ALL_CODEBASE: "true"
               DEFAULT_BRANCH: main
   ```

1. (Opsional) Pilih **Validasi** untuk memastikan kode YAMAL valid sebelum melakukan.

1. Pilih **Komit**, masukkan **pesan Komit**, pilih `codecatalyst-linter-source-repository` **Repositori** Anda, dan pilih **Komit** lagi.

   Anda sekarang telah membuat alur kerja. Jalankan alur kerja dimulai secara otomatis karena pemicu yang ditentukan di bagian atas alur kerja.

**Untuk melihat alur kerja yang sedang berjalan**

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih alur kerja yang baru saja Anda buat:`codecatalyst-linter-workflow`.

1. Dalam diagram alur kerja, pilih **SuperLinterAction**.

1. Tunggu sampai tindakan gagal. Kegagalan ini diharapkan karena linter menemukan masalah dalam kode.

1. Biarkan CodeCatalyst konsol terbuka dan pergi ke[Langkah 4: Perbaiki masalah yang ditemukan Super-Linter](#integrations-github-action-tutorial-fix-probs).

## Langkah 4: Perbaiki masalah yang ditemukan Super-Linter
<a name="integrations-github-action-tutorial-fix-probs"></a>

Super-Linter seharusnya menemukan masalah dalam `app.js` kode, serta `README.md` file yang disertakan dalam repositori sumber Anda.

**Untuk memperbaiki masalah linter ditemukan**

1. Di CodeCatalyst konsol, pilih tab **Log**, lalu pilih **Lint Code Base**.

   Log yang dihasilkan tindakan Super-Linter ditampilkan.

1. Di log Super-Linter, gulir ke bawah ke sekitar baris 90, di mana Anda menemukan awal masalah. Mereka terlihat mirip dengan yang berikut: 

   ```
   /github/workspace/hello-world/app.js:3:13: Extra semicolon.
   /github/workspace/hello-world/app.js:9:92: Trailing spaces not allowed.
   /github/workspace/hello-world/app.js:21:7: Unnecessarily quoted property 'body' found.
   /github/workspace/hello-world/app.js:31:1: Expected indentation of 2 spaces but found 4.
   /github/workspace/hello-world/app.js:32:2: Newline required at end of file but not found.
   ```

1. Perbaiki `app.js` dan `README.md` di repositori sumber Anda dan komit perubahan Anda. 
**Tip**  
Untuk memperbaikinya`README.md`, tambahkan `markdown` ke blok kode, seperti ini:  

   ```
   ```markdown
   Setup examples:
   ...
   ```
   ```

   Perubahan Anda memulai alur kerja lain berjalan secara otomatis. Tunggu alur kerja selesai. Jika Anda memperbaiki semua masalah, alur kerja harus berhasil.

## Bersihkan
<a name="integrations-github-action-tutorial-cleanup"></a>

Bersihkan CodeCatalyst untuk menghapus jejak tutorial ini dari lingkungan Anda.

**Untuk membersihkan CodeCatalyst**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Hapus`codecatalyst-linter-source-repository`.

1. Hapus`codecatalyst-linter-workflow`.

Dalam tutorial ini, Anda belajar cara menambahkan Super-Linter GitHub Action ke CodeCatalyst alur kerja untuk lint beberapa kode.

# Menambahkan tindakan 'GitHub Tindakan'
<a name="integrations-github-action-add"></a>

***GitHub Tindakan Tindakan*** adalah *CodeCatalyst tindakan* yang membungkus GitHub Action dan membuatnya kompatibel dengan CodeCatalyst alur kerja.

Untuk informasi selengkapnya, lihat [Integrasi dengan Tindakan GitHub](integrations-github-actions.md).

Untuk menambahkan **GitHub tindakan Tindakan** ke alur kerja, ikuti langkah-langkah ini.

**Tip**  
Untuk tutorial yang menunjukkan cara menggunakan **GitHub tindakan Actions**, lihat[Tutorial: Kode lint menggunakan Action GitHub](integrations-github-action-tutorial.md).

------
#### [ Visual ]

**Untuk menambahkan tindakan 'GitHub Tindakan' menggunakan editor visual**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

1. Dari daftar drop-down, pilih **GitHub**.

1. Cari **GitHub tindakan Tindakan**, dan lakukan salah satu hal berikut:
   + Pilih tanda plus (**\$1**) untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

     Atau
   + Pilih **GitHub Tindakan**. Kotak dialog detail tindakan muncul. Pada kotak dialog ini:
     + (Opsional) Pilih **Lihat sumber** untuk [melihat kode sumber tindakan](workflows-view-source.md#workflows-view-source.title).
     + Pilih **Tambahkan ke alur kerja** untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

1. Pada tab **Input** dan **Konfigurasi**, lengkapi bidang sesuai dengan kebutuhan Anda. Untuk deskripsi setiap bidang, lihat[GitHub Aksi 'Tindakan' YAMB](github-action-ref.md). Referensi ini memberikan informasi rinci tentang setiap bidang (dan nilai properti YAMAL yang sesuai) seperti yang muncul di YAMAL dan editor visual.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menambahkan tindakan 'GitHub Actions' menggunakan editor YAMAL**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

1. Dari daftar drop-down, pilih **GitHub**.

1. Cari **GitHub tindakan Tindakan**, dan lakukan salah satu hal berikut:
   + Pilih tanda plus (**\$1**) untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

     Atau
   + Pilih **GitHub Tindakan**. Kotak dialog detail tindakan muncul. Pada kotak dialog ini:
     + (Opsional) Pilih **Lihat sumber** untuk [melihat kode sumber tindakan](workflows-view-source.md#workflows-view-source.title).
     + Pilih **Tambahkan ke alur kerja** untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

1. Ubah properti dalam kode YAMAL sesuai dengan kebutuhan Anda. Penjelasan tentang setiap properti yang tersedia disediakan di[GitHub Aksi 'Tindakan' YAMB](github-action-ref.md).

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

## Definisi GitHub tindakan 'Tindakan'
<a name="integrations-github-action-add-definition"></a>

Tindakan **GitHub Tindakan** didefinisikan sebagai sekumpulan properti YAMAL di dalam file definisi alur kerja Anda. Untuk informasi tentang properti ini, lihat [GitHub Aksi 'Tindakan' YAMB](github-action-ref.md) di[Alur kerja definisi YAMAL](workflow-reference.md).

# Menambahkan Action yang dikuratori GitHub
<a name="integrations-github-action-add-curated"></a>

* GitHub Action curated* adalah GitHub Action yang tersedia di CodeCatalyst konsol, dan berfungsi sebagai contoh cara menggunakan GitHub Action di dalam CodeCatalyst alur kerja.

 GitHub [**Tindakan yang Dikurasi dibungkus dalam tindakan Tindakan CodeCatalyst yang ditulisGitHub , diidentifikasi oleh pengenal.**](integrations-github-action-add.md) `aws/github-actions-runner@v1` Misalnya, inilah tampilan GitHub Action yang dikuratori, [TruffleHog OSS](https://github.com/marketplace/actions/trufflehog-oss),: 

```
Actions:
  TruffleHogOSS_e8:
    Identifier: aws/github-actions-runner@v1
    Inputs:
      Sources:
        - WorkflowSource # This specifies that the action requires this Workflow as a source
    Configuration:
      Steps:
        - uses: trufflesecurity/trufflehog@v3.16.0
          with:
            path: ' ' # Required; description: Repository path
            base: ' ' # Required; description: Start scanning from here (usually main branch).
            head: ' ' # Optional; description: Scan commits until here (usually dev branch).
            extra_args: ' ' # Optional; description: Extra args to be passed to the trufflehog cli.
```

Dalam kode sebelumnya, CodeCatalyst **GitHub tindakan Tindakan** (diidentifikasi oleh`aws/github-actions-runner@v1`) membungkus tindakan TruffleHog OSS (diidentifikasi oleh`trufflesecurity/trufflehog@v3.16.0`), membuatnya bekerja dalam alur kerja. CodeCatalyst 

Untuk mengonfigurasi tindakan ini, Anda akan mengganti string kosong di bawah `with:` dengan nilai Anda sendiri. Contoh:

```
Actions:
  TruffleHogOSS_e8:
    Identifier: aws/github-actions-runner@v1
    Inputs:
      Sources:
        - WorkflowSource # This specifies that the action requires this Workflow as a source
    Configuration:
      Steps:
        - uses: trufflesecurity/trufflehog@v3.16.0
          with:
            path: ./
            base: main # Required; description: Start scanning from here (usually main branch).
            head: HEAD # Optional; description: Scan commits until here (usually dev branch).
            extra_args: '‐‐debug ‐‐only-verified' # Optional; description: Extra args to be passed to the trufflehog cli.
```

Untuk menambahkan GitHub Tindakan yang dikurasi ke alur kerja, gunakan prosedur berikut. Untuk informasi umum tentang menggunakan GitHub Tindakan dalam CodeCatalyst alur kerja, lihat[Integrasi dengan Tindakan GitHub](integrations-github-actions.md).

**catatan**  
Jika Anda tidak melihat GitHub Tindakan di antara daftar tindakan yang dikurasi, Anda masih dapat menambahkannya ke alur kerja menggunakan **GitHub tindakan Tindakan**. Untuk informasi selengkapnya, lihat [Menambahkan tindakan 'GitHub Tindakan'](integrations-github-action-add.md).

------
#### [ Visual ]

**Untuk menambahkan GitHub tindakan yang dikuratori menggunakan editor visual**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

1. Dari daftar drop-down, pilih **GitHub**.

1. Jelajahi atau cari GitHub Action, dan lakukan salah satu hal berikut:
   + Pilih tanda plus (**\$1**) untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

     Atau
   + Pilih nama GitHub Action. Kotak dialog detail tindakan muncul. Pada kotak dialog ini:
     + (Opsional) Pilih **Lihat sumber** untuk [melihat kode sumber tindakan](workflows-view-source.md#workflows-view-source.title).
     + Pilih **Tambahkan ke alur kerja** untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

1. Pada tab **Input**, **Konfigurasi**, dan **Output**, lengkapi bidang sesuai dengan kebutuhan Anda. Untuk deskripsi setiap bidang, lihat[GitHub Aksi 'Tindakan' YAMB](github-action-ref.md). Referensi ini memberikan informasi rinci tentang setiap bidang (dan nilai properti YAMAL terkait) yang tersedia untuk **GitHubtindakan** Tindakan, seperti yang muncul di editor YAMAL dan visual.

   Untuk informasi tentang opsi konfigurasi yang tersedia untuk GitHub Tindakan yang dikurasi, lihat dokumentasinya.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menambahkan GitHub tindakan yang dikuratori menggunakan editor YAMAL**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Di kiri atas, pilih **\$1 Tindakan** untuk membuka katalog tindakan.

1. Dari daftar drop-down, pilih **GitHub**.

1. Jelajahi atau cari GitHub Action, dan lakukan salah satu hal berikut:
   + Pilih tanda plus (**\$1**) untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

     Atau
   + Pilih nama GitHub Action. Kotak dialog detail tindakan muncul. Pada kotak dialog ini:
     + (Opsional) Pilih **Lihat sumber** untuk [melihat kode sumber tindakan](workflows-view-source.md#workflows-view-source.title).
     + Pilih **Tambahkan ke alur kerja** untuk menambahkan tindakan ke diagram alur kerja dan buka panel konfigurasinya.

1. Ubah properti dalam kode YAMAL sesuai dengan kebutuhan Anda. Penjelasan tentang setiap properti yang tersedia untuk **GitHub tindakan** Tindakan disediakan di[GitHub Aksi 'Tindakan' YAMB](github-action-ref.md).

   Untuk informasi tentang opsi konfigurasi yang tersedia untuk GitHub Tindakan yang dikurasi, lihat dokumentasinya.

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMAL alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

# Mengekspor parameter GitHub output
<a name="integrations-github-action-export"></a>

Anda dapat menggunakan [parameter GitHub output](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter) dalam CodeCatalyst alur kerja Anda.

**catatan**  
Kata lain untuk *parameter output* adalah *variabel*. Karena GitHub menggunakan *parameter keluaran* istilah dalam dokumentasinya, kita akan menggunakan istilah ini juga.

Gunakan petunjuk berikut untuk mengekspor parameter GitHub keluaran dari GitHub Action sehingga tersedia untuk digunakan oleh tindakan CodeCatalyst alur kerja lainnya.

**Untuk mengekspor parameter GitHub output**

1. Buka alur kerja dan pilih **Edit**. Untuk informasi selengkapnya, lihat [Membuat alur kerja](workflows-create-workflow.md).

1. Dalam **GitHub tindakan** Tindakan yang menghasilkan parameter keluaran yang ingin Anda ekspor, tambahkan `Outputs` bagian dengan `Variables` properti dasar yang terlihat seperti ini:

   ```
   Actions:
     MyGitHubAction:
       Identifier: aws/github-actions-runner@v1
       Outputs:
         Variables:
           - 'step-id_output-name'
   ```

   Ganti:
   + *step-id*dengan nilai `id:` properti di `steps` bagian GitHub tindakan.
   + *output-name*dengan nama parameter GitHub output.

**Contoh**  
Contoh berikut menunjukkan cara mengekspor parameter GitHub output yang disebut`SELECTEDCOLOR`.

   ```
   Actions:
     MyGitHubAction:
       Identifier: aws/github-actions-runner@v1
       Outputs:
         Variables:
           - 'random-color-generator_SELECTEDCOLOR'
       Configuration:
         Steps:
           - name: Set selected color
             run: echo "SELECTEDCOLOR=green" >> $GITHUB_OUTPUT
             id: random-color-generator
   ```

# Merujuk parameter GitHub keluaran
<a name="integrations-github-action-referencing"></a>

Gunakan petunjuk berikut untuk mereferensikan parameter GitHub output.

**Untuk mereferensikan parameter GitHub output**

1. Selesaikan langkah-langkah dalam [Mengekspor parameter GitHub output](integrations-github-action-export.md).

   Parameter GitHub output sekarang tersedia untuk digunakan dalam tindakan lain.

1. Perhatikan `Variables` nilai parameter output. Ini termasuk garis bawah (\$1).

1. Lihat parameter output menggunakan sintaks berikut:

   ```
   ${action-name.output-name}
   ```

   Ganti:
   + *action-name*dengan nama CodeCatalyst **GitHub Action** yang menghasilkan parameter output (jangan gunakan GitHub tindakan `name` atau`id`).
   + *output-name*dengan `Variables` nilai parameter output yang Anda catat sebelumnya.

   **Contoh**

   ```
   BuildActionB:
     Identifier: aws/build@v1
     Configuration:
       Steps:
         - Run: echo ${MyGitHubAction.random-color-generator_SELECTEDCOLOR}
   ```

**Contoh dengan konteks**  
Contoh berikut menunjukkan kepada Anda bagaimana mengatur `SELECTEDCOLOR` variabel dalam`GitHubActionA`, output itu, dan kemudian merujuk ke dalam`BuildActionB`.

   ```
   Actions:
     GitHubActionA:
       Identifier: aws/github-actions-runner@v1
       Configuration:
         Steps:
           - name: Set selected color
             run: echo "SELECTEDCOLOR=green" >> $GITHUB_OUTPUT
             id: random-color-generator
       Outputs:
         Variables:
         - 'random-color-generator_SELECTEDCOLOR'
         
      BuildActionB:
       Identifier: aws/build@v1
       Configuration:
         Steps:
           - Run: echo ${GitHubActionA.random-color-generator_SELECTEDCOLOR}
   ```

# GitHub Aksi 'Tindakan' YAMB
<a name="github-action-ref"></a>

Berikut ini adalah definisi YAMB dari **GitHubtindakan Tindakan**.

Definisi tindakan ini ada sebagai bagian dalam file definisi alur kerja yang lebih luas. Untuk informasi selengkapnya tentang file ini, lihat[Alur kerja definisi YAMAL](workflow-reference.md).

Pilih properti YAMB dalam kode berikut untuk melihat deskripsi jika itu.

**catatan**  
Sebagian besar properti YAMB yang mengikuti memiliki elemen UI yang sesuai di editor visual. Untuk mencari elemen UI, gunakan **Ctrl\$1F**. Elemen akan terdaftar dengan properti YAMLnya yang terkait.

```
# The workflow definition starts here.
# See Properti tingkat atas for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.
  action-name:
    Identifier:  aws/github-actions-runner@v1
    DependsOn:
      - dependent-action-name-1
    Compute:
      Fleet: fleet-name
    Timeout: timeout-minutes
    Environment:
      Name: environment-name
      Connections:
        - Name: account-connection-name
          Role: iam-role-name
    Inputs:
      Sources:
        - source-name-1
        - source-name-2
      Artifacts:
        - artifact-name
      Variables:
        - Name: variable-name-1
          Value: variable-value-1
        - Name: variable-name-2
          Value: variable-value-2   
    Outputs:
      Artifacts:
        - Name: output-artifact-1
          Files: 
            - github-output/artifact-1.jar
            - "github-output/build*"
        - Name: output-artifact-2
          Files:
            - github-output/artifact-2.1.jar
            - github-output/artifact-2.2.jar
      Variables:
        - variable-name-1
        - variable-name-2
      AutoDiscoverReports:
        Enabled: true | false
        ReportNamePrefix: AutoDiscovered
        IncludePaths:
          - "**/*"
        ExcludePaths:
          - node_modules/cdk/junit.xml
        SuccessCriteria:
          PassRate: percent
          LineCoverage: percent
          BranchCoverage: percent
          Vulnerabilities:
            Severity: CRITICAL|HIGH|MEDIUM|LOW|INFORMATIONAL
            Number: whole-number
      Reports:
        report-name-1:
          Format: format
          IncludePaths:
            - "*.xml"
          ExcludePaths:
            - report2.xml
            - report3.xml
          SuccessCriteria:
            PassRate: percent
            LineCoverage: percent
            BranchCoverage: percent
            Vulnerabilities:
              Severity: CRITICAL|HIGH|MEDIUM|LOW|INFORMATIONAL
              Number: whole-number
    Configuration      
      Steps:
        - github-actions-code
```

## nama-tindakan
<a name="github.name"></a>

(Diperlukan)

Tentukan nama tindakan. Semua nama tindakan harus unik dalam alur kerja. Nama aksi terbatas pada karakter alfanumerik (a-z, A-Z, 0-9), tanda hubung (-), dan garis bawah (\$1). Spasi tidak diizinkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan karakter dan spasi khusus dalam nama tindakan.

UI yang sesuai: Tab konfigurasi/*action-name*

## Identifier
<a name="github.identifier"></a>

(*action-name*/**Identifier**)

Mengidentifikasi tindakan. Jangan mengubah properti ini kecuali Anda ingin mengubah versi. Untuk informasi selengkapnya, lihat [Menentukan versi tindakan yang akan digunakan](workflows-action-versions.md).

Gunakan `aws/github-actions-runner@v1` untuk **GitHubtindakan** Tindakan.

**UI yang sesuai: Diagram alur kerja// *action-name* aws/ @v1 label github-actions-runner**

## DependsOn
<a name="github.depends-on"></a>

(*action-name*/**DependsOn**)

(Opsional)

Tentukan tindakan, grup tindakan, atau gerbang yang harus berjalan dengan sukses agar tindakan ini berjalan.

Untuk informasi selengkapnya tentang fungsionalitas 'tergantung pada', lihat. [Tindakan pengurutan](workflows-depends-on.md)

UI yang sesuai: Tab **masukan/Tergantung pada** - opsional

## Compute
<a name="github.computename"></a>

(*action-name*/**Compute**)

(Opsional)

Mesin komputasi yang digunakan untuk menjalankan tindakan alur kerja Anda. Anda dapat menentukan komputasi baik di tingkat alur kerja atau di tingkat tindakan, tetapi tidak keduanya. Ketika ditentukan pada tingkat alur kerja, konfigurasi komputasi berlaku untuk semua tindakan yang ditentukan dalam alur kerja. Pada tingkat alur kerja, Anda juga dapat menjalankan beberapa tindakan pada instance yang sama. Untuk informasi selengkapnya, lihat [Berbagi komputasi di seluruh tindakan](compute-sharing.md).

UI yang sesuai: *tidak ada*

## Fleet
<a name="github.computefleet"></a>

(*action-name*/Compute/**Fleet**)

(Opsional)

Tentukan mesin atau armada yang akan menjalankan alur kerja atau tindakan alur kerja Anda. Dengan armada sesuai permintaan, ketika suatu tindakan dimulai, alur kerja menyediakan sumber daya yang dibutuhkan, dan mesin dihancurkan ketika tindakan selesai. Contoh armada sesuai permintaan:`Linux.x86-64.Large`,. `Linux.x86-64.XLarge` Untuk informasi lebih lanjut tentang armada sesuai permintaan, lihat. [Properti armada sesuai permintaan](workflows-working-compute.md#compute.on-demand)

Dengan armada yang disediakan, Anda mengonfigurasi satu set mesin khusus untuk menjalankan tindakan alur kerja Anda. Mesin-mesin ini tetap menganggur, siap untuk memproses tindakan segera. Untuk informasi lebih lanjut tentang armada yang disediakan, lihat. [Properti armada yang disediakan](workflows-working-compute.md#compute.provisioned-fleets)

Jika `Fleet` dihilangkan, defaultnya adalah. `Linux.x86-64.Large`

UI yang sesuai: Tab **konfigurasi/Armada komputasi** - opsional

## Timeout
<a name="github.timeout"></a>

(*action-name*/**Timeout**)

(Opsional)

Tentukan jumlah waktu dalam menit (editor YAMG), atau jam dan menit (editor visual), bahwa tindakan dapat berjalan sebelum CodeCatalyst mengakhiri tindakan. Minimal adalah 5 menit dan maksimum dijelaskan dalam[Kuota untuk alur kerja di CodeCatalyst](workflows-quotas.md). Batas waktu default sama dengan batas waktu maksimum.

UI yang sesuai: Tab **konfigurasi/Timeout** - opsional

## Environment
<a name="github.environment"></a>

(*action-name*/**Environment**)

(Opsional)

Tentukan CodeCatalyst lingkungan yang akan digunakan dengan tindakan. Tindakan terhubung ke Akun AWS dan VPC Amazon opsional yang ditentukan di lingkungan yang dipilih. Tindakan ini menggunakan peran IAM default yang ditentukan di lingkungan untuk terhubung ke Akun AWS, dan menggunakan peran IAM yang ditentukan dalam [koneksi VPC Amazon untuk terhubung ke VPC](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html) Amazon.

**catatan**  
Jika peran IAM default tidak memiliki izin yang diperlukan oleh tindakan, Anda dapat mengonfigurasi tindakan untuk menggunakan peran yang berbeda. Untuk informasi selengkapnya, lihat [Mengubah peran IAM dari suatu tindakan](deploy-environments-switch-role.md).

Untuk informasi lebih lanjut tentang lingkungan, lihat [Menyebarkan ke dalam Akun AWS dan VPCs](deploy-environments.md) dan[Pembuatan lingkungan](deploy-environments-creating-environment.md).

**UI yang sesuai: Tab konfigurasi/Lingkungan**

## Name
<a name="github.environment.name"></a>

(*action-name*/Environment/**Name**)

(Diperlukan [Environment](#github.environment) jika disertakan)

Tentukan nama lingkungan yang ada yang ingin Anda kaitkan dengan tindakan.

**UI yang sesuai: Tab konfigurasi/Lingkungan**

## Connections
<a name="github.environment.connections"></a>

(*action-name*/Environment/**Connections**)

(Opsional)

Tentukan koneksi akun untuk dikaitkan dengan tindakan. Anda dapat menentukan maksimum satu koneksi akun di bawah`Environment`.

Jika Anda tidak menentukan koneksi akun:
+ Tindakan menggunakan Akun AWS koneksi dan peran IAM default yang ditentukan di lingkungan di CodeCatalyst konsol. Untuk informasi tentang menambahkan koneksi akun dan peran IAM default ke lingkungan, lihat[Pembuatan lingkungan](deploy-environments-creating-environment.md).
+ Peran IAM default harus menyertakan kebijakan dan izin yang diperlukan oleh tindakan. Untuk menentukan kebijakan dan izin tersebut, lihat deskripsi properti **Peran** dalam dokumentasi definisi YAMAL tindakan.

Untuk informasi selengkapnya tentang koneksi akun, lihat[Memungkinkan akses ke AWS sumber daya yang terhubung Akun AWS](ipa-connect-account.md). Untuk informasi tentang menambahkan koneksi akun ke lingkungan, lihat[Pembuatan lingkungan](deploy-environments-creating-environment.md).

UI yang sesuai: tab/Environment/What Konfigurasi masuk*my-environment*? **/menu tiga titik/Beralih peran**

## Name
<a name="github.environment.connections.name"></a>

(*action-name*/Environment/Connections/**Name**)

(Diperlukan [Connections](#github.environment.connections) jika disertakan)

Tentukan nama koneksi akun.

UI yang sesuai: tab/Environment/What Konfigurasi masuk*my-environment*? **/menu tiga titik/Beralih peran**

## Role
<a name="github.environment.connections.role"></a>

(*action-name*/Environment/Connections/**Role**)

(Diperlukan [Connections](#github.environment.connections) jika disertakan)

Tentukan nama peran IAM yang digunakan tindakan ini untuk mengakses dan beroperasi di AWS layanan seperti Amazon S3 dan Amazon ECR. Pastikan peran ini ditambahkan ke Akun AWS koneksi Anda di ruang Anda. Untuk menambahkan peran IAM ke koneksi akun, lihat[Menambahkan peran IAM ke koneksi akun](ipa-connect-account-addroles.md).

Jika Anda tidak menentukan peran IAM, maka tindakan tersebut menggunakan peran IAM default yang tercantum di [lingkungan](deploy-environments.md) di CodeCatalyst konsol. Jika Anda menggunakan peran default di lingkungan, pastikan itu memiliki kebijakan berikut.

**catatan**  
Anda dapat menggunakan `CodeCatalystWorkflowDevelopmentRole-spaceName` peran dengan tindakan ini. Untuk informasi selengkapnya tentang peran ini, silakan lihat [Membuat **CodeCatalystWorkflowDevelopmentRole-*spaceName***peran untuk akun dan ruang Anda](ipa-iam-roles.md#ipa-iam-roles-service-create). Memahami bahwa `CodeCatalystWorkflowDevelopmentRole-spaceName` peran tersebut memiliki izin akses penuh yang dapat menimbulkan risiko keamanan. Kami menyarankan Anda hanya menggunakan peran ini dalam tutorial dan skenario di mana keamanan kurang menjadi perhatian. 

**Awas**  
Batasi izin untuk yang diperlukan oleh **GitHub tindakan Tindakan**. Menggunakan peran dengan izin yang lebih luas dapat menimbulkan risiko keamanan.

UI yang sesuai: tab/Environment/What Konfigurasi masuk*my-environment*? **/menu tiga titik/Beralih peran**

## Inputs
<a name="github.inputs"></a>

(*action-name*/**Inputs**)

(Opsional)

`Inputs`Bagian ini mendefinisikan data yang dibutuhkan tindakan selama menjalankan alur kerja.

**catatan**  
Maksimal empat input (satu sumber dan tiga artefak) diperbolehkan per **GitHub tindakan Tindakan**. Variabel tidak dihitung terhadap total ini.

Jika Anda perlu merujuk ke file yang berada di input yang berbeda (katakanlah sumber dan artefak), input sumber adalah input utama, dan artefak adalah input sekunder. Referensi ke file dalam input sekunder mengambil awalan khusus untuk menyisihkannya dari primer. Lihat perinciannya di [Contoh: Merujuk file dalam beberapa artefak](workflows-working-artifacts-ex.md#workflows-working-artifacts-ex-ref-file).

UI yang sesuai: **Tab input**

## Sources
<a name="github.inputs.sources"></a>

(*action-name*/Inputs/**Sources**)

(Opsional)

Tentukan label yang mewakili repositori sumber yang akan dibutuhkan oleh tindakan. Saat ini, satu-satunya label yang didukung adalah`WorkflowSource`, yang mewakili repositori sumber tempat file definisi alur kerja Anda disimpan.

Jika Anda menghilangkan sumber, maka Anda harus menentukan setidaknya satu artefak input di bawah. `action-name/Inputs/Artifacts`

Untuk informasi selengkapnya tentang sumber, lihat [Menghubungkan repositori sumber ke alur kerja](workflows-sources.md).

UI yang sesuai: **Tab/Sumber** Input - opsional

## Artifacts - input
<a name="github.inputs.artifacts"></a>

(*action-name*/Inputs/**Artifacts**)

(Opsional)

Tentukan artefak dari tindakan sebelumnya yang ingin Anda berikan sebagai masukan untuk tindakan ini. Artefak ini harus sudah didefinisikan sebagai artefak keluaran dalam tindakan sebelumnya.

Jika Anda tidak menentukan artefak input apa pun, maka Anda harus menentukan setidaknya satu repositori sumber di bawah. `action-name/Inputs/Sources`

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).

**catatan**  
Jika **Artefacts - daftar drop-down opsional** tidak tersedia (editor visual), atau jika Anda mendapatkan kesalahan saat memvalidasi YAMAL (editor YAMAL), itu mungkin karena tindakan hanya mendukung satu input. Dalam hal ini, coba hapus input sumber.

UI yang sesuai: Input **tab/Artefak** - opsional

## Variables - input
<a name="github.inputs.variables"></a>

(*action-name*/Inputs/**Variables**)

(Opsional)

Tentukan urutan name/value pasangan yang menentukan variabel input yang ingin Anda sediakan untuk tindakan. Nama variabel terbatas pada karakter alfanumerik (a-z, A-Z, 0-9), tanda hubung (-), dan garis bawah (\$1). Spasi tidak diizinkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan karakter dan spasi khusus dalam nama variabel.

Untuk informasi selengkapnya tentang variabel, termasuk contoh, lihat[Menggunakan variabel dalam alur kerja](workflows-working-with-variables.md).

UI yang sesuai: Input **tab/Variabel** - opsional

## Outputs
<a name="github.outputs"></a>

(*action-name*/**Outputs**)

(Opsional)

Mendefinisikan data yang dihasilkan oleh tindakan selama menjalankan alur kerja.

UI yang sesuai: **Tab keluaran**

## Artifacts - output
<a name="github.outputs.artifacts"></a>

(*action-name*/Outputs/**Artifacts**)

(Opsional)

Tentukan nama artefak yang dihasilkan oleh tindakan. Nama artifak harus unik dalam alur kerja, dan terbatas pada karakter alfanumerik (a-z, A-Z, 0-9) dan garis bawah (\$1). Spasi, tanda hubung (-), dan karakter khusus lainnya tidak diperbolehkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan spasi, tanda hubung, dan karakter khusus lainnya dalam nama artefak keluaran.

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).

**UI yang sesuai: Tab keluaran/Artefak**

## Name
<a name="github.outputs.artifacts.name"></a>

(*action-name*/Outputs/Artifacts/**Name**)

(Diperlukan [Artifacts - output](#github.outputs.artifacts) jika disertakan)

Tentukan nama artefak yang dihasilkan oleh tindakan. Nama artifak harus unik dalam alur kerja, dan terbatas pada karakter alfanumerik (a-z, A-Z, 0-9) dan garis bawah (\$1). Spasi, tanda hubung (-), dan karakter khusus lainnya tidak diperbolehkan. Anda tidak dapat menggunakan tanda kutip untuk mengaktifkan spasi, tanda hubung, dan karakter khusus lainnya dalam nama artefak keluaran.

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).

**UI yang sesuai: Menghasilkan tab/Artifacts/Add artefak/Membangun nama artefak**

## Files
<a name="github.outputs.artifacts.files"></a>

(*action-name*/Outputs/Artifacts/**Files**)

(Diperlukan [Artifacts - output](#github.outputs.artifacts) jika disertakan)

Tentukan file yang CodeCatalyst termasuk dalam artefak yang dihasilkan oleh tindakan. File-file ini dihasilkan oleh tindakan alur kerja saat dijalankan, dan juga tersedia di repositori sumber Anda. Jalur file dapat berada di repositori sumber atau artefak dari tindakan sebelumnya, dan relatif terhadap repositori sumber atau root artefak. Anda dapat menggunakan pola glob untuk menentukan jalur. Contoh:
+ Untuk menentukan satu file yang ada di root lokasi build atau lokasi repositori sumber, gunakan. `my-file.jar`
+ Untuk menentukan satu file dalam subdirektori, gunakan `directory/my-file.jar` atau`directory/subdirectory/my-file.jar`.
+ Untuk menentukan semua file, gunakan`"**/*"`. Pola `**` glob menunjukkan untuk mencocokkan sejumlah subdirektori.
+ Untuk menentukan semua file dan direktori dalam direktori bernama`directory`, gunakan`"directory/**/*"`. Pola `**` glob menunjukkan untuk mencocokkan sejumlah subdirektori.
+ Untuk menentukan semua file dalam direktori bernama`directory`, tetapi tidak salah satu subdirektorinya, gunakan. `"directory/*"` 

**catatan**  
Jika jalur file Anda menyertakan satu atau beberapa tanda bintang (`*`) atau karakter khusus lainnya, lampirkan jalur dengan tanda kutip ganda (). `""` Untuk informasi lebih lanjut tentang karakter khusus, lihat[Pedoman dan konvensi sintaks](workflow-reference.md#workflow.terms.syntax.conv).

Untuk informasi selengkapnya tentang artefak, termasuk contoh, lihat[Berbagi artefak dan file antar tindakan](workflows-working-artifacts.md).

**catatan**  
Anda mungkin perlu menambahkan awalan ke jalur file untuk menunjukkan artefak atau sumber mana yang akan menemukannya. Untuk informasi selengkapnya, lihat [Merujuk file repositori sumber](workflows-sources-reference-files.md) dan [Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md).

**UI yang sesuai: Mengeluarkan tab/Artifacts/Add artefak/File yang dihasilkan oleh build**

## Variables - output
<a name="github.outputs.variables"></a>

(*action-name*/Outputs/**Variables**)

(Opsional)

Tentukan variabel yang ingin Anda ekspor tindakan sehingga tersedia untuk digunakan oleh tindakan selanjutnya.

Untuk informasi selengkapnya tentang variabel, termasuk contoh, lihat[Menggunakan variabel dalam alur kerja](workflows-working-with-variables.md).

**UI yang sesuai: Tab keluaran/Variabel/Tambahkan variabel**

## variabel-nama-1
<a name="github.outputs.variables.name"></a>

(*action-name*/Outputs/Variables**variabel-nama-1**)

(Opsional)

Tentukan nama variabel yang ingin Anda ekspor tindakan. Variabel ini harus sudah didefinisikan dalam `Inputs` atau `Steps` bagian dari tindakan yang sama.

Untuk informasi selengkapnya tentang variabel, termasuk contoh, lihat[Menggunakan variabel dalam alur kerja](workflows-working-with-variables.md).

**UI yang sesuai: Output tab/Variables/Add variabel/Nama**

## AutoDiscoverReports
<a name="github.outputs.autodiscover"></a>

(*action-name*/Outputs/**AutoDiscoverReports**)

(Opsional)

Mendefinisikan konfigurasi untuk fitur auto-discovery.

Saat Anda mengaktifkan penemuan otomatis, semua CodeCatalyst pencarian `Inputs` diteruskan ke tindakan serta semua file yang dihasilkan oleh tindakan itu sendiri, mencari laporan pengujian, cakupan kode, dan analisis komposisi perangkat lunak (SCA). Untuk setiap laporan yang ditemukan, CodeCatalyst mengubahnya menjadi CodeCatalyst laporan. *CodeCatalyst Laporan* adalah laporan yang sepenuhnya terintegrasi ke dalam CodeCatalyst layanan dan dapat dilihat dan dimanipulasi melalui CodeCatalyst konsol.

**catatan**  
Secara default, fitur auto-discover memeriksa semua file. Anda dapat membatasi file mana yang diperiksa menggunakan [ExcludePaths](#github.reports.excludepaths) properti [IncludePaths](#github.reports.includepaths) atau. 

UI yang sesuai: *tidak ada*

## Enabled
<a name="github.outputs.autodiscover.enabled"></a>

(*action-name*/Outputs/AutoDiscoverReports/**Enabled**)

(Opsional)

Aktifkan atau nonaktifkan fitur penemuan otomatis.

Nilai-nilai yang valid adalah `true` atau `false`.

Jika `Enabled` dihilangkan, defaultnya adalah. `true`

**UI yang sesuai: Tab Keluaran/Laporan/Secara otomatis menemukan laporan**

## ReportNamePrefix
<a name="github.outputs.autodiscover.reportnameprefix"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ReportNamePrefix**)

(Diperlukan [AutoDiscoverReports](#github.outputs.autodiscover) jika disertakan dan diaktifkan)

Tentukan CodeCatalyst awalan yang ditambahkan ke semua laporan yang ditemukannya untuk memberi nama laporan terkait. CodeCatalyst Misalnya, jika Anda menentukan awalan`AutoDiscovered`, dan CodeCatalyst otomatis menemukan dua laporan pengujian, `TestSuiteOne.xml` dan`TestSuiteTwo.xml`, maka CodeCatalyst laporan terkait akan diberi nama dan. `AutoDiscoveredTestSuiteOne` `AutoDiscoveredTestSuiteTwo`

**UI yang sesuai: Output tab/Reports/Automatically menemukan laporan/awalan Laporan**

## IncludePaths
<a name="github.reports.includepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**IncludePaths**)

Atau

(*action-name*/Outputs/Reports/*report-name-1*/**IncludePaths**)

(Diperlukan jika [AutoDiscoverReports](#github.outputs.autodiscover) disertakan dan diaktifkan, atau [Reports](#github.configuration.reports) jika disertakan)

Tentukan file dan jalur file yang CodeCatalyst disertakan saat mencari laporan mentah. Misalnya, jika Anda menentukan`"/test/report/*"`, akan CodeCatalyst mencari seluruh [image build](build-images.md) yang digunakan oleh tindakan mencari `/test/report/*` direktori. Ketika menemukan direktori itu, CodeCatalyst maka cari laporan di direktori itu.

**catatan**  
Jika jalur file Anda menyertakan satu atau beberapa tanda bintang (`*`) atau karakter khusus lainnya, lampirkan jalur dengan tanda kutip ganda (). `""` Untuk informasi lebih lanjut tentang karakter khusus, lihat[Pedoman dan konvensi sintaks](workflow-reference.md#workflow.terms.syntax.conv).

Jika properti ini dihilangkan, defaultnya adalah`"**/*"`, artinya pencarian mencakup semua file di semua jalur.

**catatan**  
Untuk laporan yang dikonfigurasi secara manual, `IncludePaths` harus berupa pola glob yang cocok dengan satu file.

UI yang sesuai:
+ tab/Reports/Automatically discover reports/'Include/exclude**Jalur keluaran'/ Sertakan jalur**
+ **Output tab/Reports/Manually mengkonfigurasi laporan/ /'Sertakan jalur/kecualikan jalur'/ Sertakan jalur *report-name-1***

## ExcludePaths
<a name="github.reports.excludepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ExcludePaths**)

Atau

(*action-name*/Outputs/Reports/*report-name-1*/**ExcludePaths**)

(Opsional)

Tentukan file dan jalur file yang CodeCatalyst dikecualikan saat mencari laporan mentah. Misalnya, jika Anda menentukan`"/test/my-reports/**/*"`, tidak CodeCatalyst akan mencari file di `/test/my-reports/` direktori. Untuk mengabaikan semua file dalam direktori, gunakan pola `**/*` glob.

**catatan**  
Jika jalur file Anda menyertakan satu atau beberapa tanda bintang (`*`) atau karakter khusus lainnya, lampirkan jalur dengan tanda kutip ganda (). `""` Untuk informasi lebih lanjut tentang karakter khusus, lihat[Pedoman dan konvensi sintaks](workflow-reference.md#workflow.terms.syntax.conv).

UI yang sesuai:
+ tab/Reports/Automatically discover reports/'Include/exclude**Jalur keluaran'/ Kecualikan jalur**
+ **Output tab/Reports/Manually mengkonfigurasi laporan/ /'Sertakan/kecualikan jalur'/ Kecualikan jalur *report-name-1***

## SuccessCriteria
<a name="github.reports.successcriteria"></a>

(*action-name*/Outputs/AutoDiscoverReports/**SuccessCriteria**)

Atau

(*action-name*/Outputs/Reports/*report-name-1*/**SuccessCriteria**)

(Opsional)

Tentukan kriteria keberhasilan untuk pengujian, cakupan kode, analisis komposisi perangkat lunak (SCA), dan laporan analisis statis (SA).

Untuk informasi selengkapnya, lihat [Mengkonfigurasi kriteria keberhasilan untuk laporan](test-config-action.md#test.success-criteria).

UI yang sesuai:
+ **Output tab/Reports/Automatically menemukan laporan/Kriteria Sukses**
+ **Output tab/Reports/Manually mengkonfigurasi laporan// Kriteria keberhasilan *report-name-1***

## PassRate
<a name="github.reports.successcriteria.passrate"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**PassRate**)

Atau

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**PassRate**)

(Opsional)

Tentukan persentase pengujian dalam laporan pengujian yang harus lulus agar CodeCatalyst laporan terkait ditandai sebagai lulus. Nilai yang valid termasuk angka desimal. Misalnya: `50`, `60.5`. Kriteria tingkat kelulusan hanya diterapkan pada laporan pengujian. Untuk informasi selengkapnya tentang laporan pengujian, lihat[Laporan pengujian](test-workflow-actions.md#test-reports).

UI yang sesuai:
+ tab/Reports/Automatically discover reports/Success**Kriteria keluaran/Tingkat kelulusan**
+ **Output tab/Reports/Manually mengkonfigurasi laporan// Kriteria sukses/Tingkat *report-name-1* kelulusan**

## LineCoverage
<a name="github.reports.successcriteria.linecoverage"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**LineCoverage**)

Atau

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**LineCoverage**)

(Opsional)

Tentukan persentase baris dalam laporan cakupan kode yang harus dicakup agar CodeCatalyst laporan terkait ditandai sebagai lulus. Nilai yang valid termasuk angka desimal. Misalnya: `50`, `60.5`. Kriteria cakupan baris hanya diterapkan pada laporan cakupan kode. Untuk informasi selengkapnya tentang laporan cakupan kode, lihat[Laporan cakupan kode](test-workflow-actions.md#test-code-coverage-reports).

UI yang sesuai:
+ tab/Reports/Automatically discover reports/Success**Kriteria keluaran/Cakupan garis**
+ **Output tab/Reports/Manually mengkonfigurasi laporan// Kriteria *report-name-1* sukses/Cakupan baris**

## BranchCoverage
<a name="github.reports.successcriteria.branchcoverage"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**BranchCoverage**)

Atau

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**BranchCoverage**)

(Opsional)

Tentukan persentase cabang dalam laporan cakupan kode yang harus dicakup agar CodeCatalyst laporan terkait ditandai sebagai lulus. Nilai yang valid termasuk angka desimal. Misalnya: `50`, `60.5`. Kriteria cakupan cabang hanya diterapkan pada laporan cakupan kode. Untuk informasi selengkapnya tentang laporan cakupan kode, lihat[Laporan cakupan kode](test-workflow-actions.md#test-code-coverage-reports).

UI yang sesuai:
+ tab/Reports/Automatically discover reports/Success**Kriteria keluaran/Cakupan cabang**
+ **Output tab/Reports/Manually mengkonfigurasi laporan// Kriteria *report-name-1* sukses/Cakupan cabang**

## Vulnerabilities
<a name="github.reports.successcriteria.vulnerabilities"></a>

(*action-name*/Outputs/AutoDiscoverReports/SuccessCriteria/**Vulnerabilities**)

Atau

(*action-name*/Outputs/Reports/*report-name-1*/SuccessCriteria/**Vulnerabilities**)

(Opsional)

Tentukan jumlah maksimum dan tingkat keparahan kerentanan yang diizinkan dalam laporan SCA agar CodeCatalyst laporan terkait ditandai sebagai lulus. Untuk menentukan kerentanan, Anda harus menentukan:
+ Tingkat keparahan minimum kerentanan yang ingin Anda sertakan dalam hitungan. Nilai yang valid, dari yang paling parah hingga yang paling parah, adalah: `CRITICAL``HIGH`,`MEDIUM`,,`LOW`,`INFORMATIONAL`.

  Misalnya, jika Anda memilih`HIGH`, maka `HIGH` dan `CRITICAL` kerentanan akan dihitung.
+ Jumlah maksimum kerentanan dari tingkat keparahan yang ditentukan yang Anda inginkan memungkinkan. Melebihi angka ini menyebabkan CodeCatalyst laporan ditandai sebagai gagal. Nilai yang valid adalah bilangan bulat.

Kriteria kerentanan hanya diterapkan pada laporan SCA. Untuk informasi lebih lanjut tentang laporan SCA, lihat[Laporan analisis komposisi perangkat lunak](test-workflow-actions.md#test-sca-reports).

Untuk menentukan tingkat keparahan minimum, gunakan `Severity` properti. Untuk menentukan jumlah kerentanan maksimum, gunakan `Number` properti.

Untuk informasi lebih lanjut tentang laporan SCA, lihat[Jenis laporan kualitas](test-workflow-actions.md#test-reporting).

UI yang sesuai:
+ tab/Reports/Automatically discover reports/Success**Kriteria keluaran/Kerentanan**
+ **Output tab/Reports/Manually mengkonfigurasi laporan// Kriteria sukses/Kerentanan *report-name-1***

## Reports
<a name="github.configuration.reports"></a>

(*action-name*/Outputs/**Reports** )

(Opsional)

Bagian yang menentukan konfigurasi untuk laporan pengujian.

**UI yang sesuai: Tab keluaran/Laporan**

## laporan-nama-1
<a name="github.configuration.reports.report-name-1"></a>

(*action-name*/Outputs/Reports/**laporan-nama-1**)

(Diperlukan [Reports](#github.configuration.reports) jika disertakan)

Nama yang ingin Anda berikan ke CodeCatalyst laporan yang akan dihasilkan dari laporan mentah Anda.

**UI yang sesuai: Output tab/Reports/Manually mengkonfigurasi laporan/Nama laporan**

## Format
<a name="github.configuration.reports.name.testresults.format"></a>

(*action-name*/Outputs/Reports/*report-name-1*/**Format**)

(Diperlukan [Reports](#github.configuration.reports) jika disertakan)

Tentukan format file yang Anda gunakan untuk laporan Anda. Nilai yang mungkin adalah sebagai berikut.
+ Untuk laporan pengujian:
  + Untuk Cucumber JSON, tentukan **Cucumber** (editor visual) atau `CUCUMBERJSON` (editor YAMG).
  + Untuk JUnit XHTML, tentukan **JUnit**(editor visual) atau `JUNITXML` (editor YAMG).
  + Untuk NUnit XHTML, tentukan **NUnit**(editor visual) atau `NUNITXML` (editor YAMG).
  + Untuk NUnit 3 XHTML, tentukan **NUnit3**(editor visual) atau `NUNIT3XML` (editor YAMG).
  + Untuk Visual Studio TRX, tentukan **Visual Studio TRX** (editor visual) atau `VISUALSTUDIOTRX` (editor YAMG).
  + Untuk TestNG XHTML, tentukan **TestNG** (editor visual) atau `TESTNGXML` (editor YAMG).
+ Untuk laporan cakupan kode:
  + Untuk XHTML Clover, tentukan **Clover** (editor visual) atau `CLOVERXML` (editor YAMG).
  + Untuk Cobertura XHTML, tentukan **Cobertura** (editor visual) atau `COBERTURAXML` (editor YAMG).
  + Untuk JaCoCo XHTML, tentukan **JaCoCo**(editor visual) atau `JACOCOXML` (editor YAMG).
  + Untuk SimpleCov JSON yang dihasilkan oleh [simplecov, bukan simplecov-json](https://github.com/simplecov-ruby/simplecov)[, tentukan Simplecov](https://github.com/vicentllongo/simplecov-json) (editor visual) atau (**editor YAMAL**). `SIMPLECOV`
+ Untuk laporan analisis komposisi perangkat lunak (SCA):
  + Untuk SARIF, tentukan **SARIF** (editor visual) atau `SARIFSCA` (editor YAMB).

**UI yang sesuai: Menghasilkan tab/Reports/Manually configure reports/Add *report-name-1* laporan// **Jenis laporan dan format Laporan****

## Configuration
<a name="github.configuration"></a>

(*action-name*/**Configuration**)

(Wajib) Bagian di mana Anda dapat menentukan properti konfigurasi tindakan. 

UI yang sesuai: Tab **konfigurasi**

## Steps
<a name="github.configuration.steps"></a>

(*action-name*/Configuration/**Steps**)

(Diperlukan) 

Tentukan kode GitHub Tindakan Anda seperti yang muncul di halaman detail tindakan di [GitHub Marketplace](https://github.com/marketplace). Tambahkan kode berikut pedoman ini:

1. Tempel kode dari `steps:` bagian GitHub Action ke `Steps:` bagian CodeCatalyst alur kerja. Kode dimulai dengan tanda hubung (-) dan terlihat mirip dengan yang berikut ini.

   GitHub kode untuk ditempelkan:

   ```
   - name: Lint Code Base
     uses: github/super-linter@v4
     env:
       VALIDATE_ALL_CODEBASE: false
       DEFAULT_BRANCH: master
       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
   ```

1. Tinjau kode yang baru saja Anda tempel dan modifikasi seperlunya agar sesuai dengan standar. CodeCatalyst **Misalnya, dengan blok kode sebelumnya, Anda dapat menghapus kode di*red italics*, dan menambahkan kode dalam huruf tebal.**

   CodeCatalyst alur kerja yaml:

   ```
   Steps:      
      - name: Lint Code Base
        uses: github/super-linter@v4
        env:
          VALIDATE_ALL_CODEBASE: false
          DEFAULT_BRANCH: mastermain
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
   ```

1. Untuk kode tambahan yang disertakan dengan GitHub Action tetapi tidak ada di dalam `steps:` bagian, tambahkan ke CodeCatalyst alur kerja menggunakan kode CodeCatalyst -equivalent. Anda dapat meninjau [Alur kerja definisi YAMAL](workflow-reference.md) untuk mendapatkan wawasan tentang bagaimana Anda dapat mem-port GitHub kode Anda CodeCatalyst. Langkah-langkah migrasi terperinci berada di luar cakupan panduan ini.

Berikut adalah contoh cara menentukan jalur file dalam **GitHub tindakan** Tindakan:

```
Steps:
  - name: Lint Code Base
    uses: github/super-linter@v4
    ...
  - run: cd /sources/WorkflowSource/MyFolder/  && cat file.txt
  - run: cd /artifacts/MyGitHubAction/MyArtifact/MyFolder/  && cat file2.txt
```

Untuk informasi selengkapnya tentang menentukan jalur file, lihat [Merujuk file repositori sumber](workflows-sources-reference-files.md) dan[Mereferensikan file dalam artefak](workflows-working-artifacts-refer-files.md).

UI yang sesuai: Tab **GitHub konfigurasi/Tindakan YAMAL**