問題タブ [tfs-events]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Team Foundation Server2010Webアクセスで偽装を解除できません
TFSイベントサブスクリプションサービスを使用して、Webインターフェイスを介してサブスクリプションを動的に作成しようとしています。サブスクリプションは中間アカウントに送られます。ここでは、2つのアカウントを「非管理者ユーザー」と「サブスクリプションストレージ」と呼びます。
管理者は「サブスクリプションストレージ」アカウントのアラートを作成でき、サブスクリプションストレージアカウントはそれ自体のアラートを作成できますが、管理者以外のユーザーはストレージアカウントにサブスクリプションを作成できません。次のエラーメッセージが表示されます。
アクセスが拒否されました:{ユーザーアカウント名}は、リソース$ SUBSCRIPTIONに対して次の権限が必要です:このアクションを実行するには:編集
私が使用しているコードは次のとおりです。
すべてのパラメーターが正しく、それらの値はこの議論には無関係であることを信じてください。:)tfsCollection
は、ページのプロパティTfsTeamProjectCollection
に由来するオブジェクトです。Connection.TeamProjectCollection
私の最初の考えは、サービスアカウント(この場合はNetworkService)を使用するように偽装を解除することでした。そこで、Action
次のように、を取得して偽装なしで実行する拡張メソッドを作成しました。
Action
これにより、 (チェックするとユーザーアカウントではなくNetworkServiceアカウントが返されます)の間、偽装が正しくWindowsIdentity.GetCurrentUser()
解除されますが、同じエラーでイベントサブスクリプションの作成に失敗します。の認証されたユーザーTfsTeamProjectCollection
は、NetworkServiceアカウントでもあります。
tfs - TFS でのビルドを自動的に停止することは可能ですか?
一部のビルド定義のビルドをプログラムで停止できるようにしたいと考えています。最初に、この問題を解決するためにイベント ハンドラー (soap サービスまたは TFS プラグイン) を作成することを考えました。しかし残念ながら、TFS には適切なイベントがないようです (ビルドが開始されたときに発生します)。
この問題を解決する方法はありますか?
ありがとうございました!
エレナ
Upd: この問題は、TFSBuild.proj の最初のターゲットで cutom ビルド タスクを呼び出すことで解決されました。
soap - ServiceStack で SOAP リクエストを受信するにはどうすればよいですか?
TFS ビルド通知を使用して、ServiceStack サービスのエンドポイントに警告しようとしています。TFS は SOAP を使用しますが、私は SOAP の経験がほとんどまたはまったくありません。
TFS がエンドポイントに到達するたびに、 my のすべてのプロパティが null になりますRequest DTO
。
私のコードは次のとおりです。
DTO
BuildCompletionEvent
TFS 内でサブスクライブしています。TFS がエンドポイントに送信していることを知っている未加工の XML を送信すると、すべて正常に機能します。しかし、SOAP リクエストとしてパッケージ化されている場合は機能しません。XML は次のように囲まれています。
アップデート
SOAPリクエストを取得できました。次のようになります。
また、DTOを次のように変更しようとしました:
しかし、私はまだ喜びを感じていません。
更新 2
私も次のことを試しました:
しかしMessage
、常にヌルでもあります。
も使用してみましたRequest.GetSoapMessage()
が、これによりエラーが発生します。
given key was not present in the dictionary
c# - WorkItemChangedEvent で TFS WorkItem への参照を取得するにはどうすればよいですか?
これは非常に単純なようですが、必要なものを見つけるのに苦労しています。
私は TFS 2013 イベント ハンドラーを実装しており、変更イベントを発生させた作業項目への参照を取得したいだけです。タイトルを取得するのは簡単に思えますが、WorkItem オブジェクトへの参照またはクエリに必要な情報 (ID など) を提供するイベント シグネチャ オブジェクトのプロパティまたはメソッドが見つかりません。 .
注:このコードは、読みやすく、目の前の問題に集中できるように、最小限の骨まで取り除かれています。