2013-05-16 3 views
0

랠리 개체 모델을보고 있었지만 결함 태그의 이름 속성을 가져 오는 방법을 알 수 없습니다.랠리에서 태그/태그의 이름 속성을

태그 및 태그를 내 fetch 문에 포함 시켰습니다. ,

[object Object] 

그러나 :

tagNEWDEFECTS = defectsNEWDEFECTS[i].Tags; 
document.write(tagNEWDEFECTS); 

어떤이를 반환합니다 나는 defectsNEWDEFECTS는 []

내가이 일을하여 태그 객체를 반환 할 수 있습니다이라고하는 객체의 배열로 모든 결함을 저장하고 태그의 이름을 반환 할 수없는 것 같습니다. 시도 :

tagNEWDEFECTS = defectsNEWDEFECTS[i].Tags.Name; 
tagNEWDEFECTS = defectsNEWDEFECTS[i].Tags.Tag.Name; 
tagNEWDEFECTS = defectsNEWDEFECTS[i].Tag.Name; 

하지만 모두 '정의되지 않음'을 반환합니다.

태그 이름을 얻는 방법에 대한 아이디어가 있으십니까? 궁극적으로 목표는 사용자 입력 태그를 사용하여 프로그램에서 플래그를 지정하여 특정 작업을 수행하는 것입니다. 예를 들어, 하나의 태그는 'RollOverDefect'로 명명됩니다.

나는 결함이 'RollOverDefect'

감사라는 태그를 판별 할 수 있어야합니다!

답변

1

태그는 모음이므로 태그 처리 속성을 처리하려면 중첩 루프가 필요합니다. 이 도움이됩니다

tagNEWDEFECTS = defectsNEWDEFECTS[i].Tags[j].Name;

희망 - 그 일을 얻는 경우에 저희에게 알려 : 당신이 추가 루프에 중첩하면, 당신은을 통해 태그 이름을 참조 할 수 있습니다.

+0

난 당신이 무슨 말을하는지 이해하지만, 내가 그 작업을 수행하는 방법을 알아내는 힘든 시간을 보내고 있습니다. –

+0

이 코드를 조금 두드려 보면 좀 더 구체적인 코멘트로 다시 게시하려고 노력할 것입니다. 그런 다음' 내가 얻을 수 있어야합니다; 'tagsNEWDEFECTS [0] = defectsNEWDEFECTS는 [내가] .Tags : 나는 하나 개의 태그 tagNEWDEFECTS은 []'인덱스 같은 0 에'에 객체를 넣을 경우에 따라서 팁 –

+0

주셔서 감사합니다 그 태그 컬렉션에있는 첫 번째 태그의 이름을 이렇게하면됩니까? : 'tagsNEWDEFECTS [0] .Tags [0] .Name' 내가 그렇게하면 자바 스크립트가 충돌합니다. 다시 한 번, 나는 내가 할 수있을 때 더 사려 깊은 코멘트를 게시하려고 노력할 것이다. 그러나 무엇인가의 이유로 이것이 나의 머리를 포장하기가 정말로 어렵다. –

0

당신은 유용이 예를 찾을 수 있습니다 :

<html> 
<head> 
<title>App Example: Defects with Tags</title> 
<meta name="Name" content="App Example: Defects with Tags" /> 
<meta name="Version" content="2013.2" /> 
<meta name="Vendor" content="Rally Labs" /> 
<script type="text/javascript" src="/apps/1.33/sdk.js?apiVersion=1.43""></script> 
<script type="text/javascript"> 

    var table = null; 

    function defectsWithTagsExample() { 
     var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__', 
      '__PROJECT_OID__', 
      '__PROJECT_SCOPING_UP__', 
      '__PROJECT_SCOPING_DOWN__' 
     ); 

     function itemQuery() { 
      var queryObject = { 
       key: 'defects', 
       type: 'Defect', 
       fetch: 'FormattedID,Name,State,Description,Tags,Name', 
       query: '(State = "Submitted")' 
      }; 
      rallyDataSource.findAll(queryObject, populateTable); 
     } 

     function populateTable(results) { 

      if (table) { 
       table.destroy(); 
      } 

      var tableDiv = document.getElementById('aDiv'); 

      var config = { 
       'columnKeys' : ['FormattedID', 'Name', 'Description', 'State', 'Tags'], 
       'columnHeaders' : ['FormattedID', 'Name', 'Description', 'State', 'Tags'], 
       'columnWidths' : ['100px',  '400px', '200px',  '85px', '300px'] 
      }; 

      table = new rally.sdk.ui.Table(config); 
      table.addRows(results.defects); 

      for (i=0;i<results.defects.length;i++) { 

       myDefect = results.defects[i]; 
       myTags = results.defects[i].Tags; 
       myTagString = ""; 

       for (j=0;j<myTags.length;j++) { 
        myTag = myTags[j]; 
        myTagName = myTags[j].Name; 
        if (j == 0) { 
         myTagString += myTagName; 
        } else { 
         myTagString += ", " + myTagName; 
        } 
       } 

       linkConfig = {item: {FormattedID: myDefect.FormattedID, "_ref" : myDefect._ref}}; 
       defectLink = new rally.sdk.ui.basic.Link(linkConfig); 

       table.setCell(i, 0, defectLink.renderToHtml()); 
       table.setCell(i, 4, myTagString); 
      } 

      table.display(tableDiv); 

     }; 

     itemQuery(); 
    } 

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

완벽한, 감사합니다! –