2017-03-01 6 views
0

TFS 확장 프로그램을 통해 약 6000 개의 작업 항목을 만들어야합니다. 내 확장 기능에서 typescript와 REST API를 사용합니다. 아래 Javascript REST API를 사용하여 TFS에서 많은 양의 작업 항목 만들기

내가 시간 간격 (100과 같은 작업 항목 배치)으로, 작업 항목을

var ops = [ 
      { 
       path: "/fields/System.Title", 
       op: "add", 
       value: "Hello world" 
      } 
     ]; 

    var options = { 
     url: 'http://localhost:8080/tfs/DefaultCollection/Agile Git/_apis/wit/workItems/$Bug?api-version=2.2', 
     username: 'username', 
     password: 'password', 
     domain: 'domain', 
     method: 'PATCH', 
     headers: { 
      'Content-Type': 'application/json-patch+json' 
     }, 
     body: JSON.stringify(ops) 
    }; 

    httpntlm.patch(options, function(err,res) { 
       console.log("patch complete"); 
       console.log(res.body); 
    }) 

나는 각 작업 항목에 대한 세부 사항을 반복을 만들고 작업 항목의 대부분을 만들려고하는 데 사용하는 코드입니다. 그러나 시간 초과 문제가있는 많은 작업 항목에서는 작성 프로세스가 실패합니다 (약 1000 개의 작업 항목을 생성 할 수있었습니다). 작업 항목을 생성/편집하는 데 권장되는 방법이 있습니까? 도와주세요. 대신

답변

1

사용하여 작업 항목이 배치 API : 예를 들어

:

http://[collection url]/_apis/wit/$batch?api-version=1.0 

바디 :

[ 
    { 
    "method": "PATCH", 
    "uri": "/ScrumStarain/_apis/wit/workItems/$Product Backlog Item?api-version=1.0", 
    "headers": { 
     "Content-Type": "application/json-patch+json" 
    }, 
    "body": [ 
     { 
     "op": "add", 
     "path": "/fields/System.Title", 
     "value": "apip1" 
     }, 
     { 
     "op": "add", 
     "path": "/id", 
     "value": "-1" 
     } 
    ] 
    }, 
    { 
    "method": "PATCH", 
    "uri": "/ScrumStarain/_apis/wit/workItems/$Task?api-version=1.0", 
    "headers": { 
     "Content-Type": "application/json-patch+json" 
    }, 
    "body": [ 
     { 
     "op": "add", 
     "path": "/fields/System.Title", 
     "value": "apip2" 
     }, 
     { 
     "op": "add", 
     "path": "/id", 
     "value": "-2" 
     } 

    ] 
    } 
] 

상세 정보, 당신은 참조 할 수 있습니다 : Work item batch operations

+1

안녕하세요 starain, 감사합니다 당신의 대답을 많이 :). 명확히해야 할 한 가지 더, 배치 당 항목에 대한 제한이 있습니까? – Lalindu

+0

@Lalindu 공식 문서에는 언급되어 있지 않지만 테스트 할 수 있습니다. –

+0

@Lalindu 내 솔루션으로 문제가 해결되면 답변으로 받아 들일 수 있습니다. –