首页 > 解决方案 > Jazz RTC Java API:如何按名称查找项目区域

问题描述

我正在为 IBM Rational Team Concert(IBM aka Jazz RTC)工作。

java/groovy 脚本接收项目区域名称并需要检索有关项目区域的信息,由IProjectArea实例表示。

哪些是必需的 API 调用?显然,API 中没有这样的查询。

标签: javagroovyrational-team-concert

解决方案


API 不是为搜索项目区域而设计的。幸运的是,有一个IProcessClientService.findProcessArea(URI areaURI, Collection properties, IProgressMonitor monitor)方法:

  1. 调用ITeamRepository.getClientLibrary(IProcessClientService)以获取IProcessClientService实例。
  2. 打电话IProcessClientService.findProcessArea(URI areaURI, Collection properties, IProgressMonitor monitor)
    • areaURI是项目区域名称,“编码为 URI”(无法解释原因,它在内部转换回字符串)。我必须对名称进行 URL 编码,但要确保将空格编码为编码标准,%20而不是+编码标准。
    • 我没有找到有关该properties集合的文档。适用于空值。
    • 进度监视器,可能为空。
  3. 该方法已经返回了一个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
}

推荐阅读