2016-11-22 3 views
4

Visual Studio Team Servicesビルドの一部としてPowershellスクリプトを作成しています。このビルドでは、ホストビルドコントローラを使用しています。このスクリプトでは、ファイルをチェックアウトして変更を加え、再度チェックインすることを意図しています。PowershellからVS Team Servicesビルド内で実行するワークスペースを作成します。

スクリプトでは、tfコマンドを呼び出して新しいワークスペースを作成しようとしていますが、認証に問題があります。コマンド

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

はエラーを生成します。

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

私はスクリプトにログインやパスワードを埋め込むことなく、私のPowerShellスクリプトからTFSにアクセスするにはどうすればよいですか?自分自身がTFSにログインするビルドエージェントのコンテキスト内でTFSにアクセスできますか?それとも、私はこれをやっていなければならない別の方法がありますか?

TFS Power Toolコマンドレットは、ホストされているビルドサーバーであるため、使用していません。 TFS RestAPIを使用すると、ファイルをチェックインまたはチェックアウトする機能がないため、オプションとして表示されません。

答えて

4
  1. チェックビルドdefitionのアクセスのOAuthトークンオプション enter image description here
  2. 追加/NOPROMPT/loginTypeにスクリプトを許可する:あなたのTFコマンドへのOAuth /login:.,$(System.AccessToken)(引数)

TFコマンドについては、thisの記事を確認できます。

+2

優秀な回答、ありがとうございます。私が見たすべてのドコは、REST呼び出しの一部としてAccessTokenを使用していましたが、そのようなコマンドラインでは使用されていませんでした。 – slugster

+0

これはどこに文書化されていますか?どのバージョンのtf.exe? vc14ではサポートされていないようです:\ – liorda

+0

私のために働きました。どうもありがとう :) – IsolatedStorage

関連する問題