Web services Rally Web Services API:如何获取用户故事的URL链接?(getDetailUrl()方法)
请耐心等待,不要将此标记为重复: 我希望能够为用户故事生成链接。 大概是这样的:********* 与此相反: 该链接将集成到另一个应用程序中,供管理员查看用户故事。 我确实读过getDetailUrl()方法,但在我的例子中,我通过解析电子邮件并将其链接到Slack中的通知服务来创建用户故事。 我知道formattedID和(_ref),但我必须再次查询它,我正在通过一个循环创建一批userstories。我需要实际的网站链接到用户的故事 以下是我的示例代码:Web services Rally Web Services API:如何获取用户故事的URL链接?(getDetailUrl()方法),web-services,rally,Web Services,Rally,请耐心等待,不要将此标记为重复: 我希望能够为用户故事生成链接。 大概是这样的:********* 与此相反: 该链接将集成到另一个应用程序中,供管理员查看用户故事。 我确实读过getDetailUrl()方法,但在我的例子中,我通过解析电子邮件并将其链接到Slack中的通知服务来创建用户故事。 我知道formattedID和(_ref),但我必须再次查询它,我正在通过一个循环创建一批userstories。我需要实际的网站链接到用户的故事 以下是我的示例代码: public void Crea
public void CreateUserStory(string workspace, string project, string userstoryName){
//authenticate with Rally
this.EnsureRallyIsAuthenticated();
//DynamicJsonObject for HierarchicalRequirement
DynamicJsonObject toCreate = new DynamicJsonObject();
toCreate[RallyConstant.WorkSpace] = workspace;
toCreate[RallyConstant.Project] = project;
toCreate[RallyConstant.Name] = userstoryName;
try
{
//Create the User Story Here
CreateResult createUserStory = _api.Create(RallyConstant.HierarchicalRequirement, toCreate);
Console.WriteLine("Created Userstory: " + "URL LINK GOES HERE");
}
catch (WebException e)
{
Console.WriteLine(e.Message);
}
}
我们在.NET工具包中没有这样做的方法,但是它很容易创建 格式如下:
https://rally1.rallydev.com/#/detail/<type>/<objectid>
您可以指定要在创建的对象上返回的获取字段,这样就不必重新查询它。Kyle:我对objectID和类型感到困惑。创建用户故事后,如何访问这些字段。我有一个dynamicJSONObject,但这些字段不可见。你能提供一个代码示例吗。Thanksi刚刚更新了答案,添加了更多的代码来从响应中提取这些值……是否有一种方法可以获得与上述代码类似的formattedID。(US111)当然,url不需要它,但它应该是createResult.Object[“FormattedID”],假设您是在创建时获取的……我批量创建用户故事,我不会提取它们,但我假设除非提取,否则无法获取。你可以在创建后获取,我不知道代码是什么样子,我从Rally获取所有故事时就有了代码。
var parameters = new NameValueCollection();
parameters["fetch"] = "FormattedID";
var toCreate = new DynamicJsonObject();
var createResult = restApi.create("hierarchicalrequirement", toCreate, parameters);
var type = Ref.getTypeFromRef(createResult.Reference);
var objectID = Ref.getOidFromRef(createResult.Reference);
var formattedID = createResult.Object["FormattedID"];