Pregunta Edite las alertas de otros usuarios para un proyecto en TFS


Estoy asumiendo inesperadamente para el administrador anterior de nuestro sistema TFS que abandonó la empresa bastante abruptamente. Antes de que esto sucediera, me convertí en administrador de TFS y en el servidor de aplicaciones TFS, pero todavía hay al menos una cosa que no puedo entender. Parece que hay algunas alertas configuradas en la cuenta del administrador anterior que nos envía un correo electrónico cada vez que se registra un archivo. No puedo decir con certeza exactamente cómo es esta suscripción, pero supongo que está en el El cuadro de diálogo "Alertas de proyecto" para el proyecto, o una alerta configurada con el Editor de alertas de TFS Power Tools. No puedo ver las alertas configuradas por otros usuarios en estas áreas. ¿Hay algún modo de editar directamente la tabla tbl_subscription directamente para intentar eliminar o cambiar estas alertas? (Creo que veo la alerta en esa tabla de SQL, pero no quiero piratear directamente la base de datos).


20
2017-09-18 20:44


origen


Respuestas:


Bienvenido al mundo de TFS. Lamento que tu bautismo sea uno de fuego.

Tiene razón al desconfiar de editar directamente la base de datos; lo mejor es evitarla con TFS. los Herramienta de suscripción de eventos TFS (originalmente elaborado por este creador de sitios) debería ser capaz de hacer el trabajo, pero creo que puede estar un poco desactualizado y podría hacerlo con un poco de amor. La última vez que probé no funcionaba para mí, pero creo que podría haber sido actualizado desde entonces.

Si esa herramienta no funciona para usted, esta es una instancia en la que puede salirse con la suya al usar los servicios web directamente (que es lo que hace esa herramienta bajo el capó).

CAVEAT - Esto se prueba con la garantía "Works on My Machine". Pero si elimina la suscripción incorrecta, corre el riesgo de arruinar su instancia de TFS. Por lo tanto, tome copias de seguridad y pise con cuidado ...

Empezar:

Inicie sesión en la máquina TFS como el usuario administrador de TFS (TFSSETUP) en el escritorio remoto y luego busque la siguiente dirección en Internet Explorer:

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

Estos son los métodos del servicio web del servicio de eventos. El primero que desea ver es el método EventSubscriptions:

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

En el campo ID de usuario, ingrese un asterisco (*) y luego presione invocar.

Esto luego devolverá una gran lista de todas las suscripciones de eventos en TFS, incluidas las que permiten que partes de TFS hablen con otras partes. Si te desplazas hacia abajo, encontrarás tus suscripciones por correo electrónico. Anote las ID de las que desea eliminar.

Luego vaya al método de cancelación de suscripción:

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

Ingrese la ID de la notificación que desea eliminar y presione invocar. Repita para todos los eventos que desea eliminar.

Una vez que haya eliminado los que no desea, puede crear otros utilizando las herramientas eléctricas, etc.

Espero que ayude, buena suerte.

Martín.

Tenga en cuenta que no recibe ninguna instrucción de deshacer amistosa ni nada, ya que se trata de hackers de bajo nivel. Por lo tanto, desea tener copias de seguridad, etc. antes de hacer esto.


23
2017-09-19 12:31



Me complace decir que en la versión actual de TFS y en Visual Studio Team Services, los administradores pueden administrar las alertas de otros usuarios mediante Team Web Access. Afortunadamente, esto debería ser un escenario de frustración en el pasado.

Tengo más información disponible en una publicación de blog escrita para este tema aquí: http://www.edsquared.com/2012/02/09/Creating+EMail+Alerts+For+Team+Members+In+TFS.aspx

enter image description here


10
2018-02-09 21:26



Sería muy cauteloso al editar la tabla directamente; ver las precauciones y sugerencias en este hilo. (No he probado las aplicaciones que recomiendan, así que tome las precauciones / copias de seguridad adecuadas).


1
2017-09-18 23:57



Estoy de acuerdo con Martin sobre no editar la base de datos directamente, pero esta consulta podría ayudar con su primer paso (encontrar la identificación del evento del que desea cancelar la suscripción):

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

Me pareció que usar el XML producido por el servicio web era engorroso para trabajar. Una vez que tengas el ID que necesitas, recomendaría cancelar la suscripción utilizando el servicio web:

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

Tenga en cuenta que esto es para TFS2010


0
2017-09-02 07:18



Todavía no estoy seguro de lo que estoy haciendo aquí, pero obtuve una pequeña victoria y pude hacer que la página apareciera, pero tuve que cambiar el camino hacia esto:

"http: // localhost: 8080 / tfs / _tfs_resources / Services / v1.0 / EventService.asmx"


0
2017-12-20 17:04



Esto funcionó para mí en TFS 2010. básicamente hay un procedimiento almacenado que elimina las suscripciones en la base de datos TFS.

  1. Conéctese a la máquina TFS
  2. Ejecuta ssms
  3. Elija la máquina local como la máquina para conectarse.
  4. En el explorador de objetos, busque una base de datos llamada tfs_yourprojectname.
  5. Encuentra la tabla nombrada tbl_EventSubscription y haga clic derecho => seleccionar top 1000
  6. Mire la lista de suscripción y decida sobre la identificación de la que desea eliminar
  7. Busque el procedimiento almacenado llamado prc_UnsubscribeEvent en el explorador de objetos, haga clic derecho y seleccione "ejecutar procedimiento almacenado". ingrese el valor de la columna de Id. en la tabla de suscripción de eventos para la alerta que desea eliminar.

0
2017-09-01 15:50