Have you detected that a lot of logs have been saved in an incorrect TASK? Have you tried to move it…
This post will help you to move it automatically using Scriptrunner.
Basically, instead of move, the code is doing a copy of logs and later, remove the previous ones.
KEEP CAREFULLY using this code! CONFIRM that the logs have been correctly copied before removing the previous ones.
I hope it helps!
Best regards.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.worklog.Worklog
import com.atlassian.jira.issue.worklog.WorklogImpl2
import com.atlassian.jira.issue.worklog.WorklogImpl
import com.atlassian.jira.security.roles.ProjectRoleManager
def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
def issueManager = ComponentAccessor.getIssueManager()
def sourceIssue = issueManager.getIssueObject("origin task key")
def destinationIssue = issueManager.getIssueObject("destination task key")
def usersRole = projectRoleManager.getProjectRole("Users")
def worklogManager = ComponentAccessor.getWorklogManager()
//get worklogs for issue
def logsForSourceIssue = worklogManager.getByIssue(sourceIssue)
for(Worklog worklog : logsForSourceIssue)
{
def new_worklog = new WorklogImpl(worklogManager,destinationIssue, null, worklog.getAuthorObject().getKey(), worklog.getComment().toString(),worklog.getStartDate() as Date, null, null,worklog.getTimeSpent() as Long)
worklogManager.create(user, new_worklog, 0L, true)
}
def logsForDestinationIssue = worklogManager.getByIssue(destinationIssue)
worklogManager.deleteWorklogsForIssue(destinationIssue)
.