TFS 2018 Create agent pool programatically

前端 未结 2 1235
栀梦
栀梦 2021-01-17 04:00

Is it possible to create an Agent Pool in TFS 2018 programatically, preferably via PowerShell? I cannot find anything like that in REST API.

相关标签:
2条回答
  • 2021-01-17 04:03

    The REST API of TFS has an undocumented portion that deals with app pools: _apis/distributedtask/pools. For example:

    Get agent pools (Request method: Get):

    http://[TFS URL]/_apis/distributedtask/pools?api-version=x.x-preview.1`
    

    api-version should match your TFS version

    You could open up Chrome/IE Network inspector and found that the API calls for create agent pool action. How to do this please refer:

    • Analyzing your webpage's network traffic
    • Using Windows Internet Explorer Developer Tools Network Capture

    Finally, you just need to call REST API through PowerShell, take a look at this answer.

    0 讨论(0)
  • 2021-01-17 04:18

    I don't know why it's not well-documented, but this just worked for me against VSTS:

    $token = 'myPAT'
    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes((":{0}" -f $token)))
    
    $uri = 'https://<url>/_apis/distributedtask/pools?api-version=4.1-preview.1'
    $result = Invoke-RestMethod -Uri $uri -Method Post -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} `
    -Body (ConvertTo-Json @{name = 'foo'; autoProvision = $true})
    

    I just looked at the REST API used in the web portal to create an agent pool and copied it; if the API version isn't the same in TFS 2018 as it is in VSTS, you can do the same thing to find the correct version to use.

    0 讨论(0)
提交回复
热议问题