【发布时间】:2021-05-22 03:58:01
【问题描述】:
我正在为 IBM Rational Team Concert(IBM aka Jazz RTC)工作。
java/groovy 脚本接收项目区域名称并需要检索有关项目区域的信息,由IProjectArea 实例表示。
需要哪些 API 调用?显然,API 中没有这样的查询。
【问题讨论】:
标签: java groovy rational-team-concert
我正在为 IBM Rational Team Concert(IBM aka Jazz RTC)工作。
java/groovy 脚本接收项目区域名称并需要检索有关项目区域的信息,由IProjectArea 实例表示。
需要哪些 API 调用?显然,API 中没有这样的查询。
【问题讨论】:
标签: java groovy rational-team-concert
API 不是为搜索项目区域而设计的。幸好有IProcessClientService.findProcessArea(URI areaURI, Collection properties, IProgressMonitor monitor)方法:
ITeamRepository.getClientLibrary(IProcessClientService) 获取IProcessClientService 实例。IProcessClientService.findProcessArea(URI areaURI, Collection properties, IProgressMonitor monitor)。
areaURI 是项目区域名称,'encoded as URI'(无法解释为什么,它在内部转换回字符串)。我必须对名称进行 URL 编码,但要确保空格被编码为 %20 而不是 + 这将是编码标准。properties 集合的文档。适用于 null。IProcessArea 实例,而不是IProcessAreaInstance,正如我最初通过与类似API 方法比较所期望的那样。因此,不需要“获取”。IProjectArea findProjectAreaByName(String name) {
def processClient = repositoty.getClientLibrary(IProcessClientService) as IProcessClientService
def uri = URI.create(URLEncoder.encode(name, "UTF-8").replace('+','%20'))
return processClient.findProcessArea(uri, null, null) as IProjectArea
}
【讨论】: