tutorial - tfs online
Editar las alertas de otros usuarios para un proyecto en TFS (6)
Bienvenido al mundo de TFS. Lamento que su bautismo sea de fuego.
Es correcto tener cuidado con la edición de la base de datos directamente; siempre es mejor evitarlo con TFS. La herramienta de suscripción a eventos de TFS (originalmente creada por este creador de sitios ) debería poder hacer el trabajo, pero creo que puede estar un poco desactualizada y podría tener algo de amor. La última vez que lo intenté no funcionó para mí, pero creo que podría haberse actualizado desde entonces.
Si esa herramienta no funciona para usted, entonces esta es una instancia en la que realmente puede salirse con la suya utilizando 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 instalación de TFS. Por lo tanto, tomar copias de seguridad y la banda de rodadura con cuidado ...
Empezar:
Inicie sesión en la máquina TFS como el usuario administrador de TFS (TFSSETUP) en un 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 de 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 se desplaza hacia abajo, encontrará sus suscripciones de correo electrónico. Tome nota de las ID de las que desea eliminar.
Luego vaya al método de darse de baja:
http://localhost:8080/Services/V1.0/EventService.asmx?op=UnsubscribeEvent
Ingrese el 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 diferentes utilizando las herramientas eléctricas, etc.
Espero que ayude, buena suerte.
Martín.
Ten en cuenta que no recibas ningún mensaje amistoso de deshacer ni nada, ya que es una piratería de bajo nivel. Por lo tanto, desea tener copias de seguridad, etc. antes de hacer esto.
Estoy asumiendo el control inesperadamente del administrador anterior de nuestro sistema TFS que abandonó la empresa de manera bastante repentina. Me hicieron administrador de TFS y en el servidor de aplicaciones TFS antes de que esto sucediera, 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ían un correo electrónico cada vez que se registra un archivo. No puedo decir con certeza qué aspecto tiene esta suscripción, pero supongo que está en el El cuadro de diálogo "Alertas de proyecto" para el proyecto, o es una configuración de alerta con el Editor de alertas de TFS Power Tools. No puedo ver las alertas configuradas por otros usuarios en estas áreas. ¿Hay alguna manera de editar directamente la tabla tbl_subscription para intentar eliminar o cambiar estas alertas? (Creo que veo la alerta en esa tabla SQL, pero no quiero hackear directamente la base de datos).
Esto me funcionó en TFS 2010. básicamente hay un procedimiento almacenado que elimina las suscripciones en la base de datos de TFS.
- Conectar a la máquina TFS
- Ejecutar ssms
- Elija la máquina local como la máquina para conectarse.
- En el explorador de objetos, busque una base de datos llamada
tfs_yourprojectname
. - Busque la tabla denominada
tbl_EventSubscription
y haga clic derecho => seleccione las 1000 principales - Mire la lista de suscripciones y decida la identificación de la que desea eliminar.
- Busque el procedimiento almacenado denominado
prc_UnsubscribeEvent
en el explorador de objetos, haga clic con el botón derecho y seleccione "ejecutar el procedimiento almacenado". ingrese el valor de la columna de identificación en la tabla de suscripción de eventos para la alerta que desea eliminar.
Estoy de acuerdo con Martin en que no se edita la base de datos directamente, pero esta consulta puede ayudarlo con su primer paso (encontrar el id 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 resultó incómodo trabajar con el XML producido por el servicio web. Una vez que tenga la identificación que necesita, recomiendo 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
Estoy muy contento de 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 el uso de Team Web Access. Afortunadamente, este 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
No estoy seguro exactamente de lo que estoy haciendo aquí todavía, pero tuve una pequeña victoria y pude lograr que la página saliera, pero tuve que cambiar el camino a esto:
"http: // localhost: 8080 / tfs / _tfs_resources / Services / v1.0 / EventService.asmx"
Sería muy cauto al editar la tabla directamente; Vea las precauciones y sugerencias en este hilo . (No he probado las aplicaciones que recomiendan, así que tome las precauciones / copias de seguridad adecuadas).