【发布时间】:2015-09-27 01:46:48
【问题描述】:
我正在尝试创建一个程序,该程序将为项目的特定问题类型显示必填字段。到目前为止,我能够使用 JRJC 显示项目和问题的价值。但是我无法弄清楚如何显示默认屏幕。有人遇到同样的问题吗?
谢谢
【问题讨论】:
-
我猜它与getCreateMetaData有关,但仍然无法弄清楚如何使用它
标签: java jira-rest-api jira-rest-java-api
我正在尝试创建一个程序,该程序将为项目的特定问题类型显示必填字段。到目前为止,我能够使用 JRJC 显示项目和问题的价值。但是我无法弄清楚如何显示默认屏幕。有人遇到同样的问题吗?
谢谢
【问题讨论】:
标签: java jira-rest-api jira-rest-java-api
没错 - 您需要使用项目键、问题类型键调用 createmeta 调用,然后展开字段 -
curl -D- -u fred:fred -X GET -H "Content-Type: application/json" http://kelpie9:8081/rest/api/2/issue/createmeta?projectKeys=QA&issuetypeNames=Bug&expand=projects.issuetypes.fields
这将为您提供一个字段列表,您可以检查此字段是否为必填项。
JRJC 等价物是 getCreateMetaData 调用
GetCreateIssueMetadataOptions options = new GetCreateIssueMetadataOptionsBuilder()
.withExpandedIssueTypesFields()
.withProjectKeys("CGIM")
.build();
List myList=(List) restClient.getIssueClient().getCreateIssueMetadata(options, pm); // getting the issue creation metadata relatively to the project im searching for
java.util.Iterator<CimProject> it1=myList.iterator();
while(it1.hasNext())
{
CimProject c=it1.next();
List issueT=(List) c.getIssueTypes(); // getting the list of issue types linked to this project
java.util.Iterator<CimIssueType> it2=issueT.iterator();
while (it2.hasNext())
{
CimIssueType issueType=it2.next();
System.out.print(issueType.getName());
Map<String, CimFieldInfo> fieldList=issueType.getFields(); // getting the list of fields linked to each issue type
for(Entry<String, CimFieldInfo> entry : fieldList.entrySet()) {
String cle = entry.getKey();
CimFieldInfo valeur = entry.getValue();
System.out.println(valeur.getName());
}
}
}
【讨论】: