The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
We are trying to view/hide a text field based on the value of the JIRA Flagged field. We have the following script set up:
def reasonForBlock = getFieldById("customfield_16560")
def flaggedField = getFieldById(getFieldChanged())
def selectedOption = flaggedField.getValue() as String
def isImpedimentSelected = selectedOption == "Impediment"
reasonForBlock.setHidden(! isImpedimentSelected)
We have applied this to the Flagged field (a checkbox field)
Expected results - the text field would remain hidden until the Flagged field was set
Actual results - the text field is not visable when the Flagged field is set
So, I was able to hide a field using this behaviour just fine. A few thoughts:
Hi Jonny,
Thank you for the response.
I am not trying to hide the field on the view screen (if it's empty it will not display) I am looking at the create and edit screens.
I have the text field hidden initially, but my expectation was that, on the edit screen, once I checked the Flagged field, the text field would then be displayed. This is where I am having issues.
If I could figure out how to add an attachment, I could show you what I am seeing
As Jonny mentioned before, you won't see the behavior that you are expecting if you have set up an initializer. An initializer should only run when the screen is first loaded and, therefore, a change to the form field won't be caught after its initial execution.
So instead, you should set up a behavior that is mapped directly to the Flagged field. I'll attach a couple of screenshots to help.
Aidan,
Thank you for the clariofication, I missed this comment on Jonny's reply.
I will set up the script and test the behavior.
Jeanne
Aidan,
I think I have this working. It took two beahviors:
1 - A behavior on the Reason for Block field to hide the field initailly
2 - A server side script on the Flagged field looking for the "Impediment" value. If the value is found, the Reason for Block field is shown
Serverside script: {
reasonForBlock.setHidden(true)
}
Does this look like the best way to handle this? Do you have any other recommendations?
Jeanne
Further testing shows this is not working as I had hoped. JIRA will always display a field on the view screen if there is a value in the field.
If I click the FLagged field, then add a value to the Reason for Block field all is good. Both fields display on the view screen.
If I edit the issue and uncheck the Flagged field, the Reason for Block field still displays on the view screen because it still has a value.
Is there anyway to hide the field even if there is a value in the field? Or can the field be cleared if the Flagged field is not set?
Hey Jeanne,
I've tested this myself and I believe you can just set the Reason For Block field to 'null' as I do in your modified script below: { if(reasonForBlock.value) { reasonForBlock.setFormValue(null) } reasonForBlock.setHidden(true) }
Basically, any time the the flaggedField has a selectOption that is not equal to "Impediment" the reasonForBlock field will be cleared (if it has a value).
Hello,
I want to try this example but I have a question: where I will paste this code?
Thank you
Hi,
I have tried this example for Select list and it worked fine, only one issue has encounter that i am not able to create any issue.
I had set a script behaviour on create screen i am getting following issues:
1. When i click on the create button for issue and select the option from the list, my fields are not showing up.
2. But when i go to Project settings and from there i click on the Create button and select option from the list the fields are showing (that's a strange behaviour)
3. After adding all the values on the screen, and hit create button for creating issue at the bottom, the screen gets frozen and i am not able to create issues.
I can provide the screen shots, if anyone will help me with this issue.
Thanks,
Jyoti
I couldn't tell you what I wanted. I want the "options" options to come according to the selected "issues type".
Hi there is more than one "add context" in "select single". How do I make the corresponding "select list" according to my "numbers" I.