请耐心等待,不要将此标记为重复:Using the Rally REST API, how can I get the non-API (website) URL for a user story?
我希望能够为用户素材生成链接。 这样的事情:https://rally1.rallydev.com/#/-/detail/userstory/ ********* 与此相反:https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/88502329352
该链接将集成到另一个应用程序中,供管理人员查看用户故事。 我确实读过有关getDetailUrl()方法的内容,但在我的情况下,我通过解析电子邮件并将其链接到Slack中的通知服务来创建用户故事。 我知道formatID和(_ref),但我必须再次查询它,并且我通过循环创建批量用户。我需要实际的网站链接到用户故事。
以下是我的示例代码:
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);
}
}
答案 0 :(得分:1)
我们在.NET工具包中没有这样做的方法,但它很容易创建。
格式如下:
https://rally1.rallydev.com/#/detail/<type>/<objectid>
只需填写类型(hierarchicalrequirement变为userstory,但所有其他变量与wsapi类型相同)和来自刚刚创建的对象的objectid。
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"];
您可以指定要在创建的对象上返回的提取字段,这样您就不必重新查询它。