¿Cuál es el efecto de @NonCPS en un script de canalización de Jenkins?

Tengo un guión de pipeline en Jenkins.

Solía tener esta excepción:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: los scripts no pueden usar el método groovy.json.JsonSlurperClassic parseText java.lang.String

Miré la excepción y encontré algunas indicaciones de que debería anotar el método donde ocurre la excepción con@NonCPS. Hice esto, sin entender realmente lo que hace.

Después de eso, sin embargo, una excepción que estaba lanzando en ese método ya no fue atrapada por untry cláusula.

Entonces, ¿cuál es la idea detrás?@NonCPS? ¿Cuáles son los efectos de usarlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta