Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Lock an issue - a better variant (Live Fields)

Table of Contents

 

 



Info
titleRequired plugins
You will need the following JIRA plugins:
  1. JJUPIN
  2. Blitz-Actions

Level: INTERMEDIATE

...

  • Configure the "Disable" Custom Field by choosing the cog icon  and selecting the "Configure" option.
  • Add two new buttons by clicking on the "Edit Buttons" link. Name those two buttons: "Lock" and "Unlock":

 


Step 2

Create a new Custom Field that keeps the username of the user that locked the issue editing.

...

On this step we have connected the buttons we've created to toggle the Is Locked Custom Field when pressing them.

...



Step 3

Now we have to make the SIL script that will do the disable operation during the edit.

  • Go to Administration >> Plugins >> Kepler General Parameters
  • Go to SIL Manager tab
  • Create a new SIL script named "Lock.sil" by clicking on the Show Unused button.
  • Select the folder you prefer and clicNew. Choose File and enter the "Lock.sil" name.
  • Enter the following code in the ""Lock.sil":

...


Code Block
if (length(customfield_10304) != 0 && customfield_10304 != currentUser()) {
  lfDialogMessage("Somebody else is editing this issue.", "WARNING");
  lfDisable("issueType");
  lfDisable("priority");
  lfDisable("affectedVersions");
  lfDisable("status");
  lfDisable("resolution");
  lfDisable("summary");
  lfDisable("fixVersions");
  lfDisable("assignee");
  lfDisable("reporter");
  lfDisable("created");
  lfDisable("updated");
  lfDisable("labels");
  lfDisable("editSubmit");
  lfDisable("transitionSubmit");
  lfExecuteJS("ScriptHide.js");
}

lfWatch("customfield_10304", {"customfield_10304"}, "disable.sil");
lfWatch("edit-issue", {}, "disable.sil","click");

 


  • Create a new SIL script named "disable.sil" and enter the following code:

...

  • Add a new file named "ScriptShow.js" and enter the following code:

...


Code Block
AJS.$('#rowForcustomfield_10300').show();

 


  • Add a new file named "ScriptHide.js" and enter the following code:

...

  • Add the first SIL script as a hook on the project you desire.
  • Go to Live Fields tab.
  • Add a new configuration by clicking the "Add configuration" button.
  • Name it whatever you like.
  • Add the Lock.sil script you have just created on the SIL File box.
  • Press Add button.
  • Associate this configuration by pressing the Associate link.
  • Select your desired project and click the Associate button.

...


This is all. You can now test it by opening two different sessions with two different users and try the lock and unlock buttons.