2017-12-05 12 views
1

私はサーバー上でTFS2018の設定をしていますが、私はそのAPIへのパスを把握しようとしています。パスはこのように見えるべきですか?サーバー上でAPIを有効にする必要がありますか?TFS2018からapiへのパス

https://myserver/tfs/DefaultCollection/MyProject/_apis 

私はこの

var cred = new VssCredentials(
         new WindowsCredential(new NetworkCredential("username", "Pass"))); 
var buildClient = new BuildHttpClient(new Uri("https://myserver/tfs/DefaultCollection/MyProject/_apis", UriKind.Absolute), cred);      
await buildClient.CreateDefinitionAsync(buildDef); 

のようなコードでこれを実行すると、私は次のようなエラーに

Webメソッドを実行し得る: [https://myserver/tfs/DefaultCollection/MyProject/_apis] (OPTIONS)は[]

を_apis

答えて

1

サービスの仕方によって異なりますセットアップされました。新規インストールの場合、/tfs/は使用されなくなりました。アップグレードの場合は、既存のクライアントを破損しないように/tfs/が保持されます。そして、私はあなたが/_api/の部分を残しておくこともできると思う。自動的に追加されるはずだから。

のbuildclientを取得するための最良の方法は、TFS ServerまたはCollectionオブジェクトを使用することで、サーバに要求:

var collection = new TfsTeamProjectCollection(tfsCollectionUri, credential); 
var buildClient = collection.GetClient<BuildHttpClient>(); 
+0

オクラホマので、これは新規インストールであるので、私はパスからTFSを削除しました。私はまだコードで同じエラーが発生します。しかし、ブラウザにパスを入れると、ページが見つかりません。探しているページは現在利用できません。私はまた、tfs web上を移動すると、実際にはtfsがそのパスの一部であることに気付きました。そして私はパスから_apisを削除しました。 – doorman

+1

ブラウザにURLに '/ tfs'がある場合は、ここでもそれを使用してください。あなたは 'GetClient'を試しましたか?これにより、適切なビルドapiエンドポイントが自動的に設定されます。 – jessehouwing

+0

ありがとうございました。しかし、今私は別の問題があります。 var sを呼び出すと、buildClient.CreateDefinitionAsync(buildDef、 "MyProject");を待ちます。 [https:// myserver/tfs/DefaultCollection/myproject/_apis/build/Definitions](POST)定義[ビルド]を実行し、プログラムは次のブレークポイントに移動せずに終了します。プロジェクトの下に定義が作成されていません。 – doorman

関連する問題