Forums

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

How can I get the object of a comment by an add-on (Talk-Advanced Inline Comments) in ScriptRunner ?

Nadav Dahan July 27, 2017

I'm trying to get the object of an in-line comment by Talk. but after several tries I still cannot. This only gets me the ID of the comment. 

def xhtmlContent = ComponentLocator.getComponent(XhtmlContent)
final List<String> ids = new ArrayList<>();

xhtmlContent.handleMacroDefinitions(page.getBodyAsString(), new DefaultConversionContext(page.toPageContext()), new MacroDefinitionHandler() {
    @Override
    public void handle(MacroDefinition macroDefinition) {
        if ("talk".equals(macroDefinition.getName())) {
            ids.add(macroDefinition.getParameters().get("id"));
        }
    }
});

 But I am trying to get the whole object so I can get all the parameters for a report I am making.(Comment Text, Created On, Created By, Status, Color .....)

So I tried other imports such as:

import com.stiltsoft.confluence.talk.manager.TalkManager

and getting the object like this:

def talkManager = ComponentLocator.getComponent(TalkManager)
def talkComment = talkManager.getCommentById(page, "talk-1")

 

or:

@WithPlugin(com.stiltsoft.confluence.talk.confluence-talk-plugin)
@PluginModule(TalkManager)

using this link:

https://scriptrunner.adaptavist.com/latest/jira/scripting-other-plugins.html

Does anyone know how to do this? 

2 answers

0 votes
Ashraful Hasan [Adaptavist]
Contributor
August 2, 2017

Hello,

Following code loads as expected.

import com.onresolve.scriptrunner.runner.ScriptRunnerImpl
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import org.apache.log4j.Level
import org.apache.log4j.Logger

def log = Logger.getLogger("com.test.talk")
log.setLevel(Level.DEBUG)

@WithPlugin("com.stiltsoft.confluence.talk.confluence-talk-plugin")

def talkManager = ScriptRunnerImpl.getPluginComponent(com.stiltsoft.confluence.talk.manager.TalkManager)
talkManager ? log.info("Found: " + talkManager.toString()) : log.info("Not Found")
0 votes
Andrey Khaneev [StiltSoft]
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 Leaders.
July 27, 2017

Try this one

@WithPlugin(com.stiltsoft.confluence.talk.confluence-talk-plugin)
@PluginModule

TalkManger talkManager

 

Nadav Dahan July 29, 2017

I've tried this and it still is unable to resolve the TalkManager classs.

Andrey Khaneev [StiltSoft]
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 Leaders.
July 30, 2017

What error messages do you get?

Nadav Dahan July 30, 2017

error_3.png

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events