2009-09-18 11 views
20

突然、会社を辞めたTFSシステムの以前の管理者が突然引き継ぎました。私はこれが起こる前にTFSの管理者とTFSアプリケーションサーバーで作成されましたが、私が把握できない少なくとも1つのことはまだあります。ファイルがチェックインされたときに私たち全員に電子メールを送信する、以前の管理者のアカウントの下にいくつかのアラートが設定されているようですが、私はこのサブスクリプションの内容を正確には言えませんが、プロジェクトの「Project Alerts」ダイアログ、またはTFS Power ToolsのAlert Editorで設定されたアラートです。これらの分野で他のユーザーが設定したアラートは表示されません。これらのアラートを削除または変更しようとすると直接tbl_subscriptionテーブルを直接編集する方法がありますか? (私はそのSQLテーブルでアラートが表示されると思うが、データベースを直接ハックしたくない。)TFSでプロジェクトの他のユーザーのアラートを編集する

答えて

23

TFSの世界へようこそ - あなたのバプテスマは火のようになりそうです。

データベースを直接編集することには注意が必要です.TFSを使用するのは避けてください。 TFS Event Subscription tool(もともとはby this sites creatorで作られています)は仕事をすることができるはずですが、少し古いかもしれないし、愛をもってできると思います。私が試した最後の時間は、私のために働いていなかった - しかし、それ以来更新されている可能性があります。

このツールはあなたのためには機能しませんが、これは実際にWebサービスを直接使用することができる1つのインスタンスです(これはそのツールがボンネットの下で行います)。

警告 - これは「Works on My Machine」の保証付きです。しかし、間違ったサブスクリプションを削除すると、あなたはTFSインスタントメッセージを乱す危険があります。したがって、バックアップを取って開始するには...慎重

を踏む:リモートデスクトップ経由TFS管理者ユーザー(TFSSETUP)としてTFSのマシンに

ログインをした後、Internet Explorerで次のアドレスを参照します。

http://localhost:8080/Services/V1.0/EventService.asmx 

これらは、イベントサービスのWebサービスメソッドです。あなたが見たい最初のものはEventSubscriptions方法である: -

http://localhost:8080/Services/V1.0/EventService.asmx?op=EventSubscriptions 

ユーザーIDフィールドで、アスタリスク(*)を入力してから起動する]を押します。

これは、TFS内のすべてのイベントサブスクリプションの大きなリストを返します - TFSの一部が他の部分と話すことを許可するものを含みます。下にスクロールすると、電子メールの購読が見つかります。削除したいIDのIDを書き留めます。

はその後退会の方法に進みます。

http://localhost:8080/Services/V1.0/EventService.asmx?op=UnsubscribeEvent

は、あなたが呼び出しを削除し、押したい通知のIDを入力します。削除したいすべてのイベントについて同じ手順を繰り返します。幸運 - あなたがものを取り除いた後

はあなたがパワーツールなどに役立ちます

希望を使用して別のものを作成することができますしたくありません。

Martin。

これはかなり低レベルのハッカーであるため、フレンドリーな元に戻すプロンプトなどは表示されません。したがって、これを行う前にバックアップなどが必要です。

+0

私はtfssetupパスワードを知ることができるかどうかわかりません。私はマシンの管理者です。私がそれを決定できない場合、パスワードを設定する安全な方法はありますか? – BlueMonkMN

+0

EventSubscriptionToolは少なくともサブスクリプションを削除するのには十分だと思われます。 – BlueMonkMN

+5

2010年の場合、http:// localhost:8080/tfs/DefaultCollection/Services/V1.0/EventService.asmxなどを試してください。 –

1

私はテーブルを直接編集することに非常に慎重であろう。 this threadの注意と提案を参照してください。 (私は彼らが推奨するアプリケーションを試していないので、適切な注意/バックアップを取ってください)

0

私はデータベースを直接編集していないについてはマーティンに同意するが、このクエリは、彼の第一ステップ(あなたから退会したいイベントのIDを見つけること)を助けるかもしれない:

SELECT 
ES.Id, 
U.display_name, 
ES.* 
    FROM [Tfs_iSystems].[dbo].[tbl_EventSubscription] ES 
INNER JOIN [Tfs_Configuration].dbo.tbl_security_identity_cache U 
ON ES.SubscriberId = U.tf_id 

私が使用していWebサービスによって生成されたXMLは扱いが面倒です。 あなたは、私がWebサービスを使用することにより退会をお勧めしたい必要なIDを持っていたら:

http://localhost:8080/tfs/DefaultCollection/Services/V1.0/EventService.asmx?op=UnsubscribeEvent

注意これは私がTFSの現在のバージョンではそれを言って本当にうれしいTFS2010

10

のためでありますVisual Studio Team Servicesでは、管理者はTeam Web Accessを使用して他のユーザーの警告を管理できます。ありがたいことに、これは過去の不満のシナリオでなければなりません。

私はここに、このトピックのために書かれたブログ記事で利用可能ないくつかのより多くの情報を持っている:http://www.edsquared.com/2012/02/09/Creating+EMail+Alerts+For+Team+Members+In+TFS.aspx

enter image description here

+0

良い見栄え!非常に期待されている機能 – KMoraz

+1

それは行く方法です! – fmuecke

+1

それは現在のTFSバージョンです。これは受け入れられた答えであるべきです。 – CodingYourLife

0

私はまだここでやっている正確にわからないが、私はほんの少しの勝利を持っていませんでしたそして、出てくるためにページを取得することができたが、私はこれにパスを変更する必要がありました:

は "http:// localhostの8080/TFS/_tfs_resources /サービス/ v1.0を/ EventService.asmx"
0

これは私のために働いた基本的にTFSデータベースのサブスクリプションを削除するストアドプロシージャがあります。

  1. 接続
  2. 実行SSMS
  3. TFSのマシンへと接続するためのマシンとしてローカルマシンを選択してください。
  4. オブジェクトエクスプローラで、tfs_yourprojectnameという名前のデータベースを探します。
  5. tbl_EventSubscriptionという名前のテーブルを検索し、右クリック=>は、サブスクリプションのリストで上位1000
  6. ルックを選択し、オブジェクトにprc_UnsubscribeEventという名前のストアドプロシージャの
  7. ルックを削除する1のIDを決定エクスプローラを右クリックし、「ストアドプロシージャを実行」を選択します。削除するアラートのイベントサブスクリプションテーブルにid列の値を入力します。
関連する問題