Men-debug Groovy di editor inline Jira Scriptrunner

Saya seorang programmer yang baru mulai bekerja dengan groovy di Jira untuk mengotomatiskan beberapa tugas.

Saya mencoba menulis skrip pendengar khusus menggunakan editor sebaris di Jira, tetapi belum sempat mencoba membuat program Hello World berfungsi.

Saya tidak tahu apakah skrip sedang berjalan, dan tidak dapat melihat keluaran apa pun, dan saya benar-benar memerlukan bantuan untuk mencari tahu cara men-debug skrip, sebaiknya melalui keluaran ke semacam konsol (atau bahkan hanya dengan membaca Jira log jika perlu), agar saya dapat mulai mencoba mempelajari cara menggunakan alat ini.

Saya sedang mengerjakan informasi DI SINI sebagai pedoman umum untuk mulai belajar bekerja dengan editor sebaris.

Untuk konteks lebih lanjut, Anda dapat melihat pertanyaan terkait lainnya yang saya tanyakan DI SINI.

Saya telah menyetel level debug ke DEBUG untuk acara yang saya lampirkan pendengarnya, seperti yang ditunjukkan pada tangkapan layar ini, berdasarkan informasi yang ditemukan DI SINI: Debug Config

Berikut adalah tangkapan layar dari editor inline yang saya kerjakan di JIRA. Dalam tangkapan layar ini, saya hanya mencoba menampilkan 'Halo', dan baru saja mengeklik tombol 'Pratinjau': masukkan deskripsi gambar di sini

Seperti yang Anda lihat, pada tab 'Hasil' di bagian bawah layar, tidak ada yang menarik. Tab 'Logs' juga kosong, dan tab 'Timing' hanya mengatakan 'Elapsed: 0 ms CPU time: 0 ms', jadi sepertinya tidak terjadi apa-apa.

Jika saya memeriksa log di server (dalam file catalina.2017-10-13.txt), saya melihat output berikut:

13-Oct-2017 07:01:50.942 WARNING [http-nio-8080-exec-6] com.sun.jersey.spi.container.servlet.WebComponent.filterFormParameters A servlet request, to the URI http://somevmserver:8080/rest/scriptrunner-jira/latest/listeners/com.onresolve.scriptrunner.canned.jira.workflow.listeners.CustomListener/params, contains form parameters in the request body but the request body has been consumed by the servlet or a servlet filter accessing the request parameters. Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
13-Oct-2017 07:02:26.740 WARNING [http-nio-8080-exec-12] com.sun.jersey.spi.container.servlet.WebComponent.filterFormParameters A servlet request, to the URI http://somevmserver:8080/rest/scriptrunner/latest/canned/com.onresolve.scriptrunner.canned.common.StaticCompilationChecker, contains form parameters in the request body but the request body has been consumed by the servlet or a servlet filter accessing the request parameters. Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
13-Oct-2017 07:02:26.974 WARNING [http-nio-8080-exec-1] com.sun.jersey.spi.container.servlet.WebComponent.filterFormParameters A servlet request, to the URI http://somevmserver:8080/rest/scriptrunner-jira/latest/listeners/com.onresolve.scriptrunner.canned.jira.workflow.listeners.CustomListener/preview, contains form parameters in the request body but the request body has been consumed by the servlet or a servlet filter accessing the request parameters. Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.

Keluaran ini tidak berarti banyak bagi saya, tetapi tampak jelas bahwa keluaran ini terisi karena mencoba melihat pratinjau skrip.

Saya tidak mendapatkan kesalahan apa pun di editor sebaris, dan kodenya sangat sederhana, jadi menurut saya bukan itu masalahnya.

Satu-satunya informasi lain yang dapat saya sertakan yang menurut saya relevan adalah bahwa ini adalah contoh uji Jira yang dikloning dari lingkungan produksi kami, dan URL dasarnya masih disetel ke URL lingkungan prod. Tidak yakin apakah itu ada hubungannya, tapi saya sebenarnya bukan admin Jira, hanya programmer yang bertugas melakukan ini, jadi saya tidak ingin mengutak-atik hal yang tidak perlu.

Terima kasih!


person JEJoll    schedule 13.10.2017    source sumber


Jawaban (2)


Saat menggunakan scriptrunner dalam jira, Anda harus mengimpor logger untuk menggunakan debugger atau menghasilkan output ke konsol. Hal ini dapat dilakukan dengan cara berikut:

// Enable debugger
import org.apache.log4j.Logger
import org.apache.log4j.Level

def log = Logger.getLogger("com.acme.CreateSubtask")
log.setLevel(Level.DEBUG)

Dan kemudian, Anda akan dapat melihat informasi yang dicatat menggunakan log.debug "hello"

person Sandy Garrido    schedule 22.07.2019

Untuk melihat pesan debug "Halo" di log, Anda harus memperbarui masalah di proyek yang Anda pilih. Tab Hasil, Log dan Waktu di bagian bawah tidak berguna dalam tampilan ini. Cukup picu Pendengar dengan pembaruan masalah di proyek pilihan Anda dan cari pesan debug Anda di file atlassian-jira.log.

Petunjuk: Untuk melihat Log di browser Anda dapat menggunakan aplikasi jira ini https://marketplace.atlassian.com/plugins/com.cps.lastLog/server/overview

person Community    schedule 11.02.2018