Skip to end of banner
Go to start of banner

Limit the number of characters in a text-entry field

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Problem

  • You want to limit the number of characters a user enters into a single-line or multi-line text field.

  • You want to indicate how many characters remain and if the maximum is exceeded.

Let's see how you can achieve the above scenarios using Power Scripts™ for Jira, a powerful scripting tool to help automate your Jira.

What these Scripts do

  • The listener script listens to the Summary field and runs the executor script on any character entry or removal.

  • The executor script checks the number of characters against a declared maximum and disables the create/submit button if exceeded.

Configure Live Field Listener

You should configure this script as a Live Field script for the relevant project. This Live Field script listens to the Summary field and provides feedback for how many characters the user has entered by invoking lfExecutor_CharacterLimitSummary.sil.

if(argv["screen"] == "create" || argv["screen"] == "edit") {
  lfWatch("summary", {"summary"}, "lfExecutor_CharacterLimitSummary.sil" , {"keyup"});
}

Listener References Live Field Executor

lfExecutor_CharacterLimitSummary.sil

This Live Field script checks how many characters have been entered in the Summary field and gives feedback. It also removes the ability to create or edit the issue if the number of characters exceeds an arbitrary value (we'll use 140 characters as an example).

number sumLength = length(argv["summary"]);
number maxLength = 140;
number remLength = maxLength - sumLength;

string showRem = remLength;

if (sumLength<=maxLength) {
    lfShowFieldMessage("summary", showRem+" characters remaining", "INFO");
    lfEnable("editSubmit");
    lfEnable("transitionSubmit");
    lfEnable("createIssueSubmit");
    lfEnable("issueCreateSubmit");
}
else {
    lfShowFieldMessage("summary", "Character count exceeded!", "ERROR");
    lfDisable("editSubmit");
    lfDisable("transitionSubmit");
    lfDisable("createIssueSubmit");
    lfDisable("issueCreateSubmit");
}

  • No labels