Rally API:如何创建用户故事并将其与史诗故事相关联
RallyAPI: How to create UserStory and relate it to an EpicStory
我之前问过如何在 RallyApi
中创建“UserStory
”并将其与“Feature
”相关联
现在,我想问一下如何创建 EpicStory
。然后,创建一个 UserStory
并将其关联到 EpicStory
.
下面,我在出错的地方做了标记。我不知道要设置什么参数。错误是:"Could not set value for Portfolio Item: Cannot use type UserStory in attribute Portfolio Item"
这是我目前的情况:
// Initialize the REST API. You can specify a web service version if needed in the constructor.
RallyRestApi restApi = GetRallyRestApi();
// Create their Json object for this Feature
DynamicJsonObject toCreate = new DynamicJsonObject();
toCreate["Name"] = FeatureToAdd.Name;
toCreate["Description"] = FeatureToAdd.Description;
// create feature - (feature is under PortfolioItem)
CreateResult createFeatureResult = restApi.Create("PortfolioItem/Feature", toCreate);
// add Epic Stories
foreach (EpicStory e in FeatureToAdd.EpicStories)
{
toCreate = new DynamicJsonObject();
toCreate["Name"] = e.Name;
toCreate["Description"] = e.Description;
toCreate["PortfolioItem"] = Ref.GetRelativeRef(createFeatureResult.Reference);
// hierarchicalrequirement = UserStory
CreateResult createEpicStoryResult = restApi.Create("hierarchicalrequirement", toCreate);
// foreach userstory create the USerStory and each subsequent Task
foreach (UserStory u in e.UserStories)
{
toCreate = new DynamicJsonObject();
toCreate["Name"] = u.Name;
toCreate["Description"] = u.Description;
toCreate["PortfolioItem"] = Ref.GetRelativeRef(createEpicStoryResult.Reference); //<-This is the problem; says "Could not set value for Portfolio Item: Cannot use type UserStory in attribute Portfolio Item"
// hierarchicalrequirement = UserStory
CreateResult createUserStoryResult = restApi.Create("hierarchicalrequirement", toCreate);
// -- add tasks for each UserStory
foreach (eBayData.Models.Task t in u.Tasks)
{
toCreate = new DynamicJsonObject();
toCreate["Name"] = t.Name;
toCreate["Description"] = t.Description;
toCreate["WorkProduct"] = Ref.GetRelativeRef(createUserStoryResult.Reference);
// task
CreateResult createUserStoryTaskResult = restApi.Create("task", toCreate);
}
}
}
通过查看 API 和拉力赛 UI,我认为您需要将问题行从 toCreate["PortfolioItem"]
更改为 toCreate["Parent"]
。
我之前问过如何在 RallyApi
UserStory
”并将其与“Feature
”相关联
现在,我想问一下如何创建 EpicStory
。然后,创建一个 UserStory
并将其关联到 EpicStory
.
下面,我在出错的地方做了标记。我不知道要设置什么参数。错误是:"Could not set value for Portfolio Item: Cannot use type UserStory in attribute Portfolio Item"
这是我目前的情况:
// Initialize the REST API. You can specify a web service version if needed in the constructor.
RallyRestApi restApi = GetRallyRestApi();
// Create their Json object for this Feature
DynamicJsonObject toCreate = new DynamicJsonObject();
toCreate["Name"] = FeatureToAdd.Name;
toCreate["Description"] = FeatureToAdd.Description;
// create feature - (feature is under PortfolioItem)
CreateResult createFeatureResult = restApi.Create("PortfolioItem/Feature", toCreate);
// add Epic Stories
foreach (EpicStory e in FeatureToAdd.EpicStories)
{
toCreate = new DynamicJsonObject();
toCreate["Name"] = e.Name;
toCreate["Description"] = e.Description;
toCreate["PortfolioItem"] = Ref.GetRelativeRef(createFeatureResult.Reference);
// hierarchicalrequirement = UserStory
CreateResult createEpicStoryResult = restApi.Create("hierarchicalrequirement", toCreate);
// foreach userstory create the USerStory and each subsequent Task
foreach (UserStory u in e.UserStories)
{
toCreate = new DynamicJsonObject();
toCreate["Name"] = u.Name;
toCreate["Description"] = u.Description;
toCreate["PortfolioItem"] = Ref.GetRelativeRef(createEpicStoryResult.Reference); //<-This is the problem; says "Could not set value for Portfolio Item: Cannot use type UserStory in attribute Portfolio Item"
// hierarchicalrequirement = UserStory
CreateResult createUserStoryResult = restApi.Create("hierarchicalrequirement", toCreate);
// -- add tasks for each UserStory
foreach (eBayData.Models.Task t in u.Tasks)
{
toCreate = new DynamicJsonObject();
toCreate["Name"] = t.Name;
toCreate["Description"] = t.Description;
toCreate["WorkProduct"] = Ref.GetRelativeRef(createUserStoryResult.Reference);
// task
CreateResult createUserStoryTaskResult = restApi.Create("task", toCreate);
}
}
}
通过查看 API 和拉力赛 UI,我认为您需要将问题行从 toCreate["PortfolioItem"]
更改为 toCreate["Parent"]
。