2012-06-22 2 views
1

В Rally я пытался запросить элементы в дереве, содержащем слово «Feature». Я попробовал запросить (Parent.Parent.Parent.Parent.Parent.Name содержит «Feature») и т. Д., Проверяя, имеет ли какое-либо из родительских имен слово «Feature» в них. Мой подход не работает. Есть лучший способ сделать это? Благодарю.Ралли: как найти родителя, содержащего определенное ключевое слово?

+0

Вы запрашиваете Истории или Предметы Портфолио? Вы закончили ORing связкой родительских запросов вместе? EX: ((Parent.Parent содержит «Feature») или Parent.Parent.Parent содержит «Feature»)) –

+0

Я еще ничего не сделал. Тем не менее, я пытался увидеть любой элемент в иерархии (содержащий истории пользователей, функции и т. Д.), Содержащее ключевое слово «функция», цепочки родителей. Я не знаю, в чем разница между историями и предметами портфеля. Если бы вы могли предоставить мне какой-либо ресурс или указатели, чтобы помочь мне в портфеле запросов (если это то, что мне нужно для запроса, чтобы выполнить то, что я делаю), это было бы очень оценено. Благодарю. – user1133324

+0

Используете ли вы Диспетчер портфолио для организации своих историй? Этот URL-адрес остальной части вернет некоторые данные, если вы используете диспетчер портфолио. https://rally1.rallydev.com/slm/webservice/x/portfolioitem.js –

ответ

2

Как отмечает Чарльз, невозможно пересечь родительскую иерархию с помощью единого запроса на ралли. В конечном счете, можно будет вытянуть всю иерархию и фильтр по наименованию и другие критерии с использованием (в настоящее время альфа) его ретроспективный анализ API и запросов, аналогичный описанной в этой статье:

Lookback API: Find all leaf node stories under a known parent

До этого, вы можете пересечь иерархию родителей с помощью AppSDK и рекурсивные вызовы метода find() для rallyDataSource. Я включил простой, что делает это:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
<head> 
    <meta name="Name" content="App Example: Parent Name Contains Story Hierarchy"/> 
    <title>Parent Name Contains Story Hierarchy</title> 
    <script type="text/javascript" src="/apps/1.27/sdk.js"></script> 
    <script> 

    var rallyDataSource; 

    function parentNameRecursionExample() { 
     var parentStoryHierarchy = function(results) { 

     var storyInfo = ""; 
     var story = ""; 
     var parentFormattedID = ""; 
     for (i=0 ; i < results.stories.length ; i++) { 
      story = results.stories[i]; 
      if (story.Parent != null) { 
       parentName = story.Parent.Name; 

       var testContains = "Parent"; 
       if (parentName.indexOf(testContains) != -1) { 

        storyInfo += story.FormattedID + 
          ', ' + story.Name + 
          ', Parent:' + story.Parent.FormattedID + 
          ': ' + story.Parent.Name + '<br>'; 
        aDiv.innerHTML += storyInfo; 
       } 

       parentFormattedID = story.Parent.FormattedID; 

       var queryConfig = { 
       type : 'HierarchicalRequirement', 
       key : 'stories', 
       fetch: 'FormattedID,Name,Parent', 
       query: '(FormattedID = \"' + parentFormattedID + '\")' 
       }; 

       rallyDataSource.findAll(queryConfig, parentStoryHierarchy); 
      } else { 
       storyInfo += story.FormattedID + 
        ', ' + story.Name + 
        ', Parent: No Parent'; 
       aDiv.innerHTML += storyInfo; 

      } 
     } 
     }; 

     var queryConfig = { 
      type : 'HierarchicalRequirement', 
      key : 'stories', 
      fetch: 'FormattedID,Name,Parent',//, 
      query: '(FormattedID = \"US130\")' 
     }; 

     rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__', 
                '__PROJECT_OID__', 
                '__PROJECT_SCOPING_UP__', 
                '__PROJECT_SCOPING_DOWN__'); 
     rallyDataSource.findAll(queryConfig, parentStoryHierarchy); 
    } 

    rally.addOnLoad(parentNameRecursionExample); 
    </script> 
</head> 
<body> 
    <div id="aDiv"></div> 
</body> 
</html> 

Это траверсы иерархии история, которая выглядит следующим образом:

Story Hierarchy

и фильтры для историй, содержащих «Родитель» в Story Название, производство следующий вывод:

Filtered Story Hierarchy output from App

понял образец представляет собой черновой и не очень красиво, п ot как элегантный или простой, как один запрос, но он иллюстрирует, как пересечь дерево и фильтр для результатов, которые вы ищете.

Смежные вопросы