JIRA-列出配置中的项目并记住选择

JIRA-列出配置中的项目并记住选择,jira,jira-plugin,Jira,Jira Plugin,我正在尝试创建一个仪表板小工具,它将在其配置对话框中显示JIRA项目列表,并允许用户从列表中进行选择。我需要能够记住这个项目列表(以某种方式将它们保存在服务器上)。我该怎么做才能得到一份清单呢 我正在使用最新的jira版本 谢谢在gadget.xml文件中使用以下代码: 。。。 ... (功能(){ var gadget=AJS.gadget({ baseUrl:“\uuuuAtlassian\uBase\uURL”, 配置:{ 描述符:函数(args){ var gadget=this; va

我正在尝试创建一个仪表板小工具,它将在其配置对话框中显示JIRA项目列表,并允许用户从列表中进行选择。我需要能够记住这个项目列表(以某种方式将它们保存在服务器上)。我该怎么做才能得到一份清单呢

我正在使用最新的jira版本

谢谢

在gadget.xml文件中使用以下代码:

。。。
...
(功能(){
var gadget=AJS.gadget({
baseUrl:“\uuuuAtlassian\uBase\uURL”,
配置:{
描述符:函数(args){
var gadget=this;
var projects=[{“label”:“All”,“value”:“}];
projectsMap=args.projects.options;
用于(输入项目地图){
projectName=projectsMap[key]。标签;
push({“label”:projectName,“value”:projectName});
}
返回{
字段:[
{
userpref:“projectId”,
标签:“项目”,
键入:“选择”,
选中:this.getPref(“projectId”),
选项:项目
},
...
gadget.fields.nowConfigured()
]
};
},
args:[{
关键:“项目”,
ajaxOptions:“/rest/gadget/1.0/filtersAndProjects?showFilters=false”
}]
},
视图:{
enableReload:true,
模板:函数(args){
var gadget=this;
...
},
args:[{
键:“时间表”,
ajaxOptions:function(){
返回{
url:“/rest/timepo resource/1.0/issues report.json”//将您的url放在这里
数据:{
projectId:this.getPref(“projectId”),
...
baseUrl:“\uuuuAtlassian\uBase\uUrl\uuuuuu”
}
};
}
}]
}
});
})();
...
<UserPref name="projectId" display_name="Project" datatype="select" default_value=""/>
...
<script type="text/javascript">
    (function () {
        var gadget = AJS.Gadget({
            baseUrl: "__ATLASSIAN_BASE_URL__",
            config: {
            descriptor: function (args) {
              var gadget = this;

              var projects = [{"label":"All","value":""}];
              projectsMap = args.projects.options;
              for(key in projectsMap) {
                projectName = projectsMap[key].label;
                projects.push({"label":projectName,"value":projectName});
              }

              return {
                  fields: [
                      {
                        userpref: "projectId",
                        label: "Project",
                        type: "select",
                        selected: this.getPref("projectId"),
                        options: projects
                      },
                      ...
                      AJS.gadget.fields.nowConfigured()
                  ]
              };
            },
            args : [{
              key: "projects",
              ajaxOptions: "/rest/gadget/1.0/filtersAndProjects?showFilters=false"
            }]
            },
            view: {
                enableReload: true,
                template: function(args) {
                    var gadget = this;
                    ...
                },
                args: [{
                    key: "timesheet",
                    ajaxOptions: function() {
                        return {
                            url: "/rest/timepo-resource/1.0/issues-report.json",  //put your url here
                            data: {
                              projectId: this.getPref("projectId"),
                              ...
                              baseUrl: "__ATLASSIAN_BASE_URL__"
                            }
                        };
                    }
                }]
            }
        });
    })();
</script>