gpt4 book ai didi

ruby - 使用 Rally Rest API 进行 CRUD 操作

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:03 25 4
gpt4 key购买 nike

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

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

这是我目前所拥有的:

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

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

最佳答案

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

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

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

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

关于ruby - 使用 Rally Rest API 进行 CRUD 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4928534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com