The summary field is as far as I can tell impoosible to rename for a specific project. Given that I'm using a workflow that would result in my users being confused as to what they should do with the Summary field I would like to hide it. During creation I would then like to populate it based upon other fields.
How can I do this with JIRA 6? I've seen answers for JIRA 4 which didn't really help at all, the answer provided a javascript solution which I'm not certain where that configuration would go.
Ultimately I'm looking to rename the summary field, but because I can't I'm making an attempt to work around the issue but every idea seems to be met with road blocks.
Hi Everybody,
We have a working solution for this (at least in JIRA 6.3.12) using Javascript injection and ScriptRunner postfunction you can hide the summary field and populate it with a calculated value:
Add a scriptrunner postfunction in the "create" (after the "Creates the issue originally" step):
import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.CustomFieldManager import com.atlassian.jira.issue.fields.CustomField import com.atlassian.jira.user.ApplicationUsers import com.atlassian.jira.event.type.EventDispatchOption import com.atlassian.jira.component.ComponentAccessor CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager(); CustomField customField = customFieldManager.getCustomFieldObjectByName("First name"); String firstName = issue.getCustomFieldValue(customField)!=null?issue.getCustomFieldValue(customField).toString():""; customField = customFieldManager.getCustomFieldObjectByName("Last name"); String lastName = issue.getCustomFieldValue(customField)!=null?issue.getCustomFieldValue(customField).toString():""; customField = customFieldManager.getCustomFieldObjectByName("Office"); String office = issue.getCustomFieldValue(customField)!=null?issue.getCustomFieldValue(customField).toString():""; customField = customFieldManager.getCustomFieldObjectByName("Arrival date"); String arrivalDate = issue.getCustomFieldValue(customField)!=null?issue.getCustomFieldValue(customField).toString():""; issue.summary = "Newcomer - "+firstName+" "+lastName+" - "+office+" - "+arrivalDate.substring(0,10) def user = ApplicationUsers.toDirectoryUser(ComponentAccessor.jiraAuthenticationContext?.getUser()) issueManager = ComponentAccessor.getIssueManager() issueManager.updateIssue(user, issue, EventDispatchOption.DO_NOT_DISPATCH, false)
2. In the Field Configuration add in description of the Summary field the following javascript code:
<div id="summaryNewCommer"> <script type="text/javascript"> (function($) { AJS.toInit(function() { var currentUrl = window.location.href; if (currentUrl.indexOf('/secure/admin/') == -1) { AJS.$("#summaryNewCommer").parent().parent().hide(); jQuery("#create-issue-submit").click(function() { var summary_value = "temp"; jQuery("input#summary").val(summary_value); }); } }) JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, function(e, context, reason ) { var currentUrl = window.location.href; if (currentUrl.indexOf('/secure/admin/') == -1 && reason != 'inlineEditStarted') { var $context = AJS.$(context); jQuery("input#summary").val(''); $context.find("#summaryNewCommer").parent().parent().hide(); jQuery("#create-issue-submit").click(function() { var summary_value = "temp"; jQuery("input#summary").val(summary_value); }); } }); })(AJS.$); </script> </div>
you can use the following simple JavaScript to hide summary field and the other field value to it
<script type="text/javascript"> jQuery(document).ready(function($) { JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, function (e,context) { callSummaryFunction(); }); callSummaryFunction(); function callSummaryFunction(){ var issueTypeCreate = $("#issuetype-field").val(); var issueTypeVal = $("#type-val").text(); var issuetype=$.trim(issueTypeVal); if((issuetype != null && issuetype === "Bug") || (issueTypeCreate != null && issueTypeCreate === "Bug")){ $('#summary').closest('div.field-group').hide(); var testField=document.getElementById('customfield_13786'); $(testField).change(function(){ $("#summary").val($("#customfield_13786 option:selected").text()); }); } } }); </script>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Francois SERGOT that worked like a treat for me on JIRA v6.4.1. Only thing I had to do to get the scriptrunner postfunction script to compile was to ensure the following statement was changed from:
issue.summary =
"Newcomer - "
+firstName+
" "
+lastName+
" - "
+office+
" - "
+arrivalDate.substring(
0
,
10
)
to
def issue.summary =
"Newcomer - "
+firstName+
" "
+lastName+
" - "
+office+
" - "
+arrivalDate.substring(
0
,
10
)
I had to insert a 'def" keyword in front of the statement and all was good after that.
In much appreciation,
Trevor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You can create a customField and "Inject" JavaScript there (Not nice, but works). Simple name it "NoSummaryField" and paste your JS in the customField description. Now you can add it to your createIssue Mask.
</div> <script type="text/javascript"> jQuery("label:contains('NoSummaryField')").parent().hide(); jQuery("input#summary").parent().hide(); jQuery("#create-issue-submit").click(function(){ // TODO: fetch ur summary value here var summary_value = "TEST"; jQuery("input#summary").val(summary_value); }); </script> <div>
Worked for me on JIRA 6.0.2
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In JIRA 6.3.7, JavaScript doesn't appear to work within field descriptions. It gets converted to text (html entities).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The JavaScript would go in the description of the field in a field configuration of the project. Probably the best way to do it. You can achieve similar results with the Behavior Plugin also but again requires a bit scripting.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.