linking items on jira on premise with Component accessor

incoming jira datacenter
//imports

import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.link.IssueLinkManager


if(replica.relationid){

//getting Issue Manager component
def issueKeyFinder = ComponentAccessor.getComponent(IssueManager)

//sourceIssueId
def idThisIssue = issueKeyFinder.getIssueByCurrentKey(issue.key)

//destinationIssueId
def exalateId = nodeHelper.getLocalIssueFromRemoteUrn(replica?.relationid)?.key
def idIssueToBeLinked = issueKeyFinder.getIssueByCurrentKey(exalateId)


def sourceIssueId = idThisIssue.id 
def destinationIssueId = idIssueToBeLinked.id   
def linkTypeId = 10003
def sequence = 1L 
def remoteUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()



def issueLinkManager = ComponentAccessor.getComponent(IssueLinkManager)
issueLinkManager.createIssueLink(sourceIssueId, destinationIssueId, linkTypeId, sequence, remoteUser)


}
outgoing ado
def res = httpClient.get("/_apis/wit/workitems/${workItem.key}?\$expand=relations&api-version=6.0",false)



if (res.relations != null){
    replica."relation" = res.relations[0].attributes.name
    replica."relationid" = (res.relations[0].url).tokenize('/')[7]
   // debug.error(replica."relationid")
    }