88 lines
3.0 KiB
Markdown
88 lines
3.0 KiB
Markdown
# Prompt Standar Pembuatan Pull Request
|
|
|
|
Gunakan prompt berikut saat meminta AI untuk membuat PR. Isi bagian dalam kurung `[ ]` sesuai konteks.
|
|
|
|
---
|
|
|
|
## Prompt
|
|
|
|
```
|
|
Buatkan PR dari branch [HEAD_BRANCH] ke [BASE_BRANCH] dengan detail berikut:
|
|
|
|
**Kode Task:** [TASKCODE]
|
|
|
|
**Latar Belakang Masalah:**
|
|
[Jelaskan root cause masalah atau kebutuhan bisnis.
|
|
Contoh: "Fungsi post_transaction_daily tidak memfilter T_TestIsPrice sehingga
|
|
pemeriksaan non-price ikut terkirim ke AIS dan menyebabkan transaksi ditolak."]
|
|
|
|
**Perubahan yang Dilakukan:**
|
|
- [Perubahan 1, spesifik per fungsi/komponen]
|
|
- [Perubahan 2]
|
|
- [dst...]
|
|
|
|
**File yang Terkait:**
|
|
- `path/to/file1` — [deskripsi singkat perubahan]
|
|
- `path/to/file2` — [deskripsi singkat perubahan]
|
|
|
|
**Skenario Test untuk QA:**
|
|
- Normal: [flow utama yang harus berjalan]
|
|
- Edge case: [kondisi batas yang harus ditangani]
|
|
- Negatif: [kondisi yang harus ditolak/error]
|
|
- Regression: [fitur lain yang harus dipastikan tidak rusak]
|
|
```
|
|
|
|
---
|
|
|
|
## Contoh Hasil PR yang Diharapkan
|
|
|
|
### Title
|
|
`FHM290626CPONE01 - fix filter T_TestIsPrice pada post_transaction`
|
|
|
|
### Body
|
|
|
|
```markdown
|
|
## Latar Belakang Masalah
|
|
|
|
Fungsi `post_layanan_all` di `Masterdata.php` hanya mendaftarkan layanan dengan
|
|
`T_TestIsPrice = 'Y'` ke master layanan AIS. Namun fungsi `post_transaction_*`
|
|
tidak memfilter hal yang sama — semua pemeriksaan dengan `T_TestIsActive = 'Y'`
|
|
ikut terkirim sebagai transaksi, termasuk yang `T_TestIsPrice = 'N'`.
|
|
Akibatnya AIS menolak transaksi karena `LayananID` tidak terdaftar di master layanan.
|
|
|
|
## Perubahan
|
|
|
|
- Menambahkan kondisi `AND T_TestIsPrice = 'Y'` pada semua JOIN ke tabel `t_test`
|
|
di fungsi `post_transaction_daily_by_date`, `post_transaction_daily`,
|
|
dan `post_transaction_by_labnumber`.
|
|
|
|
## File yang Diubah
|
|
|
|
| File | Fungsi/Bagian | Keterangan |
|
|
|---|---|---|
|
|
| `path/to/Component.vue` | `post_transaction_*` | 21 titik JOIN diupdate |
|
|
| `application/controllers/ais/Transactionv3.php` | `post_transaction_*` | 21 titik JOIN diupdate |
|
|
| `application/controllers/ais/Transactionv4.php` | `post_transaction_*` | 21 titik JOIN diupdate |
|
|
| `application/controllers/ais/Transactionv5.php` | `post_transaction_*` | 21 titik JOIN diupdate |
|
|
|
|
## Test yang Harus Dilakukan QA
|
|
|
|
- [ ] **Normal:** Kirim transaksi dengan pemeriksaan yang `T_TestIsPrice = 'Y'` —
|
|
harus berhasil masuk ke AIS tanpa error.
|
|
- [ ] **Edge case:** Order yang mengandung campuran pemeriksaan `IsPrice = 'Y'`
|
|
dan `IsPrice = 'N'` — hanya yang `'Y'` yang terkirim ke AIS.
|
|
- [ ] **Negatif:** Kirim transaksi yang seluruh pemeriksaannya `T_TestIsPrice = 'N'`
|
|
— tidak boleh ada layanan yang terkirim ke AIS.
|
|
- [ ] **Regression:** Pastikan total tagihan, RegpasNominal, dan TrxBayar
|
|
tetap terhitung dengan benar setelah filter diterapkan.
|
|
```
|
|
|
|
---
|
|
|
|
## Catatan
|
|
|
|
- Selalu gunakan kode task dari user sebelum membuat PR.
|
|
- Token Gitea tersimpan di `.env` dengan key `GITEA_TOKEN`.
|
|
- Base URL Gitea: `https://devone.aplikasi.web.id/gitea`
|
|
- Repo: `fajri/BE_CPONE` (BE) atau sesuai repo aktif.
|