Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

ScriptRunner custom listener script conversion from jira7 to jira6

helen levich
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
July 19, 2019

It might sound strange, but in need to convert jira 7 working script to jira 6.

I thought that I made all changes but it still does not work in jira 6.

Could you please take a quick look at two scripts below 1st is for jira 7 that is working fine and 2nd for jira 6 that is not working.

Your hints will be greatly appreciated.

 

But I need to ask you for help. I need to convert script from jira 7 to jira 6. I thought I did all nessesary changes but it is still not working in jira 6.

could you please take a quick look at two scripts below 1st is for jira 7 that is working fine and 2nd for jira 6 but is not working.

 

Thank you for all help

Helen

 

WORKING IN JIRA 7

import com.atlassian.jira.component.ComponentAccessor;

import com.atlassian.jira.ComponentManager;

import com.atlassian.jira.event.issue.IssueEvent;

import com.atlassian.jira.event.type.EventDispatchOption;

import com.atlassian.jira.issue.CustomFieldManager;

import com.atlassian.jira.issue.customfields.CustomFieldType;

import com.atlassian.jira.issue.fields.CustomField;

import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItemImpl;

import com.atlassian.jira.issue.index.IssueIndexingService;

import com.atlassian.jira.issue.Issue;

import com.atlassian.jira.issue.link.IssueLink;

import com.atlassian.jira.issue.link.IssueLinkManager;

import com.atlassian.jira.issue.ModifiedValue;

import com.atlassian.jira.issue.MutableIssue;

import com.atlassian.jira.issue.util.DefaultIssueChangeHolder;

import com.atlassian.jira.project.version.VersionManager;

import com.atlassian.jira.util.ImportUtils;

import org.apache.log4j.Category;

 

def issueLinkManager = ComponentAccessor.getIssueLinkManager()

def epicissue = event.issue as MutableIssue

def issueManager = ComponentAccessor.getIssueManager();

def versionManager = ComponentAccessor.getVersionManager();

def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()

 

if (epicissue.getIssueType().getName() == "Epic")

    issueLinkManager.getOutwardLinks(epicissue.id).each { issueLink ->      

             if (issueLink.issueLinkType.name == "Epic-Story Link"  && 

          issueLink.getDestinationObject().getIssueType().name == "Story"

         )

       {

MutableIssue issue = issueLink.getDestinationObject() as MutableIssue;

def currentValue = epicissue.getFixVersions()

issue.setFixVersions(currentValue);

issueManager.updateIssue(user, issue, EventDispatchOption.ISSUE_UPDATED, false)

 

               

boolean wasIndexing = ImportUtils.isIndexIssues();

IssueIndexingService indexing = (IssueIndexingService) ComponentAccessor.getComponent(IssueIndexingService.class)

indexing.reIndex(issue)

ImportUtils.setIndexIssues(wasIndexing)

        }

  }

 

NOT WORKING IN JIRA 6

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

import com.atlassian.jira.ComponentManager;

import com.atlassian.jira.issue.CustomFieldManager;

import com.atlassian.jira.issue.customfields.CustomFieldType;

import com.atlassian.jira.issue.fields.CustomField;

import org.apache.log4j.Category;

import com.atlassian.jira.component.ComponentAccessor;

import com.atlassian.jira.issue.ModifiedValue;

import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItemImpl;

import com.atlassian.jira.issue.util.DefaultIssueChangeHolder;

import com.atlassian.jira.util.ImportUtils;

import com.atlassian.jira.event.type.EventDispatchOption;

import com.atlassian.jira.issue.link.IssueLink;

import com.atlassian.jira.issue.link.IssueLinkManager;

import com.atlassian.jira.issue.Issue;

import com.atlassian.jira.issue.link.IssueLink;

import com.atlassian.jira.event.issue.IssueEvent;

import com.atlassian.jira.component.ComponentAccessor;

import com.atlassian.jira.issue.MutableIssue;

 

def issueLinkManager = ComponentAccessor.getIssueLinkManager()

def epicissue = event.issue as MutableIssue

def issueManager = ComponentAccessor.getIssueManager();

def user = authContext.getLoggedInUser()

if (epicissue.IssueType.name == "Epic")

    issueLinkManager.getOutwardLinks(epicissue.getId()).each { issueLink ->      

 if (issueLink.issueLinkType.name == "Epic-Story Link"  && 

          issueLink.getDestinationObject().getIssueType().name == "Story"

         )

       {

   MutableIssue issue = issueLink.getDestinationObject() as MutableIssue;         

 def currentValue = epicissue.getFixVersions()

issue.setFixVersions(currentValue);

           issueManager.updateIssue(event.getUser(), issue, EventDispatchOption.ISSUE_UPDATED, false)

//issueManager.updateIssue(user, issue, EventDispatchOption.ISSUE_UPDATED, false)

 

 

        }

  }

 

 

2 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Torsten Macht
July 24, 2019

Hello. Yes since a few month we've a solution.

We use script fragments with import of nfeed FiedDisplayService

import com.valiantys.nfeed.api.IFieldDisplayService;

@WithPlugin("com.valiantys.jira.plugins.SQLFeed")
@PluginModule
IFieldDisplayService fieldDisplayService;

def issue = context.issue as Issue

String service = "";

//Get the Display or Key with the fieldDisplayService

Object displayResult = fieldDisplayService.getDisplayResult(issue.getKey(), "customfield_10619");
if (displayResult != null) {
    service = displayResult.getDisplay();
}

 best regards

 

Torsten

0 votes
Daphnis Hessling
July 30, 2018

Hi Torsten,

Sorry, but I can't help you with your problem. But I am very interested in how you managed to display nFeed values in a web panel on the right hand side.
We are trying to achieve the same thing, but it just won't work.

Any help would be appreciated.

Regards,
Daphnis

TAGS
AUG Leaders

Atlassian Community Events