Forums

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

Chnage the comments' author

fobrutsky December 15, 2022

Hi! I'm trying to dinaically change the comments' author in a project in order to, in certain way, to anonymize it. 

I added a listener to the Issue Comment event with the following ScriptRunners code: 

 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.comments.CommentImpl
import com.atlassian.jira.issue.*
import com.atlassian.jira.issue.fields.*
import com.atlassian.jira.bc.project.component.*


    log.warn(event.comment.getAuthor());

    CommentImpl a = (CommentImpl) event.comment;
    a.setAuthor(ComponentAccessor.getUserManager().getUserByName("jdoe"));

    log.warn(event.comment.getAuthor());

    ComponentAccessor.commentManager.update(event.comment, false);


I can see in the logs of the event the name of the original author and then , "John Doe" data. 

 

But finally the author doesn't change. I think it's not enough with the last line of code ... or jira is running something after the execution of my listener.

Any ideas will be apreciated ! 

 

 

1 answer

1 accepted

0 votes
Answer accepted
Florian Bonniec
Community Champion
December 15, 2022

Hi @fobrutsky 

 

Last time I face this use case I end up creating a new comment by copying the current comment then deleting the old one. Pretty sure I did not manage to make the update function worked.

 

So something like that:

 

new comment = commentManager.create(comment.getIssue, YOURNEWUSER, comment.getBody(), comment.getCreated())

commentManager.delete(comment)

 

You need to select the create function that worked for you.

https://docs.atlassian.com/software/jira/docs/api/8.0.0/index.html?com/atlassian/jira/issue/comments/CommentManager.html

 

Regards

fobrutsky December 15, 2022

Certainly the update function should  work :) but it don't. So, good idea!. Will do the way you suggest. Thanks!

Suggest an answer

Log in or Sign up to answer