Modify an actual issue field


I'm trying to modify programmatically an issue field using the code i found here "" in the 145 page. I'm using JIRA 4.1.2, and that's my listener:


public void workflowEvent(IssueEvent event){

IssueInputParameters iip = new IssueInputParametersImpl();
iip.setSummary("I am a new summary");
IssueService is = ComponentManager.getInstance().getIssueService();
UpdateValidationResult updateValidationResult = is.validateUpdate(event.getRemoteUser(), event.getIssue().getId(), iip);
if (updateValidationResult.isValid())
IssueResult updateResult = is.update(event.getRemoteUser(), updateValidationResult);
if (!updateResult.isValid()){}



There's no warnings or errors on the JIRA console, but my summary doesn't change to "I am a new summary". So, how can i change the fields of my actual issue programmatically?

I've been looking the forum and i tryed this ( too:


ComponentManager.getInstance().getIssueFactory().getIssue().setSummary("I am a new summary");

and this too:


final IssueService.IssueResult issueResult = issueService.getIssue(null, event.getIssue().getKey());
final MutableIssue mutableIssue = issueResult.getIssue();
mutableIssue.setSummary("I am a new summary");;


Any idea. Thanks.


4 answers

Hi again,

As i can't change my issue fields...there's any way to access to JIRA database and change it there? If the answer is "yes" my next question must be..."how?". I've seen the JIRA API and i didn't find any connection to database class.



0 votes

It's easy to change it in the database. The process is:

  1. Stop Jira
  2. Backup your database
  3. Prove the backup works by restoring it on another server and checking your test Jira can use it
  4. Run the SQL in live
  5. Restart Jira
  6. Reindex it

The whole point of the API and the structure of the code in Jira is that it isolates you from the database (and other system components) and you shouldn't need to think about it. Your listener is going in the right direction (because it's not touching the database), but the code doesn't look quite right to me, because you've only posted fragments of it. For example, your first block of code doesn't mention the issue at all, there's no mention of reindexing (which may be required), etc

You can have a look at the Jira CLI plugin which provides a command to update existing issue ,examples


Sounds good Mizan, i'll take a look soon.

Nic, i'm agree with "The whole point of the API and the structure of the code in Jira is that it isolates you from the database"...But sometimes is really frustrating :(

I still been unable to do what i want programmatically without 3rd persons plugins :(

Anyway. i refuse to keep on trying this, i'll try something new using links. I'll make a new post beacouse i'll change the topic. Let's see if i can solve a link problem:


IssueLinkManager issueLinkManager = ComponentManager.getInstance().getIssueLinkManager();
try {
issueLinkManager.createIssueLink(event.getIssue().getId(), createResult.getIssue().getId(), 10040L, new Long(0), event.getRemoteUser());
}catch (CreateException e) {e.printStackTrace();}


"10040L" and "new Long(0)" are the required issueLinkTypeId and sequence fields. May you know how to get them? I'd tryed this just for test but is giving me a lot of problems.

Thanks both!

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Jan 08, 2019 in Jira

How to Jira for designers

I’m a designer on the Jira team. For a long time, I’ve fielded questions from other designers about how they should be using Jira Software with their design team. I’ve also heard feedback from other ...

808 views 3 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you