Sebastian Thimm | Twitter-Updates vom Team Foundation Server

2|posiv
 
Startseite > Sebastian A. C. Thimm > Blog
 

Twitter-Updates vom Team Foundation Server

Autor: Sebastian Thimm 5. August 2009 01:46

Twitter ist ja derzeit in aller Munde. Fast scheint es so, als müsse alles und jeder twittern, immer und überall. Kein Dienst hypt derzeit so sehr wie Twitter. Natürlich habe auch ich mir inzwischen den ein oder anderen Twitter-Account zugelegt und einige eigene Experimente mit diesem 140-Zeichen-Dienst angestellt.

Auf der Suche nach mehr oder weniger sinnvollen Twitter-Einsatzszenarien kam ich dann neulich auf eine interessante Idee für einen kleinen Twitter-basierten Dienst im .NET-Systementwicklungsumfeld - und zwar:

Wie wäre es, wenn der Team Foundation Server die wichtigsten Events wie z.B. das Einchecken von neuem Code in die Quellcodeverwaltung, die Erledigung von Build-Vorgängen oder einfach nur Statusänderungen an WorkItems automatisch an ein extra dafür angelegtes Twitter-Konto zwitschern könnte? Sprich: Kann man den TFS nicht einfach automatisch twittern lassen?

Teammitglieder, die einen eigenen Twitter-Account haben, könnten diesem TFS-Tweet sodann einfach folgen und wären so jederzeit up-to-date, was die News vom TFS betrifft. Natürlich braucht das im Grunde kein Mensch, aber wir wollen ja trendy sein und da muss die Sinnfrage dann einfach einmal hinten anstehen.

Kommen wir gleich zur...

Realisierung des Miniprojekts

In einer freien Minute habe ich mich neulich dann an die Realisierung dieser Idee für einen TFS-Twitter-Dienst gemacht. Zunächst dachte ich daran, mit .NET einen kleinen eigenen Windows-Service mit C# aufzusetzen, welcher direkt auf dem Team Foundation Server installiert wird, auf entsprechende Events wartet und dann direkt die jeweiligen Updates per HTTP-REST an die Twitter-API sendet. Auf CodePlex habe ich dann auch gleich das Projekt TFS Event Handler gefunden, was einem schon einmal die halbe Arbeit abnimmt, nämlich den Zugriff auf das Eventhandling des Team Foundation Servers. Zusammen mit der Yedda C# Twitter API (eigentlich nur ein einfacher Wrapper um die Twitter-Funktionsaufrufe, also genau das Richtige) sollte die Realisierung eines solchen Dienstes keine weitere Schwierigkeiten bereiten. Als ich gerade mit dem Coden anfangen wollte, fiel es mir wie Schuppen von den Augen: Es geht doch...

...noch einfacher mit TFS-Bordmitteln!

Der Team Foundation Server verfügt ja von Haus aus schon über eine Alert-Engine, welche in der Lage ist, HTML- oder Plain-Text-E-Mails anlässlich bestimmter TFS-Events an beliebige E-Mail-Adressaten zu versenden. Eigentlich bräuchte man nur diese E-Mail abfangen und an die Twitter-API übermitteln. Aber halt! Warum abfangen? Warum nicht gleich diese E-Mail an Twitter schicken? Eine kurze Google-Recherche führte mich dann zu diesem Dienst, den ich bis dahin noch nicht kannte: twittermail.com - wie praktisch!

Die Umsetzung der ursprünglichen Idee dauerte sodann nur noch knapp 5 Minuten - ganz ohne eigene Programmiererei:

  1. Dedizierten TFS-Account auf Twitter erstellen: Hier werden die TFS-Updates publiziert. 
  2. Account eröffnen bei twittermail.com. Hierfür nimmt man die gleichen Zugangsdaten wie für Twitter, man muss diese Informationen also dem Dienst preis geben - bei einem extra hierfür eingerichteten Konto sollte das ja kein Problem darstellen, oder? 
  3. Öffnen des Funktionspunktes "Alerts" im Team Explorer und eine (oder mehrere) E-Mail-Benachrichtigung(en) für die "secret Twittermail adress" anlegen, welche man von Twittermail für diesen Zweck zugeteilt bekommen hat (steht nach der Registrierung in großen roten Lettern gleich oben auf der Seite).

That's it. Das war's schon. Zum Testen der Konfiguration muss man dann einfach nur noch einen entsprechenden Event im Team Foundation Server auslösen (z.B. durch einen Check-In ein neues Changeset erzeugen) und wenige Sekunden später müsste der TFS im Hintergrund eine E-Mail an Twittermail senden, von wo aus der jeweilige TFS-Event unmittelbar in dem angegebenen Tweet veröffentlicht wird. Zu erwähnen ist, dass sich bei Twittermail konfigurieren lässt, ob man nur den Betreff der E-Mail, nur den Body oder beides in den Tweet übermitteln möchte. Nach ein wenig Experimentieren habe ich mich für den Body der E-Mail entschieden bzw. ca. die ersten 100 Zeichen desselben zzgl. eines Detaillinks.


Screenshot:
So sieht dann das fertige Ergebnis in der Timeline auf Twitter aus:


Für sensible Informationen ist das Ganze natürlich nicht geeignet, denn auch wenn man den Tweet bei Twitter selbst zwar für die Öffentlichkeit sperren kann ("Protect my tweets"), so werden die Beiträge doch auch von Twittermail nochmals gespiegelt vorgehalten und zwar dort ohne Möglichkeiten der Zugriffsbeschränkung. Es ist halt eine kleine technische Spielerei...

Im Endeffekt ging das Einrichten dieses Dienstes letztlich fast schneller als das Schreiben dieses Blog-Artikels. Cool

 

Tags: , , ,

.NET

Kommentare

Kommentar schreiben


(Zeigt dein Gravatar icon)

  Country flag

biuquote
  • Kommentar
  • Live Vorschau
Loading