You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
I created a Behaviours script to show/hide one of seven custom fields (B1-B7) depending on the selected value of another custom field (A).
The behavior is defined on field A, with no initializer code and it's mapped to my project as a JIRA project.
Field A is defined as Required so it's displayed in the Create screen.
It works as expected when I create a new issue in the Jira UI.
Next I created an identical behavior, on the same custom field (A), with the exact same groovy script. I mapped it to the same project, but now as a Service Desk project.
This is per the Behaviours documentation.
So I have two behaviours, on the same field, same issue type.
Now in the Service Desk project admin, I added field A (via Request Types ->Edit Fields) to the request type which is mapped to the relevant issue type, so that it will be visible when creating a request.
However, when I log in to the customer portal, and I create a new request, I only see field A, but B1-B7 are not displayed.
Next I configured fields B1-B7 to be visible, and now all are always visible, regardless of the value set in field A.
I've submitted a ticket to Adaptavist, but in the meantime I wonder if anyone got this (or similar) functionality to work in Customer Portal.
IIRC, my problem was that some validators were failing and thus the behaviour was not invoked.
The way to debug is twofold:
1. Add logging (using com.onresolve.scriptrunner.runner.util.UserMessageUtil). Be aware that there may be some delay until the log messages are displayed
2. Open the browser's inspect, go to the console, clear the contents (CTRL-L), then modify the value in the field and observe what happens in the console.