What would you do if you were asked to implement "Dynamically Required Fields" like this?
Note: Class, Module and Proposed Resolution are custom fields. % is a wildcard.
<colgroup><col width="50"> <col width="77"> <col span="2" width="80"> <col width="127"> <col width="131"> <col width="98"> <col width="159"> </colgroup>PROJECT | ISSUE TYPE | CLASS | MODULE | STATUS | Proposed Resolution | Resolution | MANDATORY FIELD |
% | % | % | % | % | % | % | Category |
% | % | % | % | % | % | % | Class |
% | % | % | % | % | % | % | Description |
% | % | % | % | % | % | % | First Found |
% | % | % | % | % | % | % | Issue Type |
% | % | % | % | % | % | % | Module |
% | % | % | % | % | % | % | PR ID |
% | % | % | % | % | % | % | Priority |
% | % | % | % | % | % | % | Project |
% | % | % | % | % | % | % | Summary |
% | % | % | % | % | % | % | Urgency |
% | % | % | % | Closed | % | % | Comments |
% | % | % | % | Closed | % | % | Escalation Prime |
% | % | % | % | Closed | % | % | Resolution |
% | % | % | % | Declined | % | % | Comments |
% | % | % | % | Declined | % | % | Escalation Prime |
% | % | % | % | Dependent Fix Required | % | % | Comments |
% | % | % | % | Dependent Fix Required | % | % | Escalation Prime |
% | % | % | % | Investigating | % | % | Escalation Prime |
% | % | % | % | Need Info | % | % | Comments |
% | % | % | % | Need Info | % | % | Escalation Prime |
% | % | % | % | Ready to Build | % | % | Comments |
% | % | % | % | Ready to Build | % | % | Escalation Prime |
% | % | % | % | Ready to Compile | % | % | Comments |
% | % | % | % | Ready to Compile | % | % | Escalation Prime |
% | % | % | % | Ready to Verify | % | % | Comments |
% | % | % | % | Ready to Verify | % | % | Escalation Prime |
% | % | % | % | Replied | % | % | Comments |
% | % | % | % | Replied | % | % | Escalation Prime |
% | % | Software | % | Unconfirmed | % | % | Component |
% | % | Software | % | Unconfirmed | % | % | Found in Load |
% | % | Software | % | Unconfirmed | % | % | Platform Type |
% | % | % | % | Verification Failed | % | % | Comments |
% | % | % | % | Verification Failed | % | % | Escalation Prime |
% | % | % | % | Verification Passed | % | % | Escalation Prime |
% | % | % | % | Work in Progress | % | % | Comments |
% | % | % | % | Work in Progress | % | % | Escalation Prime |
% | % | Documentation | % | % | % | % | Doc Identifier |
% | % | Software | % | Closed | % | Fix Provided | Sourced in Load |
% | % | Software | % | Closed | % | Fix Provided | Sourced in Version |
% | % | Software | % | Closed | % | Fix Provided | Tested in Load |
% | % | Software | % | Closed | % | Dependent Fix Provided | Tested in Load |
% | % | Software | % | Closed | % | Fix Provided | Tested in Version |
% | % | Software | % | Closed | % | Dependent Fix Provided | Tested in Version |
% | % | Software | % | % | % | % | Fix Version |
% | % | Software | % | Investigating | % | % | Fix Forecast Date |
% | % | Software | % | Investigating | % | % | Milestone |
% | % | Software | % | Ready to Build | % | % | Submitted in Load |
% | % | Software | % | Ready to Build | % | % | Submitted in Version |
% | % | Software | % | Ready to Compile | % | % | Submitted in Load |
% | % | Software | % | Ready to Compile | % | % | Submitted in Version |
% | % | Software | % | Ready to Verify | % | % | Submitted in Load |
% | % | Software | % | Ready to Verify | % | % | Submitted in Version |
% | % | Software | % | Received | % | % | Fix Forecast Date |
% | % | Software | % | Received | % | % | Milestone |
% | % | Software | % | Unconfirmed | % | % | Found in Load |
% | % | Software | % | Verification Failed | % | % | Tested in Load |
% | % | Software | % | Verification Failed | % | % | Tested in Load |
% | % | Software | % | Verification Failed | % | % | Tested in Version |
% | % | Software | % | Verification Passed | % | % | Sourced in Load |
% | % | Software | % | Verification Passed | % | % | Sourced in Version |
% | % | Software | % | Verification Passed | % | % | Tested in Load |
% | % | Software | % | Verification Passed | % | % | Tested in Version |
% | % | Software | % | Work in Progress | % | % | Milestone |
% | % | Software | % | % | % | % | Found in Version |
% | Product Defect | Software | % | Unconfirmed | % | % | Design Phase Detected |
% | Product Defect | % | % | Closed | % | Fix Provided | Verified Date |
% | Product Defect | % | % | Closed | % | Fix Provided | Verifier |
% | % | % | % | Replied | % | % | Proposed Resolution |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Design Phase Detected |
% | Product Defect | % | % | Verification Failed | % | % | Verified Date |
% | Product Defect | % | % | Verification Failed | % | % | Verifier |
% | Product Defect | % | % | Verification Passed | % | % | Verified Date |
% | Product Defect | % | % | Verification Passed | % | % | Verifier |
% | Product Defect | % | % | Work in Progress | % | % | Fix Forecast Date |
% | Product Defect | Documentation | % | Unconfirmed | % | % | Design Phase Detected |
% | Product Defect | Software | % | Closed | % | Fix Provided | Activity ID |
% | Product Defect | Software | % | Closed | % | Fix Provided | Defect Type |
% | Product Defect | Software | % | Closed | % | Fix Provided | Design Phase Detected |
% | Product Defect | Software | % | Closed | % | Fix Provided | Design Phase Injected |
% | Product Defect | Software | % | Closed | % | Fix Provided | Phase Escape Reason |
% | Product Defect | Software | % | Closed | % | Fix Provided | Version Injected |
% | Product Defect | Software | % | Replied | Not Fixing | % | Defect Type |
% | Product Defect | Software | % | Replied | Test Deferred | % | Defect Type |
% | Product Defect | Software | % | Replied | Not Fixing Dependent | % | Defect Type |
% | Product Defect | Software | % | Replied | Test Deferred | % | Design Phase Injected |
% | Product Defect | Software | % | Replied | Not Fixing | % | Phase Escape Reason |
% | Product Defect | Software | % | Replied | Test Deferred | % | Phase Escape Reason |
% | Product Defect | Software | % | Replied | Not Fixing Dependent | % | Phase Escape Reason |
% | Product Defect | Software | % | Replied | Not Fixing | % | Reply Reason |
% | Product Defect | Software | % | Replied | No Defect | % | Reply Reason |
% | Product Defect | Software | % | Replied | Not Reproducible | % | Reply Reason |
% | Product Defect | Software | % | Replied | No Defect | % | Reply Reason |
% | Product Defect | Software | % | Replied | Not Fixing Dependent | % | Reply Reason |
% | Product Defect | Software | % | Replied | Test Deferred | % | Version Injected |
% | Product Defect | Software | % | Unconfirmed | % | % | Found in Load |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Found in Load |
% | Product Defect | Software | % | Unconfirmed | % | % | Found in Solution |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Found in Solution |
% | Product Defect | Documentation | % | Unconfirmed | % | % | Found in Solution |
% | Product Defect | Software | % | Unconfirmed | % | % | Frequency |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Frequency |
% | Product Defect | Software | % | Verification Failed | % | % | Defect Type |
% | Product Defect | Software | % | Verification Failed | % | % | Design Phase Detected |
% | Product Defect | Software | % | Verification Failed | % | % | Design Phase Injected |
% | Product Defect | Software | % | Verification Failed | % | % | Phase Escape Reason |
% | Product Defect | Software | % | Verification Failed | % | % | Version Injected |
% | Product Defect | Software | % | Verification Passed | % | % | Defect Type |
% | Product Defect | Software | % | Verification Passed | % | % | Design Phase Detected |
% | Product Defect | Software | % | Verification Passed | % | % | Design Phase Injected |
% | Product Defect | Software | % | Verification Passed | % | % | Phase Escape Reason |
% | Product Defect | Software | % | Verification Passed | % | % | Version Injected |
% | Product Defect | Software | % | Work in Progress | % | % | Defect Type |
% | Product Defect | Software | % | Work in Progress | % | % | Design Phase Injected |
% | Product Defect | Software | % | Work in Progress | % | % | Phase Escape Reason |
% | Product Defect | Software | % | Work in Progress | % | % | Version Injected |
% | Product Defect | Documentation | % | Closed | % | Fix Provided | Design Phase Injected |
% | Product Defect | Documentation | % | Replied | Test Deferred | % | Design Phase Injected |
% | Product Defect | Documentation | % | Verification Failed | % | % | Design Phase Injected |
% | Product Defect | Documentation | % | Verification Passed | % | % | Design Phase Injected |
% | Product Defect | Documentation | % | Work in Progress | % | % | Design Phase Injected |
% | Product Defect | Software | % | Unconfirmed | % | % | Operational Impacts |
% | % | Firmware | % | Unconfirmed | % | % | Found in Load |
% | % | Firmware | % | Unconfirmed | % | % | Platform Type |
% | % | Firmware | % | Closed | % | Fix Provided | Sourced in Load |
% | % | Firmware | % | Closed | % | Fix Provided | Sourced in Version |
% | % | Firmware | % | Closed | % | Fix Provided | Tested in Load |
% | % | Firmware | % | Closed | % | Dependent Fix Provided | Tested in Load |
% | % | Firmware | % | Closed | % | Fix Provided | Tested in Version |
% | % | Firmware | % | Closed | % | Dependent Fix Provided | Tested in Version |
% | % | Firmware | % | Investigating | % | % | Fix Forecast Date |
% | % | Firmware | % | Investigating | % | % | Milestone |
% | % | Firmware | % | Ready to Build | % | % | Submitted in Load |
% | % | Firmware | % | Ready to Build | % | % | Submitted in Version |
% | % | Firmware | % | Ready to Compile | % | % | Submitted in Load |
% | % | Firmware | % | Ready to Compile | % | % | Submitted in Version |
% | % | Firmware | % | Ready to Verify | % | % | Submitted in Load |
% | % | Firmware | % | Ready to Verify | % | % | Submitted in Version |
% | % | Firmware | % | Received | % | % | Fix Forecast Date |
% | % | Firmware | % | Received | % | % | Milestone |
% | % | Firmware | % | Unconfirmed | % | % | Found in Load |
% | % | Firmware | % | % | % | % | Fix Version |
% | % | Firmware | % | Verification Failed | % | % | Tested in Load |
% | % | Firmware | % | Verification Failed | % | % | Tested in Load |
% | % | Firmware | % | Verification Failed | % | % | Tested in Version |
% | % | Firmware | % | Verification Passed | % | % | Sourced in Load |
% | % | Firmware | % | Verification Passed | % | % | Sourced in Version |
% | % | Firmware | % | Verification Passed | % | % | Tested in Load |
% | % | Firmware | % | Verification Passed | % | % | Tested in Version |
% | % | Firmware | % | Work in Progress | % | % | Milestone |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Operational Impacts |
% | Product Defect | Firmware | % | Closed | % | Fix Provided | Activity ID |
% | Product Defect | Firmware | % | Closed | % | Fix Provided | Defect Type |
% | Product Defect | Firmware | % | Closed | % | Fix Provided | Design Phase Detected |
% | Product Defect | Firmware | % | Closed | % | Fix Provided | Design Phase Injected |
% | Product Defect | Firmware | % | Closed | % | Fix Provided | Phase Escape Reason |
% | Product Defect | Firmware | % | Closed | % | Fix Provided | Version Injected |
% | Product Defect | Firmware | % | Replied | Not Fixing | % | Defect Type |
% | Product Defect | Firmware | % | Replied | Test Deferred | % | Defect Type |
% | Product Defect | Firmware | % | Replied | Not Fixing Dependent | % | Defect Type |
% | Product Defect | Firmware | % | Replied | Test Deferred | % | Design Phase Injected |
% | Product Defect | Firmware | % | Replied | Not Fixing | % | Phase Escape Reason |
% | Product Defect | Firmware | % | Replied | Test Deferred | % | Phase Escape Reason |
% | Product Defect | Firmware | % | Replied | Not Fixing Dependent | % | Phase Escape Reason |
% | Product Defect | Firmware | % | Replied | Not Fixing | % | Reply Reason |
% | Product Defect | Firmware | % | Replied | No Defect | % | Reply Reason |
% | Product Defect | Firmware | % | Replied | Not Reproducible | % | Reply Reason |
% | Product Defect | Firmware | % | Replied | No Defect | % | Reply Reason |
% | Product Defect | Firmware | % | Replied | Not Fixing Dependent | % | Reply Reason |
% | Product Defect | Firmware | % | Replied | Test Deferred | % | Version Injected |
% | Product Defect | Software | % | Unconfirmed | % | % | Test Activity |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Test Activity |
% | Product Defect | Documentation | % | Unconfirmed | % | % | Test Activity |
% | Product Defect | Software | % | Unconfirmed | % | % | Test Method |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Test Method |
% | Product Defect | Software | % | Unconfirmed | % | % | Testbed |
% | Product Defect | Firmware | % | Unconfirmed | % | % | Testbed |
% | Product Defect | Firmware | % | Verification Failed | % | % | Defect Type |
% | Product Defect | Firmware | % | Verification Failed | % | % | Design Phase Detected |
% | Product Defect | Firmware | % | Verification Failed | % | % | Design Phase Injected |
% | Product Defect | Firmware | % | Verification Failed | % | % | Phase Escape Reason |
% | Product Defect | Firmware | % | Verification Failed | % | % | Version Injected |
% | Product Defect | Firmware | % | Verification Passed | % | % | Defect Type |
% | Product Defect | Firmware | % | Verification Passed | % | % | Design Phase Detected |
% | Product Defect | Firmware | % | Verification Passed | % | % | Design Phase Injected |
% | Product Defect | Firmware | % | Verification Passed | % | % | Phase Escape Reason |
% | Product Defect | Firmware | % | Verification Passed | % | % | Version Injected |
% | Product Defect | Firmware | % | Work in Progress | % | % | Defect Type |
% | Product Defect | Firmware | % | Work in Progress | % | % | Design Phase Injected |
% | Product Defect | Firmware | % | Work in Progress | % | % | Phase Escape Reason |
% | Product Defect | Firmware | % | Work in Progress | % | % | Version Injected |
% | % | Hardware | % | % | % | % | Test Activity |
% | % | Hardware | % | Replied | Not Fixing | % | Escalation Prime |
% | % | Hardware | % | Replied | Not Fixing | % | Test Activity |
% | % | Hardware | % | Replied | No Defect | % | Escalation Prime |
% | % | Hardware | % | Replied | No Defect | % | Test Activity |
% | % | Hardware | % | Replied | Not Reproducible | % | Escalation Prime |
% | % | Hardware | % | Replied | Not Reproducible | % | Test Activity |
% | % | Hardware | % | Closed | % | Fix Provided | Escalation Prime |
% | % | Hardware | % | Closed | % | Dependent Fix Provided | Escalation Prime |
% | % | Hardware | % | Closed | % | Fix Provided | Test Activity |
% | % | Hardware | % | Closed | % | Dependent Fix Provided | Test Activity |
% | % | Hardware | % | Closed | % | Fix Provided | Version Injected |
% | % | Hardware | % | Closed | % | Dependent Fix Provided | Version Injected |
% | % | Hardware | % | Declined | % | % | Escalation Prime |
% | % | Hardware | % | Declined | % | % | Test Activity |
% | % | Hardware | % | Closed | % | Duplicate | Escalation Prime |
% | % | Hardware | % | Closed | % | Duplicate | Test Activity |
% | % | Hardware | % | Need Info | % | % | Escalation Prime |
% | % | Hardware | % | Need Info | % | % | Test Activity |
% | % | Hardware | % | Replied | Not Reproducible | % | Escalation Prime |
% | % | Hardware | % | Replied | Not Reproducible | % | Test Activity |
% | % | Hardware | % | Ready to Build | % | % | Escalation Prime |
% | % | Hardware | % | Ready to Build | % | % | Test Activity |
% | % | Hardware | % | Ready to Build | % | % | Version Injected |
% | % | Hardware | % | Ready to Compile | % | % | Escalation Prime |
% | % | Hardware | % | Ready to Compile | % | % | Test Activity |
% | % | Hardware | % | Ready to Compile | % | % | Version Injected |
% | % | Hardware | % | Ready to Verify | % | % | Escalation Prime |
% | % | Hardware | % | Ready to Verify | % | % | Test Activity |
% | % | Hardware | % | Ready to Verify | % | % | Version Injected |
% | % | % | % | Received | % | % | Escalation Prime |
% | % | Hardware | % | Received | % | % | Test Activity |
% | % | Hardware | % | Replied | Duplicate | % | Escalation Prime |
% | % | Hardware | % | Replied | Duplicate | % | Test Activity |
% | % | Hardware | % | Verification Failed | % | % | Escalation Prime |
% | % | Hardware | % | Verification Failed | % | % | Test Activity |
% | % | Hardware | % | Verification Failed | % | % | Version Injected |
% | % | Hardware | % | Verification Passed | % | % | Escalation Prime |
% | % | Hardware | % | Verification Passed | % | % | Test Activity |
% | % | Hardware | % | Verification Passed | % | % | Version Injected |
% | % | Hardware | % | Work in Progress | % | % | Escalation Prime |
% | % | Hardware | % | Work in Progress | % | % | Test Activity |
% | % | Hardware | % | Work in Progress | % | % | Version Injected |
% | % | Other | % | % | % | % | Platform Type |
% | % | System | % | % | % | % | Platform Type |
% | % | System | % | % | % | % | Found in Load |
% | % | Firmware | % | Unconfirmed | % | % | Component |
% | % | Documentation | % | Unconfirmed | % | % | Component |
% | % | Other | % | Unconfirmed | % | % | Component |
% | Product Defect | Documentation | % | Closed | % | Fix Provided | Design Phase Detected |
% | Product Defect | Documentation | % | Unconfirmed | % | % | Testbed |
% | % | Documentation | % | % | % | % | Fix Version |
% | % | Other | % | % | % | % | Fix Version |
% | % | Firmware | % | % | % | % | Found in Version |
% | % | Documentation | % | % | % | % | Found in Version |
% | % | Other | % | % | % | % | Found in Version |
Regards,
Jon
I guess there's more to your question than you're including, as I know you are aware of some of the potential solutions for this.
I agree with Radu, if you have masses of config create a new db table and keep that there. You could then modify the "fields required" validator from JSU to read this table, and if you use the behaviours plugin you can check the box that says "use requiredness from JSU" which will make the fields required before the user presses submit. (As validators don't come into play until the user submits, which is a bit irritating).
I would create dynamic validators, of course (directly in Java, or via scripting) placing all the mandatory fields in a database.
We did something similar (actually more complex than that) for one of our customers.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks to both Jamie and Radu for your responses. I did it using a JIRA Groovy Scriptrunner validator script. In a panic to get it done I hardcoded the rules in - but in phase II (starting shortly) I will implement the DB to make the data more manageable.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.