【问题标题】:Using the Rally Rest API for CRUD operations使用 Rally Rest API 进行 CRUD 操作
【发布时间】:2011-02-08 00:59:28
【问题描述】:

在我的公司,我们最近开始使用Rally 作为我们的项目管理工具。最初,我们团队外部的某个人投入了大量时间,使用与我们团队现有方案不相符的命名约定手动创建迭代。我不想让这个可怜的灵魂一个一个地手动删除这些空迭代,我想使用 Rally 的 REST API 自动化这个过程。简而言之,我们需要删除这 100 多个空迭代,这些迭代跨越 3 个不同的项目(它们都共享一个共同的父项目)。

我花了一些时间查看rally-rest-api ruby​​ gem,虽然我有一些有限的 Ruby 经验,但 API 的 Query 接口仍然让我感到困惑,我遇到了一些麻烦把我的头缠在它周围。我知道我的正则表达式想要什么,但我只是不知道如何将它提供给查询。

这是我目前所拥有的:

require 'rubygems'
require 'rally_rest_api'

rally = RallyRestAPI.new(:username => "myuser", 
                         :password => "mypass")
regex = /ET-VT-100/    
# get all names that match criteria
iterations  = rally.find(:iteration) { "query using above regex?" }
# delete all the matching iterations
iterations.each do |iteration|
  iteration.delete    
end

任何指向正确方向的指针都将不胜感激。我觉得我快到了。

【问题讨论】:

    标签: ruby api rest crud rally


    【解决方案1】:

    几个月前,当我想重命名一大组迭代时,我不得不做类似的事情。

    首先,确保与您进行身份验证的用户至少在您要从中删除迭代的所有项目中分配了“编辑”角色。此外,如果您的工作区中有任何您没有读取权限的项目,您必须首先提供一个项目元素以供查询开始。 (您甚至可能不知道它们,您组织中的其他人可能已经创建了它们)。

    以下内容获取对项目的引用,然后使用指定的正则表达式循环遍历迭代:

    require 'rubygems'
    require 'rally_rest_api'
    
    rally = RallyRestAPI.new(:username => "myuser", 
                             :password => "mypass")
    
    # Assumes all projects contain "FooBar" in name
    projects  = rally.find(:project) { contains :name, "FooBar"}
    projects.each do |project|
      project.iterations.each do |iteration|
        if iteration.name =~ /ET-VT-100/
          iteration.delete
        end  
      end
    end
    

    【讨论】:

      【解决方案2】:

      试试:

      iterations = rally.find(:iteration) { contains :name, "ET-VT-100" }
      

      这假设迭代的名称中有 ET-VT-100,您可能需要查询其他字段。 REST api 不支持正则表达式,afaict。

      【讨论】:

      • 我收到以下错误:<OperationResultError>Not authorized to read: Iteration 357306536</OperationResultError>。我仔细检查了我对每个项目的权限,每个项目都有编辑器。
      • 看我上面对这个问题的回答,你很可能必须先得到一个项目的参考。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多