3

我正在为 Jira 编写一个插件,我需要添加自定义计算列来发布导航器。该栏应显示最后发表的评论。但在此列中的问题导航器值类似于“ClassName@123456”,而不是评论的正文。我应该怎么做才能将评论的正文返回到此列?

到目前为止的代码:

public class LastCommentField extends CalculatedCFType {
    private CommentManager commentManager = null;

    public LastCommentField(CommentManager commentManager) {
        this.commentManager=commentManager;
    }

    public Object getValueFromIssue(CustomField field, Issue issue) {
        Comment lastComment=null;
        List<Comment> comments = commentManager.getComments(issue);
        if(comments != null && !comments.isEmpty()) {
            lastComment = (Comment)comments.get(comments.size() - 1);
        }   
        return lastComment;
    }

    public String getStringFromSingularObject (Object object) {
        return object.toString();
    }

    public Object getSingularObjectFromString(String value) {
        return value;       
    }
}
4

2 回答 2

2

此功能至少存在于两个插件中,例如https://marketplace.atlassian.com/plugins/net.customware.jira.utils.customware-jira-utilities

但在上面的代码中,所使用的单数对象是一个 Comment 对象,如http://docs.atlassian.com/jira/4.4/com/atlassian/jira/issue/comments/Comment.html中所述 ,但您可能只是想要一个字符串,所以试试

返回 lastComment.getBody();

于 2012-09-26T20:27:19.853 回答
0

不幸的是,我从事物的编码方面不了解 JIRA,但从 Java 方面来说,这听起来很像列后面的对象没有被ToString()覆盖。您看到的是类的名称,后跟内存中的地址。

如果您可以向我们展示该专栏背后的代码,我可能会更了解它。

于 2012-09-24T11:25:57.773 回答