【问题标题】:JIRA gadget REST module wont give value backJIRA 小工具 REST 模块不会返回价值
【发布时间】:2015-01-08 05:06:40
【问题描述】:

我正在尝试开发一个 Atlassian JIRA 小工具,它将使用 REST 模块.java 文件中获取值。为了解决这个问题,我阅读了 JIRA 文档(RESTgadgets 等等)并举了一些例子。所以我得到了 i.a.以下代码:

小工具.xml: ...

   <Content type="html" view="profile">
   <![CDATA[
#requireResource("com.atlassian.jira.gadgets:common")
#includeResources()

<script type="text/javascript">
    (function () {
        var gadget = AJS.Gadget({
            baseUrl: "__ATLASSIAN_BASE_URL__",
            useOauth: "/rest/gadget/1.0/currentUser",
            view: {
                   template: function(args) {
          var gadget = this;       
          var userDetails = AJS.$("<h1/>").text("Hello, "+args.fred.firstName);       
          gadget.getView().html(userDetails);
            },
                  args: [{
                        key: "fred",
                        ajaxOptions: function() {
                            return {
                                url: "/rest/My_Dashboard/1.0/users"
                            };
                        }
                    }]
            }
        });
    })();
</script>
]]>

RestHelloWorldService.java:

package com.atlassian.jira.plugin.tutorial;

import com.atlassian.jira.plugin.tutorial.*;
import javax.ws.rs.*;
import javax.ws.rs.core.*;

@Path("/")
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public class RestHelloWorldService { 
    @GET
    @Path("users")
    public Response getUncompletedUsers() {
        return Response.ok(new User("Fred","Bloggs")).build();
    }
}

还有User.java:

package com.atlassian.jira.plugin.tutorial;

import com.atlassian.jira.plugin.tutorial.*;
import javax.xml.bind.annotation.*;


@XmlRootElement
public class User
{
    @XmlElement
    private String firstName;

    @XmlElement
    private String lastName;

    // This private constructor isn't used by any code, but JAXB requires any
    // representation class to have a no-args constructor.
    private User() { }

    public User(String firstName, String lastName)
    {
        this.firstName = firstName;
        this.lastName = lastName;
    }
}

建立成功!

但我的小工具仍然没有显示任何内容。数据位于 URL 位置:

<user>
<firstName>Fred</firstName>
<lastName>Bloggs</lastName>
</user>

可能出了什么问题? 我没有想法......

【问题讨论】:

    标签: java rest jira


    【解决方案1】:

    发现问题了!

    我必须在 gadget.xml 中添加两行来将 contentType 和 dataType 设置为 JSON:

    ...args: [{
             key: "fred",
             ajaxOptions: function() {
                                return {
                                    url: "/rest/My_Dashboard/1.0/users", 
                                    contentType: "application/json",
                                    dataType: "json",
                                };
                            }
                        }]
    

    还是谢谢你的回答!

    【讨论】:

      猜你喜欢
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      相关资源
      最近更新 更多