Rally Web Services API:如何获取用户故事的 URL 链接?(getDetailUrl() 方法)



请耐心等待,不要将其标记为重复:使用Rally REST API,如何获取用户故事的非API(网站(URL?

我希望能够为用户故事生成链接。像这样:https://rally1.rallydev.com/#/-/detail/userstory/*********与此相反:https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/88502329352

该链接将集成到另一个应用程序中,供经理查看用户故事。我确实阅读了有关getDetailUrl((方法的信息,但就我而言,我通过解析电子邮件并将其链接到Slack中的通知服务来创建用户故事。我知道 formattedID 和 (_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);
 }
}

.NET 工具包中没有用于执行此操作的方法,但创建起来很容易。

格式是这样的:

https://rally1.rallydev.com/#/detail/<type>/<objectid>

只需填写类型(层次结构需求转换为用户故事,但所有其他类型都与 wsapi 类型相同(和您刚刚创建的对象的对象 id。

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"];

您可以指定要在创建的对象上返回的获取字段,这样您就不必重新查询它。

最新更新