

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.

# Alur kerja definisi YAMAL
<a name="workflow-reference"></a>

Berikut ini adalah dokumentasi referensi untuk file definisi alur kerja.

*File definisi alur kerja adalah file* YAMAL yang menjelaskan alur kerja Anda. Secara default, file disimpan dalam `~/.codecatalyst/workflows/` folder di root [repositori sumber](source-repositories.md) Anda. File dapat memiliki ekstensi.yml.yaml, dan ekstensi harus huruf kecil.

Untuk membuat dan mengedit file definisi alur kerja, Anda dapat menggunakan editor seperti vim, atau Anda dapat menggunakan editor visual CodeCatalyst konsol atau editor YAMM. Untuk informasi selengkapnya, lihat [Menggunakan editor visual dan YAMAL CodeCatalyst konsol](workflow.md#workflow.editors).

**catatan**  
Sebagian besar properti YAMAL 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.

**Topics**
+ [Contoh file definisi alur kerja](#workflow.anatomy)
+ [Pedoman dan konvensi sintaks](#workflow.terms.syntax.conv)
+ [Properti tingkat atas](#workflow.top.level)

## Contoh file definisi alur kerja
<a name="workflow.anatomy"></a>

Berikut ini adalah contoh file definisi alur kerja sederhana. Ini mencakup beberapa properti tingkat atas, `Triggers` bagian, dan `Actions` bagian dengan dua tindakan: `Build` dan`Test`. Untuk informasi selengkapnya, lihat [Tentang file definisi alur kerja](workflow.md#workflow.example).

```
Name: MyWorkflow
SchemaVersion: 1.0
RunMode: QUEUED
Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  Build:
    Identifier: aws/build@v1
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:     
      Steps:
        - Run: docker build -t MyApp:latest .
  Test:
    Identifier: aws/managed-test@v1
    DependsOn: 
      - Build
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Steps:
        - Run: npm install
        - Run: npm run test
```

## Pedoman dan konvensi sintaks
<a name="workflow.terms.syntax.conv"></a>

Bagian ini menjelaskan aturan sintaks untuk file definisi alur kerja, serta konvensi penamaan yang digunakan dalam dokumentasi referensi ini.

### Pedoman sintaks YAMAL
<a name="workflow.syntax.conv"></a>

File definisi alur kerja ditulis dalam YAMG dan mengikuti [spesifikasi YAMM 1.1,](https://yaml.org/spec/) jadi apa pun yang diizinkan dalam spesifikasi itu juga diperbolehkan dalam alur kerja YAMM. Jika Anda baru mengenal YAMAL, berikut adalah beberapa panduan cepat untuk memastikan Anda menyediakan kode YAMAL yang valid.
+ **Case-sensitivity**: File definisi alur kerja peka huruf besar/kecil, jadi pastikan Anda menggunakan casing yang ditunjukkan dalam dokumentasi ini.
+ **Karakter khusus**: Sebaiknya gunakan tanda kutip atau tanda kutip ganda di sekitar nilai properti yang menyertakan salah satu karakter khusus berikut: `{` `}` `[``]`,,,`*`,`#`,`?`,`|`,`-`,,,,,,`=`,`!`,`%`,`@`,`:`, ``` `,` 

  Jika Anda tidak menyertakan tanda kutip, karakter khusus yang tercantum sebelumnya dapat ditafsirkan dengan cara yang tidak terduga.
+ **Nama properti: *Nama*** properti (sebagai lawan dari *nilai* properti) 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 atau tanda kutip ganda untuk mengaktifkan karakter dan spasi khusus dalam nama properti.

  Tidak diizinkan:

  `'My#Build@action'`

  `My#Build@action`

  `My Build Action`

  Diizinkan:

  `My-Build-Action_1`
+ **Kode Escape**: Jika nilai properti Anda menyertakan kode escape (misalnya, `\n` atau`\t`), ikuti panduan berikut:
  + Gunakan tanda kutip tunggal untuk mengembalikan kode escape sebagai string. Misalnya`'my string \n my string'`, mengembalikan string`my string \n my string`.
  + Gunakan tanda kutip ganda untuk mengurai kode escape. Misalnya,`"my string \n my new line"`, mengembalikan:

    ```
    my string
    my new line
    ```
+ **Komentar**: Kata pengantar komentar dengan`#`. 

  Contoh:

  ```
  Name: MyWorkflow
  # This is a comment.
  SchemaVersion: 1.0
  ```
+ **Triple dash (`---`)**: Jangan gunakan `---` dalam kode YAMAL Anda. CodeCatalyst mengabaikan segalanya setelah. `---`

### Konvensi penamaan
<a name="workflow.terms"></a>

Dalam panduan ini, kami menggunakan *properti* dan *bagian* istilah untuk merujuk ke item utama dalam file definisi alur kerja.
+ *Properti* adalah item apa pun yang menyertakan titik dua (`:`). Misalnya, dalam cuplikan kode berikut, semua yang berikut adalah properti:`Name`,,`SchemaVersion`, `RunMode` `Triggers``Type`, dan. `Branches`
+ *Bagian* adalah properti apa pun yang memiliki sub-properti. Dalam cuplikan kode berikut, ada satu `Triggers` bagian.
**catatan**  
Dalam panduan ini, 'bagian' kadang-kadang disebut sebagai 'properti', dan sebaliknya, tergantung pada konteksnya.

  ```
  Name: MyWorkflow
  SchemaVersion: 1.0
  RunMode: QUEUED
  Triggers:
    - Type: PUSH
      Branches:
        - main
  ```

## Properti tingkat atas
<a name="workflow.top.level"></a>

Berikut ini adalah dokumentasi referensi untuk properti tingkat atas dalam file definisi alur kerja.

```
# Name
Name: workflow-name
        
# Schema version
SchemaVersion: 1.0
        
# Run mode
RunMode: QUEUED|SUPERSEDED|PARALLEL

# Compute
Compute:  
...
            
# Triggers
Triggers:
...

# Actions
Actions:
...
```

### Name
<a name="workflow.name"></a>

(Diperlukan)

Nama alur kerja. Nama alur kerja ditampilkan dalam daftar alur kerja dan disebutkan dalam notifikasi dan log. Nama alur kerja dan nama file definisi alur kerja dapat cocok, atau Anda dapat menamainya secara berbeda. Nama alur kerja tidak harus unik. Nama alur kerja 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 alur kerja.

**UI yang sesuai: editor/Workflow properti visual/nama Alur Kerja**

### SchemaVersion
<a name="workflow.schemaversion"></a>

(Diperlukan)

Versi skema definisi alur kerja. Saat ini, satu-satunya nilai yang valid adalah`1.0`.

UI yang sesuai: *tidak ada*

### RunMode
<a name="workflow.runmode"></a>

(Opsional)

Bagaimana CodeCatalyst menangani beberapa proses. Anda dapat menggunakan salah satu nilai berikut:
+ `QUEUED`— Beberapa run diantrian dan dijalankan satu demi satu. Anda dapat memiliki hingga 50 run dalam antrian.
+ `SUPERSEDED`— Beberapa run diantrian dan dijalankan satu demi satu. Antrian hanya dapat memiliki satu run, jadi jika dua run berakhir bersama dalam antrian yang sama, run selanjutnya menggantikan (mengambil alih dari) run sebelumnya, dan run sebelumnya dibatalkan.
+ `PARALLEL`— Beberapa run terjadi secara bersamaan.

Jika properti ini dihilangkan, defaultnya adalah. `QUEUED`

Untuk informasi selengkapnya, lihat [Mengonfigurasi perilaku antrian run](workflows-configure-runs.md).

**UI yang sesuai: editor/Workflow properti visual/mode Lanjutan/Jalankan**

### Compute
<a name="compute-reference"></a>

(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).

Untuk informasi selengkapnya tentang komputasi, lihat[Mengkonfigurasi gambar komputasi dan runtime](workflows-working-compute.md).

UI yang sesuai: *tidak ada*

```
Name: MyWorkflow
SchemaVersion: 1.0
...
Compute:  
  Type: EC2 | Lambda
  Fleet: fleet-name
  SharedInstance: true | false
```

#### Type
<a name="workflow.compute.type"></a>

(Compute/**Type**)

(Diperlukan `Compute` jika diatur)

Jenis mesin komputasi. Anda dapat menggunakan salah satu nilai berikut:
+ **EC2** (editor visual) atau `EC2` (editor YAMG)

  Dioptimalkan untuk fleksibilitas selama aksi berjalan.
+ **Lambda** (editor visual) atau `Lambda` (editor YAMG)

  Kecepatan start-up aksi yang dioptimalkan.

Untuk informasi selengkapnya tentang jenis komputasi, lihat[Jenis komputasi](workflows-working-compute.md#compute.types).

**UI yang sesuai: editor/Workflow properti visual/Lanjutan/Jenis komputasi**

#### Fleet
<a name="workflow.compute.fleet"></a>

(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`

Untuk informasi selengkapnya tentang armada komputasi, lihat. [Hitung armada](workflows-working-compute.md#compute.fleets)

**UI yang sesuai: editor/Workflow properti visual/Advanced/Compute fleet**

#### SharedInstance
<a name="workflow.compute.sharedinstance"></a>

(Compute/**SharedInstance**)

(Opsional)

Tentukan kemampuan berbagi komputasi untuk tindakan Anda. Dengan berbagi komputasi, tindakan dalam alur kerja berjalan pada instance yang sama (gambar lingkungan runtime). Anda dapat menggunakan salah satu nilai berikut:
+ `TRUE`berarti bahwa citra lingkungan runtime dibagikan di antara tindakan alur kerja.
+ `FALSE`berarti bahwa image lingkungan runtime terpisah dimulai dan digunakan untuk setiap tindakan dalam alur kerja, sehingga Anda tidak dapat berbagi sumber daya seperti artefak dan variabel tanpa konfigurasi tambahan.

Untuk informasi selengkapnya tentang berbagi komputasi, lihat[Berbagi komputasi di seluruh tindakan](compute-sharing.md).

UI yang sesuai: *tidak ada*

### Triggers
<a name="triggers-reference"></a>

(Opsional)

Urutan satu atau lebih pemicu untuk alur kerja ini. Jika pemicu tidak ditentukan, maka Anda harus memulai alur kerja Anda secara manual.

Untuk informasi lebih lanjut tentang menggunakan pemicu, lihat [Memulai alur kerja berjalan secara otomatis menggunakan pemicu](workflows-add-trigger.md).

**UI yang sesuai: editor/workflow diagram visual/Pemicu**

```
Name: MyWorkflow
SchemaVersion: 1.0
...
Triggers:
  - Type: PUSH
    Branches:
      - branch-name
    FilesChanged:
      - folder1/file
      - folder2/
 
  - Type: PULLREQUEST
    Events:
      - OPEN
      - CLOSED
      - REVISION
    Branches:
      - branch-name
    FilesChanged:
      - file1.txt
      
  - Type: SCHEDULE
    # Run the workflow at 10:15 am (UTC+0) every Saturday
    Expression: "15 10 ? * 7 *"
    Branches:
      - branch-name
```

#### Type
<a name="workflow.triggers.type"></a>

(Triggers/**Type**)

(Diperlukan `Triggers` jika diatur)

Tentukan jenis pemicu. Anda dapat menggunakan salah satu nilai berikut:
+ **Dorong** (editor visual) atau `PUSH` (editor YAMG)

  Pemicu push memulai alur kerja saat perubahan didorong ke repositori sumber Anda. *Jalankan alur kerja akan menggunakan file di cabang yang Anda dorong (yaitu, cabang tujuan).*
+ **Permintaan tarik** (editor visual) atau `PULLREQUEST` (editor YAMAL)

  Pemicu permintaan tarik memulai alur kerja saat permintaan tarik dibuka, diperbarui, atau ditutup di repositori sumber Anda. Workflow run akan menggunakan file di cabang yang Anda tarik *dari* (yaitu, cabang sumber).
+ **Jadwal** (editor visual) atau `SCHEDULE` (editor YAMG)

  Pemicu jadwal memulai alur kerja berjalan pada jadwal yang ditentukan oleh ekspresi cron yang Anda tentukan. Jalankan alur kerja terpisah akan dimulai untuk setiap cabang di repositori sumber Anda menggunakan file cabang. (Untuk membatasi cabang tempat pemicu diaktifkan, gunakan bidang **Cabang** (editor visual) atau `Branches` properti (editor YAMM).)

  Saat mengonfigurasi pemicu jadwal, ikuti panduan ini:
  + Hanya gunakan satu pemicu jadwal per alur kerja.
  + Jika Anda telah menentukan beberapa alur kerja di CodeCatalyst ruang Anda, sebaiknya Anda menjadwalkan tidak lebih dari 10 alur kerja untuk memulai secara bersamaan.
  + Pastikan Anda mengonfigurasi ekspresi cron pemicu dengan waktu yang cukup di antara proses. Untuk informasi selengkapnya, lihat [Expression](#workflow.triggers.expression).

Sebagai contoh, silakan lihat [Contoh: Pemicu dalam alur kerja](workflows-add-trigger-examples.md).

**UI yang sesuai: editor/workflow diagram visual/pemicu/tipe pemicu**

#### Events
<a name="workflow.triggers.events"></a>

(Triggers/**Events**)

(Diperlukan jika pemicu `Type` diatur ke`PULLREQUEST`)

Tentukan jenis peristiwa permintaan tarik yang akan memulai alur kerja. Berikut ini adalah nilai yang valid:
+ **Permintaan tarik dibuat** (editor visual) atau `OPEN` (editor YAMAL)

  Proses alur kerja dimulai saat permintaan tarik dibuat.
+ **Permintaan tarik ditutup** (editor visual) atau `CLOSED` (editor YAMAL)

  Proses alur kerja dimulai saat permintaan tarik ditutup. Perilaku `CLOSED` acara itu rumit, dan paling baik dipahami melalui sebuah contoh. Untuk informasi selengkapnya, lihat [Contoh: Pemicu dengan tarikan, cabang, dan acara 'CLOSED'](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-pull-close).
+ **Revisi baru dibuat untuk menarik permintaan** (editor visual) atau `REVISION` (editor YAMAL)

  Alur kerja dijalankan ketika revisi ke permintaan tarik dibuat. Revisi pertama dibuat saat permintaan tarik dibuat. Setelah itu, revisi baru dibuat setiap kali seseorang mendorong komit baru ke cabang sumber yang ditentukan dalam permintaan tarik. Jika Anda menyertakan `REVISION` peristiwa dalam pemicu permintaan tarik Anda, Anda dapat menghilangkan `OPEN` acara tersebut, karena `REVISION` merupakan superset dari. `OPEN`

Anda dapat menentukan beberapa peristiwa dalam pemicu permintaan tarik yang sama.

Sebagai contoh, lihat [Contoh: Pemicu dalam alur kerja](workflows-add-trigger-examples.md).

**UI yang sesuai: editor/workflow diagram visual/pemicu/Acara untuk permintaan tarik**

#### Branches
<a name="workflow.triggers.branches"></a>

(Triggers/**Branches**)

(Opsional)

Tentukan cabang di repositori sumber Anda yang dipantau pemicu untuk mengetahui kapan harus memulai alur kerja. Anda dapat menggunakan pola regex untuk menentukan nama cabang Anda. Misalnya, gunakan `main.*` untuk mencocokkan semua cabang yang dimulai dengan`main`.

Cabang yang akan ditentukan berbeda tergantung pada jenis pemicu:
+ *Untuk pemicu dorong, tentukan cabang yang Anda dorong, yaitu cabang *tujuan*.* Satu alur kerja akan dimulai per cabang yang cocok, menggunakan file di cabang yang cocok.

  Contoh:`main.*`, `mainline`
+ *Untuk pemicu permintaan tarik, tentukan cabang yang Anda dorong, yaitu cabang *tujuan*.* Satu alur kerja akan dimulai per cabang yang cocok, menggunakan file definisi alur kerja dan file sumber di cabang **sumber** (*bukan* cabang yang cocok).

  Contoh:`main.*`,`mainline`, `v1\-.*` (cocok dengan cabang yang dimulai dengan`v1-`)
+ Untuk pemicu jadwal, tentukan cabang yang berisi file yang ingin Anda jalankan terjadwal untuk digunakan. Satu alur kerja akan dimulai per cabang yang cocok, menggunakan file definisi alur kerja dan file sumber di cabang yang cocok.

  Contoh:`main.*`, `version\-1\.0`

**catatan**  
Jika Anda *tidak* menentukan cabang, pemicu memantau semua cabang di repositori sumber Anda, dan akan memulai alur kerja menggunakan file definisi alur kerja dan file sumber di:  
Cabang yang Anda dorong (*untuk* pemicu push). Untuk informasi selengkapnya, lihat [Contoh: Pemicu push kode sederhana](workflows-add-trigger-examples.md#workflows-add-trigger-examples-push-simple).
*Cabang yang Anda tarik (untuk pemicu permintaan tarik).* Untuk informasi selengkapnya, lihat [Contoh: Pemicu permintaan tarik sederhana](workflows-add-trigger-examples.md#workflows-add-trigger-examples-pull-simple).
Semua cabang (untuk pemicu jadwal). Satu alur kerja akan dimulai per cabang di repositori sumber Anda. Untuk informasi selengkapnya, lihat [Contoh: Pemicu jadwal sederhana](workflows-add-trigger-examples.md#workflows-add-trigger-examples-schedule-simple).

Untuk informasi lebih lanjut tentang cabang dan pemicu, lihat[Pedoman penggunaan untuk pemicu dan cabang](workflows-add-trigger-considerations.md).

Untuk contoh lainnya, lihat [Contoh: Pemicu dalam alur kerja](workflows-add-trigger-examples.md).

UI yang sesuai: editor/workflow diagram/Triggers **visual/Cabang**

#### FilesChanged
<a name="workflow.triggers.files-changed"></a>

(Triggers/**FilesChanged**)

(Opsional jika pemicu `Type` diatur ke`PUSH`, atau`PULLREQUEST`. Tidak didukung jika pemicu `Type` disetel ke`SCHEDULE`.)

Tentukan file atau folder di repositori sumber Anda yang dipantau pemicu untuk mengetahui kapan harus memulai alur kerja. Anda dapat menggunakan ekspresi reguler untuk mencocokkan nama file atau jalur.

Sebagai contoh, lihat [Contoh: Pemicu dalam alur kerja](workflows-add-trigger-examples.md).

**UI yang sesuai: editor/workflow diagram visual/pemicu/File diubah**

#### Expression
<a name="workflow.triggers.expression"></a>

(Triggers/**Expression**)

(Diperlukan jika pemicu `Type` diatur ke`SCHEDULE`)

Tentukan ekspresi cron yang menjelaskan kapan Anda ingin alur kerja terjadwal Anda berjalan terjadi.

Ekspresi cron CodeCatalyst menggunakan sintaks enam bidang berikut, di mana setiap bidang dipisahkan oleh spasi:

*minutes* *hours* *days-of-month* *month* *days-of-week* *year*

**Contoh ekspresi cron**


| Menit | Jam | Hari dalam sebulan | Bulan | Hari dalam seminggu | Tahun | Arti | 
| --- | --- | --- | --- | --- | --- | --- | 
|  0  |  0  |  ?  |  \$1  |  MON-FRI  |  \$1  |  Menjalankan alur kerja pada tengah malam (UTC\$10) setiap Senin sampai Jumat.  | 
|  0  |  2  |  \$1  |  \$1  |  ?  |  \$1  |  Menjalankan alur kerja pada pukul 2:00 pagi (UTC\$10) setiap hari.  | 
|  15  |  22  |  \$1  |  \$1  |  ?  |  \$1  |  Menjalankan alur kerja pada pukul 10:15 malam (UTC\$10) setiap hari.  | 
|  0/30  |  22-2  |  ?  |  \$1  |  SAT-MATAHARI  |  \$1  |  Menjalankan alur kerja setiap 30 menit Sabtu hingga Minggu antara pukul 10:00 malam pada hari mulai dan 2:00 pagi pada hari berikutnya (UTC\$10).  | 
|  45  |  13  |  L  |  \$1  |  ?  |  2023-2027  |  Menjalankan alur kerja pada pukul 1:45 siang (UTC\$10) pada hari terakhir bulan antara tahun 2023 dan 2027 inklusif.  | 

Saat menentukan ekspresi cron di CodeCatalyst, pastikan Anda mengikuti panduan ini:
+ Tentukan ekspresi cron tunggal per `SCHEDULE` pemicu.
+ Lampirkan ekspresi cron dalam tanda kutip ganda (`"`) di editor YAMAL.
+ Tentukan waktu di Coordinated Universal Time (UTC). Zona waktu lain tidak didukung.
+ Konfigurasikan setidaknya 30 menit di antara proses. Irama yang lebih cepat tidak didukung.
+ Tentukan *days-of-week* bidang *days-of-month* atau, tetapi tidak keduanya. Jika Anda menentukan nilai atau tanda bintang (`*`) di salah satu bidang, Anda harus menggunakan tanda tanya (`?`) di bidang lainnya. Tanda bintang berarti 'semua' dan tanda tanya berarti 'apa saja'.

 Untuk lebih banyak contoh ekspresi cron dan informasi tentang wildcard seperti`?`,`*`, dan`L`, lihat [referensi ekspresi Cron di Panduan](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html) Pengguna *Amazon EventBridge *. Ekspresi cron masuk EventBridge dan CodeCatalyst bekerja dengan cara yang persis sama.

Untuk contoh pemicu jadwal, lihat[Contoh: Pemicu dalam alur kerja](workflows-add-trigger-examples.md).

UI yang sesuai: editor/workflow diagram/Triggers **visual/Jadwal**

### Tindakan
<a name="actions-reference"></a>

Urutan satu atau lebih tindakan untuk alur kerja ini. CodeCatalyst mendukung beberapa jenis tindakan, seperti membangun dan menguji tindakan, yang menawarkan berbagai jenis fungsionalitas. Setiap jenis tindakan memiliki:
+ `Identifier`properti yang menunjukkan ID unik dan hard-code tindakan. Misalnya, `aws/build@v1` mengidentifikasi tindakan build.
+ `Configuration`bagian yang berisi properti yang spesifik untuk tindakan.

Untuk informasi selengkapnya tentang setiap jenis tindakan, lihat[Jenis tindakan](workflows-actions.md#workflows-actions-types). [Jenis tindakan](workflows-actions.md#workflows-actions-types)Topik memiliki tautan ke dokumentasi untuk setiap tindakan.

Berikut ini adalah referensi YAMAL untuk tindakan dan kelompok tindakan dalam file definisi alur kerja.

```
Name: MyWorkflow
SchemaVersion: 1.0
...
Actions:
  action-or-gate-name:
    Identifier: identifier
    Configuration:
    ...
  #Action groups
  action-group-name:
    Actions:
      ...
```

#### action-or-gate-name
<a name="workflow.actions.name"></a>

(Actions/*action-or-gate-name*)

(Diperlukan)

Ganti *action-name* dengan nama yang ingin Anda berikan tindakan. Nama tindakan harus unik dalam alur kerja, dan hanya boleh menyertakan karakter alfanumerik, tanda hubung, dan garis bawah. Untuk informasi selengkapnya tentang aturan sintaks, lihat[Pedoman sintaks YAMAL](#workflow.syntax.conv).

Untuk informasi selengkapnya tentang praktik penamaan untuk tindakan, termasuk pembatasan, lihat[action-or-gate-name](#workflow.actions.name). 

**UI yang sesuai: editor *action-name* visual//tab Konfigurasi/Nama tindakan atau **nama tampilan Tindakan****

#### action-group-name
<a name="workflow.action-groups"></a>

(Actions/*action-group-name*)

(Opsional)

*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.

Ganti *action-group-name* dengan nama yang ingin Anda berikan pada grup aksi. Nama grup tindakan harus unik dalam alur kerja, dan hanya boleh menyertakan karakter alfanumerik, tanda hubung, dan garis bawah. Untuk informasi selengkapnya tentang aturan sintaks, lihat[Pedoman sintaks YAMAL](#workflow.syntax.conv).

Untuk informasi selengkapnya tentang grup aksi, lihat[Mengelompokkan tindakan ke dalam kelompok aksi](workflows-group-actions.md).

UI yang sesuai: *tidak ada*