2009-10-02 51 views
9

公平警告:除非您有JIRA经验并有权访问其源代码(企业用户),否则此问题将非常难以回答。Atlassian JIRA插件开发:如何使速度模板中的变量可用

大家好,

我写延伸AbstractIssueSelectAction插件。我注意到,${issue.summary}等都可以在我的速度模板中使用,但是,还有其他一些我想要公开的内容。我不知道如何添加其他东西到速度参数映射。我甚至使用了一个远程调试器来尝试遍历堆栈并确定发生了什么 - 但是由于深度堆栈以及我无法正确连接所有源(和许多webwork东西似乎被混淆)。

我已经在Atlassian支持论坛上发布了这个问题,我只是在这里交叉发布以获得更多关于该问题的看法。

示例动作代码:

public class MyOperation extends AbstractIssueSelectAction { 

    // ... 
    private final Issue myIssue; 

    public String doCollect() throws Exception { 
     log.debug("Running doCollect()"); 
     return "collectinfo"; 
    } 
} 

示例插件配置:

<webwork1 key="unique_key" name="My Name" class="java.lang.Object"> 
    <actions> 
    <action name="com.mycompany.jira.extensions.MyOperation" alias="MyOperation"> 
    <view name="collectinfo">/templates/myoperation-collectinfo.vm</view> 
    <view name="success">/templates/myoperation-success.vm</view> 
    </action> 
    </actions> 
    </webwork1> 

在Velocity模板,${issue.summary}正确解析当前的问题的总结,但如果myIssue是一些其他的问题,例如,我希望能够使用${myIssue.summary}

谢谢! -Carl

+0

注:这个问题是关于JIRA 3.X,4.X,可能不再适用于JIRA 5.X +,它不再是常见的延长像AbstractIssueSelectAction – cmyers 2012-08-07 17:23:02

回答

7

如何使用$ action.mymethod()获取信息,其中mymethod是您在Action类“MyOperation”中定义的方法?速度参数很难找出它们是如何得到填充的。

〜马特

+2

马特, 抽象类我想你是有问题的。令人尴尬的是,我的getters返回null,因为它们没有被初始化,我的init()函数只在稍后运行。不幸的是,JIRA像NPE那样吞噬了NPE,所以我只能在尝试了你的建议后才告诉 - 称$ {action.myMethod()}暴露了NPE。谢谢马特! – cmyers 2009-10-02 18:59:58

相关问题