Integrasikan Jira dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan Jira dengan Google Security Operations.
Kasus penggunaan
Integrasi Jira menggunakan kemampuan Google SecOps untuk mendukung kasus penggunaan berikut:
Pembuatan tiket otomatis: Secara otomatis membuat isu Jira dari peringatan Google SecOps menggunakan Konektor Jira untuk menyederhanakan proses serah terima antara tim keamanan dan TI.
Sinkronisasi dua arah Pertahankan konsistensi di seluruh platform dengan secara otomatis menyinkronkan komentar dan perubahan status antara tiket Jira dan kasus Google SecOps menggunakan tugas sinkronisasi khusus.
Pengayaan insiden: Lampirkan bukti, log, dan tangkapan layar langsung ke masalah Jira menggunakan tindakan Unggah Lampiran untuk memberikan konteks lengkap kepada pihak yang melakukan remediasi.
Manajemen tugas dinamis: Perbarui, tetapkan, atau tautkan isu Jira terkait langsung dari playbook Google SecOps untuk mengotomatiskan prosedur operasi standar (SOP).
Sebelum memulai
Sebelum Anda mengkonfigurasi integrasi Jira di platform Google SecOps, pastikan Anda memiliki hal-hal berikut:
Kompatibilitas Produk: Akses ke instance Jira Cloud atau lingkungan Jira Data Center (On-Prem).
Metode otentikasi: Pilih metode otentikasi.
- Autentikasi dasar (Jira Cloud): Membutuhkan nama pengguna (email) dan Token API Atlassian.
- Autentikasi akun layanan (Jira Cloud): Membutuhkan Token Akun Layanan dan ID Cloud Anda.
- Autentikasi standar (Pusat Data Jira): Membutuhkan nama pengguna dan kata sandi yang valid.
URL root API: Format root API bergantung pada metode autentikasi Anda.
- Standard/Basic: URL dasar dari instance Jira Anda (misalnya,
https://yourdomain.atlassian.net). - Akun layanan: URL proksi API Atlassian, yang harus menyertakan ID Cloud Anda (misalnya,
https://api.atlassian.com/ex/jira/{cloud_id}).
- Standard/Basic: URL dasar dari instance Jira Anda (misalnya,
Siapkan otentikasi untuk Jira Cloud
Untuk terhubung ke Jira Cloud menggunakan token API, ikuti petunjuk diDokumentasi Atlassian untuk menghasilkan token.
Siapkan otentikasi untuk akun layanan.
Untuk menggunakan autentikasi berbasis token (Bearer Token) untuk Jira Cloud:
Lihat Memahami akun layanan untuk detail selengkapnya tentang membuat akun layanan menggunakan Konsol Admin Atlassian.
Dapatkan ID Cloud Anda dengan membuka:
https://<your_tenant>.atlassian.net/_edge/tenant_info(di mana<your_tenant>adalah nama instance Atlassian spesifik Anda).Saat mengkonfigurasi integrasi, biarkan kolom Username kosong untuk memicu autentikasi Bearer Token.
Parameter integrasi
Integrasi Jira memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Api Root |
Wajib. URL dasar instance Jira. |
Username |
Opsional. Nama pengguna (email) yang digunakan untuk terhubung ke Jira. Persyaratan untuk parameter ini bergantung pada metode autentikasi yang dipilih:
Untuk mengetahui informasi selengkapnya tentang metode autentikasi, lihat Sebelum memulai. |
Api Token |
Wajib. Kredensial autentikasi yang digunakan untuk terhubung ke Jira. Kolom ini menerima token API, token akun layanan, atau sandi standar (untuk Pusat Data). |
Verify SSL |
Opsional. Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke server Jira. |
Untuk mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan di tahap selanjutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.
Tindakan
Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.
Tambahkan Komentar
Gunakan tindakan Tambah Komentar untuk membuat dan menambahkan komentar ke masalah Jira yang sudah ada.
Ini adalah cara efektif untuk mendokumentasikan temuan, memberikan pembaruan, dan berkolaborasi dengan anggota tim secara langsung dari Google SecOps.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Tambahkan Komentar memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Issue Key |
Wajib. Pengidentifikasi unik dari isu Jira (misalnya, |
Comment |
Wajib. Teks yang akan ditambahkan ke isu Jira. |
Output tindakan
Tindakan Tambahkan Komentar memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Tambah Komentar:
| Nama hasil skrip | Nilai |
|---|---|
comment_id |
ID unik dari komentar yang baru dibuat di Jira. |
Tetapkan Masalah
Gunakan tindakan Tetapkan Isu untuk menetapkan isu Jira kepada pengguna tertentu.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Tetapkan Masalah memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Issue Key |
Wajib. Pengidentifikasi unik dari isu Jira (misalnya, |
Assignee |
Wajib. Nama atau alamat email pengguna yang akan ditugaskan untuk menangani masalah tersebut. |
Jira Username |
Opsional. Nama pengguna Jira dari orang yang memulai tindakan penugasan. |
Output tindakan
Tindakan Tetapkan Masalah memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Tetapkan Masalah:
| Nama hasil skrip | Nilai |
|---|---|
success |
true atau false |
Buat Peringatan Masalah
Gunakan tindakan Buat Masalah Peringatan untuk membuat tiket baru di Jira untuk peringatan tertentu.
Tindakan ini terutama digunakan dalam panduan (playbook) untuk meningkatkan insiden keamanan ke tim TI atau rekayasa untuk penyelidikan atau perbaikan lebih lanjut.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Buat Masalah Peringatan memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Project Key |
Wajib. Kode singkat unik dari proyek Jira tempat isu tersebut dibuat (misalnya |
Summary |
Wajib. Judul singkat atau ringkasan dari isu tersebut. |
Issue Type |
Wajib. Nama jenis masalah (seperti |
Output tindakan
Tindakan Buat Masalah Peringatan memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima ketika tindakan berhasil membuat sebuah isu:
{
"summary": "Sample issue",
"description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts.",
"project": {
"key": "PR",
"name": "Project 1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Task",
"subtask": false
},
"status": {
"name": "DONE",
"statusCategory": {
"name": "Done",
"key": "done"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"creator": {
"displayName": "user1",
"emailAddress": "john_doe@example.com"
},
"assignee": {
"displayName": "user2",
"emailAddress": "john_doe@example.com"
},
"created": "2018-06-19T15:23:13.701+0300",
"updated": "2018-09-18T10:02:06.347+0300"
}
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Buat Masalah Peringatan:
| Nama hasil skrip | Nilai |
|---|---|
issue_key |
Kode singkat unik dari isu Jira yang baru dibuat (misalnya, SEC-456). |
Buat Masalah
Gunakan tindakan Buat Masalah untuk membuat tiket baru di proyek Jira.
Tindakan ini menyediakan opsi penyesuaian yang luas, termasuk kemampuan untuk menentukan komponen, label, dan bidang khusus menggunakan JSON, sehingga cocok untuk alur kerja pembuatan tiket yang kompleks.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Buat Masalah memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Project Key |
Wajib. Kode singkat unik dari proyek Jira tempat isu tersebut dibuat (misalnya |
Summary |
Wajib. Judul singkat atau ringkasan dari isu tersebut. |
Description |
Opsional. Deskripsi rinci mengenai masalah tersebut. |
Issue Type |
Wajib. Nama jenis masalah (seperti |
Jira Username |
Opsional. Nama pengguna Jira dari orang yang memulai tindakan tersebut. |
Assignee |
Opsional. Pengidentifikasi pengguna yang ditugaskan untuk menangani masalah tersebut. |
Components |
Opsional. Daftar komponen Jira yang dipisahkan koma untuk dikaitkan dengan masalah tersebut. |
Labels |
Opsional. Daftar label yang dipisahkan koma untuk ditambahkan ke masalah tersebut. |
Custom Fields |
Opsional. Objek JSON yang berisi kolom dan nilai tambahan yang akan diatur selama pembuatan (misalnya, Nilai yang diberikan dalam parameter ini akan diprioritaskan dan menimpa pemetaan bidang lain jika terjadi konflik. |
Output tindakan
Tindakan Buat Masalah memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Buat Masalah:
{
"summary": "Sample issue",
"description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts. In a couple of days we will have access to an instance.",
"project": {
"key": "PR",
"name": "Project 1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Task",
"description": "A task that needs to be done.",
"subtask": false
},
"status": {
"name": "DONE",
"statusCategory": {
"name": "Done",
"key": "done",
"colorName": "green"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"resolution": {
"name": "Done",
"description": "Work has been completed on this issue."
},
"creator": {
"displayName": "user1",
"emailAddress": "john_doe@example.com",
"active": true,
"timeZone": "Asia/Jerusalem"
},
"assignee": {
"displayName": "user2",
"emailAddress": "john_doe@example.com",
"active": true
},
"reporter": {
"displayName": "user1",
"emailAddress": "john_doe@example.com"
},
"labels": [
"Label1"
],
"attachment": [
{
"id": "1001",
"filename": "file.rar",
"mimeType": "binary/octet-stream",
"size": 15420,
"created": "2018-06-19T15:23:07.369+0300"
}
],
"created": "2018-06-19T15:23:13.701+0300",
"updated": "2018-09-18T10:02:06.347+0300",
"resolutiondate": "2018-09-18T10:02:06.340+0300",
"watches": {
"watchCount": 1,
"isWatching": false
}
}
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Buat Masalah:
| Nama hasil skrip | Nilai |
|---|---|
issue_key |
Kode singkat unik dari isu Jira yang baru dibuat (misalnya, SEC-789). |
Hapus Masalah
Gunakan tindakan Hapus Masalah untuk menghapus masalah secara permanen dari Jira.
Tindakan ini biasanya digunakan untuk membersihkan tiket duplikat atau menghapus data pengujian yang dihasilkan selama pengembangan playbook.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Hapus Masalah memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Issue Key |
Wajib. Kode singkat unik dari isu Jira yang akan dihapus (misalnya, |
Output tindakan
Tindakan Hapus Masalah memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Hapus Masalah:
| Nama hasil skrip | Nilai |
|---|---|
success |
true atau false |
Download Lampiran
Gunakan tindakan Unduh Lampiran untuk mengambil semua file yang dilampirkan pada isu Jira tertentu. Jika lampiran berupa file .eml, tindakan ini juga akan mengunduh semua file yang terdapat dalam email tersebut.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Download Attachments memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Issue Key |
Wajib. Kode singkat unik dari isu Jira (misalnya, |
Download Path |
Opsional. Jalur lokal atau internal ke folder tempat tindakan tersebut menyimpan lampiran yang diunduh. Format yang dibutuhkan bergantung pada jenis penerapan Anda:
|
Download Attachments to the Case Wall |
Opsional. Jika dipilih, tindakan ini akan mengunduh lampiran masalah Jira langsung ke dinding kasus Google SecOps saat ini. Terdapat batasan ukuran untuk aksesori yang ditambahkan ke dinding casing. Pengunggahan file berukuran besar mungkin gagal. Dinonaktifkan secara default. |
Output tindakan
Tindakan Download Lampiran memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Download Lampiran:
[
{
"download_path": "downloads/Security_Evidence.eml",
"attachment_details": {
"id": "10007",
"filename": "Security_Evidence.eml",
"author": {
"displayName": "Security Analyst",
"emailAddress": "analyst@example.com",
"active": true,
"timeZone": "Asia/Calcutta"
},
"created": "2024-05-25T20:27:09.066+0530",
"size": 12049140,
"mimeType": "message/rfc822"
}
},
{
"download_path": "downloads/Logs_Attachment.txt",
"attachment_details": {
"id": "10005",
"filename": "Logs_Attachment.txt",
"author": {
"displayName": "System Admin",
"emailAddress": "admin@example.com",
"active": true,
"timeZone": "Asia/Calcutta"
},
"created": "2024-05-16T11:48:24.141+0530",
"size": 43,
"mimeType": "text/plain"
}
}
]
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Unduh Lampiran:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Dapatkan Masalah
Gunakan tindakan Dapatkan Masalah untuk mengambil detail lengkap untuk satu atau lebih masalah Jira.
Tindakan ini berguna untuk memperkaya kasus Google SecOps dengan metadata tiket terkini (seperti status, penerima tugas, dan prioritas).
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Get Issues memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Issue Keys |
Wajib. Daftar kunci isu Jira yang dipisahkan koma untuk diambil (misalnya, |
Output tindakan
Tindakan Get Issues memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Get Issues:
{
"issues_details_list": [
{
"key": "TES-65",
"summary": "New summary",
"description": "Detailed description of the security incident.",
"project": {
"key": "TES",
"name": "test-project1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Bogue",
"subtask": false
},
"status": {
"name": "Fini",
"statusCategory": {
"name": "Terminé",
"key": "done"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"assignee": {
"displayName": "Vasil Daskalov",
"emailAddress": "vasil.daskalov@siemplify.co"
},
"creator": {
"displayName": "admin@siemplifylab.local",
"emailAddress": "admin@siemplifylab.local"
},
"created": "2021-08-31T12:15:22.089+0000",
"updated": "2021-11-11T13:16:50.552+0000",
"resolution": {
"name": "Terminé",
"description": "Ce ticket a été traité."
},
"labels": [],
"components": []
}
]
}
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Get Issues:
| Nama hasil skrip | Nilai |
|---|---|
issues_details_list |
Daftar yang berisi metadata lengkap untuk isu Jira yang diminta. |
Masalah Tautan
Gunakan tindakan Hubungkan Isu untuk membuat hubungan antara beberapa isu Jira.
Tindakan ini terutama digunakan dalam playbook untuk menghubungkan insiden keamanan terkait atau untuk melacak ketergantungan antar tiket investigasi.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Link Issues memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Inward Issue ID |
Wajib. Daftar ID penerbitan masuk yang dipisahkan oleh koma. Misalnya, jika |
Outward Issue IDs |
Wajib. Singkatan dari isu Jira eksternal. Misalnya, jika |
Relation Type |
Wajib. Jenis tautan yang akan dibuat antara isu-isu tersebut. Anda dapat menemukan daftar tipe relasi yang tersedia dengan menjalankan tindakan Daftar Tipe Relasi. Nilai defaultnya adalah |
Output tindakan
Tindakan Link Issues memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Pesan output
Tindakan Link Issues dapat mengembalikan pesan keluaran berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Action tidak dapat menemukan masalah tujuan berikut di Jira: ISSUE_IDS. |
Tindakan tersebut berhasil. |
Error executing action "Link Issues".
Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Tautan Masalah:
| Nama hasil skrip | Nilai |
|---|---|
success |
true atau false |
Daftar Masalah
Gunakan tindakan Daftar Masalah untuk mencari dan mengambil daftar kunci masalah Jira berdasarkan kriteria pemfilteran tertentu.
Tindakan ini berguna untuk mengidentifikasi tiket yang sudah ada yang sesuai dengan konteks peringatan untuk menghindari duplikasi atau untuk melakukan pembaruan massal dalam sebuah playbook.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Daftar Masalah menyediakan parameter pemfilteran opsional berikut. Jika tidak ada parameter yang diberikan, tindakan tersebut akan mengembalikan semua masalah yang dapat diakses oleh pengguna integrasi.
| Parameter | Deskripsi |
|---|---|
Project Names |
Opsional. Daftar nama proyek yang dipisahkan koma untuk dicari. |
Summary |
Opsional. Jika disediakan, tindakan tersebut akan menyaring masalah berdasarkan ringkasan atau judul tertentu. |
Description |
Opsional. Jika disediakan, tindakan tersebut akan menyaring masalah berdasarkan teks yang terdapat dalam deskripsi. |
Issue Types |
Opsional. Daftar jenis masalah yang dipisahkan koma (misalnya, Nilai defaultnya adalah |
Priorities |
Opsional. Daftar tingkat prioritas yang dipisahkan koma untuk difilter (misalnya, |
Created From |
Opsional. Jika disediakan, tindakan tersebut akan memfilter masalah yang dibuat pada atau setelah tanggal ini (dalam format |
Updated From |
Opsional. Jika disediakan, tindakan tersebut akan memfilter masalah yang diperbarui pada atau setelah tanggal ini (dalam format |
Assignees |
Opsional. Daftar pengenal penerima tugas yang dipisahkan koma untuk difilter. |
Reporter |
Opsional. Daftar pengidentifikasi reporter yang dipisahkan koma untuk difilter. |
Statuses |
Opsional. Daftar status masalah yang dipisahkan koma untuk difilter (misalnya, |
Created Before |
Opsional. Tanggal pembuatan terbaru untuk difilter. Format: |
Custom JQL |
Opsional. Kueri JQL kustom. Jika disediakan, semua filter lainnya akan diabaikan. |
Output tindakan
Tindakan Daftar Masalah memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan List Issues:
[
"PR-123",
"PR-124",
"SEC-789"
]
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Daftar Masalah:
| Nama hasil skrip | Nilai |
|---|---|
issues |
Daftar yang berisi kunci singkatan unik dari isu Jira yang ditemukan. |
Daftar Jenis Relasi
Gunakan tindakan Daftar Jenis Relasi untuk mengambil daftar semua jenis relasi tautan yang tersedia yang dikonfigurasi di instance Jira Anda.
Tindakan ini berguna untuk memvalidasi nilai input yang valid untuk tindakan Link Issues.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Tipe Relasi Daftar memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Filter Key |
Opsional. Kolom yang digunakan untuk memfilter jenis relasi. Jika Logika Filter diatur ke Kemungkinan nilainya adalah sebagai berikut:
Nilai defaultnya adalah |
Filter Logic |
Opsional. Operator logika yang diterapkan pada filter. Kemungkinan nilainya adalah sebagai berikut:
Nilai defaultnya adalah |
Filter Value |
Opsional. Nilai string spesifik yang digunakan untuk penyaringan berdasarkan Jika tidak ada nilai yang diberikan, filter tidak akan diterapkan meskipun kunci dan logika telah dipilih. |
Max Records To Return |
Opsional. Jumlah maksimum data yang akan dikembalikan dalam hasil pencarian. Nilai defaultnya adalah |
Output tindakan
Tindakan Tipe Relasi Daftar memberikan keluaran sebagai berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Tabel repositori kasus
Tindakan Tipe Relasi Daftar menyediakan tabel berikut:
Nama tabel: Available Relation
Kolom tabel:
- Nama
- Ke Dalam
- Keluar
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Tipe Relasi Daftar:
[{
"id": "10000",
"name": "Blocks",
"inward": "is blocked by",
"outward": "blocks"
}]
Pesan output
Tindakan Tipe Relasi Daftar dapat mengembalikan pesan keluaran berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "List Relation types".
Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Tipe Relasi Daftar:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
true atau false |
Ping
Gunakan tindakan Ping untuk menguji konektivitas ke Jira.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tidak ada.
Output tindakan
Tindakan Ping memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Ping:
| Nama hasil skrip | Nilai |
|---|---|
success |
true atau false |
Masalah Pembaruan
Deskripsi
Perbarui masalah. Untuk API Jira yang baru, tindakan tersebut mencoba menemukan kecocokan untuk penerima tugas guna menetapkan sebuah isu berdasarkan email pengguna, dan kemudian mencoba dengan bidang displayName.
Parameter
| Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Kunci Masalah | String | T/A | Ya | Inti permasalahannya adalah melakukan pembaruan. |
| Status | String | T/A | Tidak | Tentukan nama transisi yang relevan, untuk mentransisikan masalah ini ke status baru yang diinginkan. |
| Ringkasan | String | T/A | Tidak | Ringkasan terbaru dari isu tersebut. |
| Deskripsi | String | T/A | Tidak | Deskripsi baru mengenai masalah tersebut. |
| Jenis Masalah | String | T/A | Tidak | Jenis masalah yang baru. |
| Penerima tugas | String | T/A | Tidak | Penerima pengalihan baru atas penerbitan tersebut. |
| Nama Pengguna Jira | String | T/A | Tidak | Nama pengguna Jira dari inisiator tindakan. |
| Komponen | String | T/A | Tidak | Komponen-komponen dalam permasalahan tersebut. Parameter ini menerima beberapa nilai sebagai string yang dipisahkan koma. |
| Kolom Kustom | JSON | NA | Tidak | Tentukan objek JSON yang berisi semua kolom dan nilai yang digunakan selama pembuatan masalah. Catatan: Parameter ini memiliki prioritas dan semua kolom akan ditimpa dengan nilai yang diberikan untuk parameter ini. Contoh: {"field":"value"} |
| Label | String | T/A | Tidak | Komponen-komponen dalam permasalahan tersebut. Parameter ini menerima beberapa nilai sebagai string yang dipisahkan koma. |
Terus Berjalan
Tindakan ini dijalankan di semua entity.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| Berhasil | Benar/Salah | Sukses:Salah |
Hasil JSON
{
"comment":
{
"total": 0,
"startAt": 0,
"comments": [],
"maxResults": 0
},
"creator":
{
"displayName": "user1",
"name": "user1",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user1user",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": "0"
},
"aggregatetimeestimate": null,
"labels": ["Label1"],
"aggregatetimespent": null,
"watches":
{
"self": "",
"watchCount": 1,
"isWatching": false
},
"assignee":
{
"displayName": "user2",
"name": "user2",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user2",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": ""
},
"lastViewed": "2019-01-22T10:14:02.910+0200",
"issuelinks": [],
"Worklog":
{
"worklogs": [],
"total": 0,
"startAt": 0,
"maxResults": 20
},
"aggregateprogress":
{
"progress": 0,
"total": 0
},
"Priority":
{
"iconUrl": "",
"self": "",
"name": "Medium",
"id": "3"
},
"votes":
{
"hasVoted": false,
"self": "",
"votes": 0
},
"workratio": -1,
"fixVersions": [],
"environment": null,
"timespent": null,
"attachment":
[{
"mimeType": "binary/octet-stream",
"created": "2018-06-19T15:23:07.369+0300",
"self": "",
"author":
{
"displayName": "user1",
"name": "user1",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user1",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": "0"
},
"filename": "file.rar",
"content": "",
"id": "0",
"size": 0
}],
"progress":
{
"progress": 0,
"total": 0
},
"duedate": null,
"status":
{
"statusCategory":
{
"name": "Done",
"self": "",
"id": 3,
"key": "done",
"colorName": "green"
},
"description": "",
"self": "",
"iconUrl": "",
"id": "0",
"name": "DONE"
},
"updated": "2018-09-18T10:02:06.347+0300",
"subtasks": [],
"description": "Create Enrich entities action using Insights API (IOC search)\\n\\nWrite connector for laerts\\n\\nIn a couple of days we will have access to an instance",
"reporter":
{
"displayName": "user1",
"name": "user1",
"self": "",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"emailAddress": "john_doe@example.com",
"key": "user1",
"active": true,
"timeZone": "Asia/Jerusalem",
"accountId": "0"
},
"timeoriginalestimate": null,
"aggregatetimeoriginalestimate": null,
"created": "2018-06-19T15:23:13.701+0300",
"versions": [],
"resolutiondate": "2018-09-18T10:02:06.340+0300",
"summary": "Sample issue",
"project":
{
"name": "Project 1",
"self": "",
"projectTypeKey": "software",
"avatarUrls":
{
"24x24": "",
"16x16": "",
"48x48": "",
"32x32": ""
},
"key": "PR",
"id": "0"
},
"timetracking": {},
"components": [],
"issuetype":
{
"name": "Task",
"self": "",
"iconUrl": "",
"subtask": false,
"avatarId": 10318,
"id": "10002",
"description": "A task that needs to be done."
},
"security": null,
"resolution":
{
"id": "10000",
"self": "",
"description": "Work has been completed on this issue.",
"name": "Done"
},
"timeestimate": null
}
Unggah Lampiran
Deskripsi
Tambahkan lampiran ke suatu masalah.
Parameter
| Parameter | Jenis | Nilai Default | Wajib | Deskripsi |
|---|---|---|---|---|
| Kunci Masalah | String | T/A | Ya | Jalur Berkas. |
| Jalur File | String | T/A | Ya | Jalur absolut file yang akan diunggah, dipisahkan oleh koma. Format yang dibutuhkan bergantung pada jenis penerapan Anda:
|
Terus Berjalan
Tindakan ini dijalankan di semua entity.
Hasil Tindakan
Hasil Skrip
| Nama Hasil Skrip | Opsi Nilai | Contoh |
|---|---|---|
| is_success | Benar/Salah | is_success:False |
Hasil JSON
N/A
Telusuri Pengguna
Cari pengguna di Jira.
Entity
Tindakan ini tidak dijalankan pada entity.
Input tindakan
Untuk mengonfigurasi tindakan, gunakan parameter berikut:
| Parameter | |
|---|---|
User Email Addresses |
Opsional
Daftar alamat email yang dipisahkan koma untuk menampilkan pengguna. |
User Names |
Opsional
Daftar nama pengguna yang dipisahkan koma untuk menampilkan pengguna yang bersangkutan. |
Project |
Opsional
Nama project untuk menelusuri alamat email. Jika disediakan, hanya
|
Output tindakan
| Jenis output tindakan | |
|---|---|
| Lampiran repositori kasus | T/A |
| Link repositori kasus | T/A |
| Tabel repositori kasus | T/A |
| Tabel pengayaan | T/A |
| Hasil JSON | Tersedia |
| Hasil skrip | Tersedia |
Hasil skrip
| Nama hasil skrip | Nilai |
|---|---|
| is_success | Benar/Salah |
Hasil JSON
[
{
"Entity": "example",
"EntityResult": {
"_resource": "user?accountId={0}",
"_options": {
"server": "https://siemplify.atlassian.net",
"auth_url": "/rest/auth/1/session",
"context_path": "/",
"rest_path": "api",
"rest_api_version": "2",
"agile_rest_path": "agile",
"agile_rest_api_version": "1.0",
"verify": false,
"resilient": true,
"async": false,
"async_workers": 5,
"client_cert": null,
"check_update": false,
"delay_reload": 0,
"headers": {
"Cache-Control": "no-cache",
"Content-Type": "application/json",
"X-Atlassian-Token": "no-check"
}
},
"_session": "<jira.resilientsession.ResilientSession object>",
"_base_url": "{server}/rest/{rest_path}/{rest_api_version}/{path}",
"raw": {
"self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
"accountId": "example-account-id",
"accountType": "atlassian",
"emailAddress": "example.user",
"avatarUrls": {
"48x48": "https://example.com"
},
"displayName": "Example",
"active": true,
"timeZone": "UTC",
"locale": "en_US"
},
"self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
"accountId": "example-account-id",
"accountType": "atlassian",
"emailAddress": "example.user",
"avatarUrls": "<jira.resources.PropertyHolder object>",
"displayName": "Example",
"active": true,
"timeZone": "UTC",
"locale": "en_US"
}
}
]
Repositori kasus
Tindakan ini memberikan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
|
Tindakan berhasil. |
Error executing action "Search Users".
Reason: ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Konfigurasi Pemetaan Alasan Tertutup
Parameter Closed Reason Mapping memerlukan struktur JSON. Anda dapat memetakan nilai statis atau meneruskan nama bidang Jira dinamis (misalnya, resolution, customfield_10010). Jika alasan dinamis yang diekstrak tidak valid atau hilang, pekerjaan secara otomatis menggunakan pemetaan Fallback yang ditentukan.
Contoh konfigurasi JSON:
{
"Done": {
"reason": "Maintenance",
"root_cause": "Other"
},
"Fallback": {
"reason": "Maintenance",
"root_cause": "Other"
}
}
Konektor
Konektor Jira
Deskripsi
Mengambil masalah dari Jira ke Google SecOps.
Konfigurasi Konektor Jira di Google SecOps
Untuk mendapatkan petunjuk mendetail tentang cara mengonfigurasi konektor di Google SecOps, lihat Mengonfigurasi konektor.
Parameter konektor
Gunakan parameter berikut untuk mengonfigurasi konektor:
| Parameter | Deskripsi |
|---|---|
DeviceProductField |
Wajib. Nama kolom yang digunakan untuk menentukan produk perangkat. Nilai defaultnya adalah |
EventClassId |
Opsional. Nama kolom yang digunakan untuk menentukan nama peristiwa (sub-jenis). Nilai defaultnya adalah |
PythonProcessTimeout |
Wajib. Batas waktu tunggu (dalam detik) untuk proses python yang menjalankan skrip saat ini. Nilai defaultnya adalah |
API Root |
Wajib. Akar API dari instance Jira. Nilai defaultnya adalah |
Username |
Opsional. Nama pengguna (email) yang digunakan untuk terhubung ke Jira. Persyaratan untuk parameter ini bergantung pada metode autentikasi yang dipilih:
Untuk informasi selengkapnya mengenai metode otentikasi, lihat Sebelum Anda mulai. |
API Token |
Wajib. Kredensial otentikasi yang digunakan untuk terhubung ke Jira. |
Days Backwards |
Opsional. Jumlah maksimum hari ke belakang untuk menarik peringatan. Nilai defaultnya adalah |
Max Tickets Per Cycle |
Opsional. Jumlah maksimum tiket yang diambil dan diproses dalam satu siklus konektor. Nilai defaultnya adalah |
Project Names |
Opsional. Nama proyek dipisahkan oleh koma. |
Issue Statuses |
Opsional. Status masalah dipisahkan dengan koma. |
Assignees |
Opsional. Nama lengkap pengguna dipisahkan oleh koma. |
Issue Types |
Opsional. Jenis masalah dipisahkan dengan koma. |
Issue Priorities |
Opsional. Prioritas isu dipisahkan dengan koma. |
Issue Components |
Opsional. Komponen masalah dipisahkan oleh koma. |
Proxy Server Address |
Opsional. Alamat server proxy yang akan digunakan. |
Proxy Username |
Opsional. Nama pengguna proxy untuk melakukan autentikasi. |
Proxy Password |
Opsional. Sandi proxy untuk mengautentikasi. |
Environment Field Name |
Opsional. Menjelaskan nama kolom tempat nama lingkungan disimpan. Jika kolom lingkungan tidak ditemukan, maka lingkungan yang digunakan adalah lingkungan default. Nilai defaultnya adalah |
Environment Regex Pattern |
Opsional. Pola regex yang akan dijalankan pada nilai yang ditemukan di kolom "Environment Field Name". Digunakan untuk memungkinkan pengguna memanipulasi kolom lingkungan menggunakan logika regex. Nilai defaultnya adalah |
Use Jira Project as Environment |
Opsional. Gunakan proyek Jira sebagai lingkungan atau gunakan Nama Bidang Lingkungan sebagai lingkungan. |
Verify SSL |
Wajib. Jika dipilih, integrasi akan memvalidasi sertifikat SSL saat terhubung ke server Jira. Diaktifkan secara default. |
Aturan Konektor
Dukungan Proksi
Konektor mendukung proxy.
Daftar dinamis dan daftar blokir
Konektor ini hanya mendukung aturan daftar dinamis dan daftar blokir untuk label tertentu di dalam Jira.
Pekerjaan
Pekerjaan Penutupan Sinkronisasi
Deskripsi
Tutup tiket di Jira jika peringatan atau kasus Google SecOps yang terkait telah ditutup, dan sinkronkan status penutupan serta kolom kustom dari Jira kembali ke Google SecOps.
Parameter
| Parameter | Deskripsi |
|---|---|
API Root |
Wajib. URL root API instance Jira. Nilai defaultnya adalah |
Username |
Opsional. Nama pengguna (email) yang digunakan untuk terhubung ke Jira. Persyaratan untuk parameter ini bergantung pada metode autentikasi yang dipilih:
|
API Token |
Wajib. Kredensial otentikasi yang digunakan untuk terhubung ke Jira. |
Project Names |
Wajib. Nama proyek Jira yang dipisahkan oleh koma, yang harus dipantau oleh pekerjaan tersebut. Nilai defaultnya adalah |
Environment |
Opsional. Nama lingkungan. |
Days Backwards |
Wajib. Jumlah hari maksimum untuk menyinkronkan status tiket ke belakang. Nilai defaultnya adalah |
Job Scope |
Wajib. Ruang lingkup untuk sinkronisasi pekerjaan. Opsi:
Nilai defaultnya adalah |
Supported Closed Statuses |
Wajib. Daftar status Jira yang ditutup dan dipisahkan koma, yang diperlakukan sebagai ditutup di Google SecOps (misalnya,
Nilai defaultnya adalah |
Closed Reason Mapping |
Wajib. Pemetaan kamus JSON yang menutup status Jira ke alasan penutupan dan penyebab utama Google SecOps. Mendukung pemetaan ke kolom kustom dan memerlukan kunci |
Custom Fields Mapping |
Opsional. Objek JSON yang menentukan pemetaan antara nama tampilan kolom kustom Google SecOps dan nama kolom kustom Jira untuk sinkronisasi data dari Jira ke Google SecOps. Untuk mengetahui detail dan contoh konfigurasi, lihat Pemetaan alasan penutupan dan kolom kustom. |
Pemetaan kolom kustom dan alasan ditutup
Gunakan detail dan contoh berikut untuk mengonfigurasi pemetaan kustom untuk alasan penutupan dan kolom kustom.
Pemetaan Alasan Penutupan
Menentukan cara status penutupan Jira dipetakan ke alasan penutupan dan akar masalah kasus atau pemberitahuan Google SecOps.
-
Contoh Pemetaan JSON Standar:
{ "Done": { "reason": "Malicious", "root_cause": "Other" }, "Fallback": { "reason": "Maintenance", "root_cause": "Other" } }Jika tiket Jira ditutup dengan status
Done, kasus atau pemberitahuan Google SecOps ditutup dengan alasanMaliciousdan penyebab utamaOther. Jika tiket ditutup dengan status yang tidak dipetakan secara eksplisit (misalnya,Closed), sistem akan menggunakan setelanFallbacksecara default. -
Contoh Pemetaan Kolom Kustom:
Jika Anda memiliki kolom kustom di Jira yang bernama
Jira reasondanJira rootcause, konfigurasi pemetaan JSON sebagai berikut:{ "Done": { "reason": "Jira reason", "root_cause": "Jira rootcause" }, "Fallback": { "reason": "Maintenance", "root_cause": "Other" } }Persyaratan:
- Nilai yang diekstrak dari kolom kustom
Jira reasonharus diselesaikan ke salah satu string persis berikut:Malicious,Maintenance,Inconclusive, atauNot malicious. Jika tidak, sistem akan kembali ke nilaiFallback. - Untuk cakupan tugas
Case, nilai penyebab utama harus dikonfigurasi di setelan admin. Untuk cakupan tugasAlert, tidak diperlukan konfigurasi admin, dan nilai apa pun yang diberikan di kolom kustom akan diterima.
- Nilai yang diekstrak dari kolom kustom
Pemetaan Kolom Kustom
Pemetaan ini berfungsi secara eksklusif untuk menyinkronkan nilai bidang kustom dari Jira ke Google SecOps. Tentukan pasangan kunci-nilai di mana kuncinya adalah nama tampilan kolom kustom Google SecOps dan nilainya adalah nama kolom kustom Jira:
{
"SOAR Custom field": "Jira ticket id"
}
Dalam contoh ini, nilai dari kolom Jira Jira ticket id disinkronkan langsung ke kolom Google SecOps SOAR Custom field.
Sinkronisasi Komentar
Deskripsi
Sinkronkan komentar antara kasus Google SecOps dan tiket Jira yang terkait. Sinkronisasi bersifat dua arah—yaitu, dari Google SecOps ke Jira dan dari Jira ke Google SecOps.
Saat tugas membuat komentar, tugas tersebut menerapkan awalan. Jika pengguna Google SecOps memberikan komentar pada kasus Google SecOps, tugas tersebut akan membuat dan menyinkronkan komentar pengguna pada tiket Jira yang sesuai menggunakan parameter Awalan Komentar Kronik.
Fitur ini ditambahkan untuk dua tujuan:
- Visibilitas.
- Mencegah komentar yang ditambahkan oleh tugas agar tidak disinkronkan lagi ke sisi lain, dan menyebabkan perulangan.
Parameter
| Parameter | Deskripsi |
|---|---|
API Root |
Wajib. URL root API instance Jira. Nilai defaultnya adalah |
Username |
Opsional. Nama pengguna (email) yang digunakan untuk terhubung ke Jira. Persyaratan untuk parameter ini bergantung pada metode autentikasi yang dipilih:
|
API Token |
Wajib. Kredensial otentikasi yang digunakan untuk terhubung ke Jira. |
Project Names |
Wajib. Nama proyek Jira yang dipisahkan oleh koma, yang harus dipantau oleh pekerjaan tersebut. Nilai defaultnya adalah |
Environment |
Opsional. Nama lingkungan. |
Siemplify Comment Prefix |
Wajib. Awalan yang ditambahkan oleh tugas sinkronisasi ke komentar yang dibuat untuk tiket Jira. Nilai defaultnya adalah |
Jira Comment Prefix |
Wajib. Awalan yang ditambahkan oleh tugas sinkronisasi ke komentar kasus peringatan Google SecOps. Nilai defaultnya adalah |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.