我正在尝试创建一个程序,该程序将显示项目的特定问题类型的必填字段。到目前为止,我能够使用JRJC显示项目和问题的值。但是,我无法弄清楚如何显示默认屏幕。任何人都面临同样的问题?
谢谢
答案 0 :(得分:1)
这是正确的 - 您需要使用项目密钥,问题类型键调用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());
}
}
}