2016-11-22 29 views
4

我正在編寫Powershell腳本作爲Visual Studio Team Services構建的一部分,此構建使用託管構建控制器。該腳本旨在檢出文件,進行更改,然後將其重新檢入。從VS Team Services內部運行Powershell創建工作區

在腳本中,我試圖調用tf命令來創建新的工作空間,但我遇到了身份驗證問題。該命令

& $tf vc workspace /new $tempWorkspaceName /collection:https://mycollection.visualstudio.com/ 

產生錯誤:

TF30063: You are not authorized to access https://mycollection.visualstudio.com/ .

如何訪問TFS從我的PowerShell腳本沒有在腳本嵌入登錄或密碼?我可以在自己登錄到TFS的構建代理的上下文中訪問TFS嗎?還是有另一種方式我應該這樣做?

請注意,我沒有使用TFS Power Tool cmdlet,因爲它是託管構建服務器。使用TFS RestAPI似乎也不是一種選擇,因爲沒有工具可以檢查文件。

回答

4
  1. 檢查允許腳本到您的構建defition的訪問OAuth令牌選項 enter image description here
  2. 追加/NOPROMPT/loginType:)的OAuth /login:.,$(System.AccessToken到TF命令(參數)

關於TF Command,您可以檢查this文章。

+2

優秀的答案,謝謝。我見過的所有doco都使用AccessToken作爲REST調用的一部分,但我沒有看到它在命令行中使用。 – slugster

+0

這是記錄在哪裏?哪個版本的tf.exe?它似乎不支持vc14:\ – liorda

+0

爲我工作。非常感謝 :) – IsolatedStorage

相關問題