I realised recently that since moving from Source Forge to Github, the tcPlugins user base is more actively engaged, and conversations tend to happen there rather than here.
So here is a quick recap of the last few years.
tcWebHooks – Outbound webhook support for TeamCity
Version 1.1 was released in November 2018. This release primarily added support for templated webhook payloads and a bunch of other improvements. See the upgrading page on the wiki for a list of changes.
TeamCity plugin competition
In December 2016 I entered the TeamCity plugin competition by writing the tcDebRepository plugin in six weeks. I was awarded the special prize which allowed me to visit the TeamCity development team in Munich.
I had an amazing time meeting the team and learning more about the product. I’d like to thank the team for making me feel so welcome.
tcDebRepository – Debian Package Server in TeamCity
My entry in the competition was the tcDebRepository plugin, which allows TeamCity to function as a Debian Package Server serving build artifacts in a manner that’s compatible with Debian’s apt tools.
I’m currently working on updates to this plugin which will support the most recent Ubuntu versions. This includes GPG signed Release files and hash support for Package listings and other meta-data files.
This last month has seen a couple of updates to the tcPrettyEmail plugin.
One was a bugfix release to support a breaking change in TeamCity 9.1.6 and the other was adding support for feature branch names.
If you’re running your builds from GIT or Mercurial and have your VCS configured for Feature Branches, then tcPrettyEmail will now print the branch name in the subject and in the overview at the beginning of the email.
A recent commenter on the blog mentioned that using a gmail address as the sender address from the tcPrettyEmail plugin was not working due to the fact that smtp.gmail.com wants to use TLS.
I had a quick look through the javax.mail API docs and a browse over stackoverflow, and found that enabling STARTTLS support would be relatively simple. I’m using the spring mail wrapper because it’s bundled with TeamCity, and found that you can pass in extra options using a standard JavaProperties object.
So a few extra lines of code to support the extra tag in TeamCity’s main-config.xml file was all that was really needed to enable it.
While I was pushing a new version, I fixed a couple of missing image files that were causing messages to fail for some less common email message types.
The enable starttls, simply add an argument to the smtp tag (nested inside pretty-email) in main-config.xml. You will probably need to add your username and password to the file as well. Here is an example using gmail as the sender:
<pretty-email> <smtp host="smtp.gmail.com" port="587" username="myGmailUsername" password="myGmailPassword" from-address="myGmailUsername@gmail.com" from-name="Friendly Name" starttls-enabled="true" /> </pretty-email>
For futher detail, please see the documentation.
A recent comment from Julien pointed out that tcPrettyEmail messages with Test results are not printing corerctly.
It turns out that the TestBean in the TeamCity API was removed, and I was using that to glean the test detail. In version 0.8.24.121, I’ve worked around that by building my own bean and passing that to the template engine.
WARNING: This release is only compatible with TeamCity 6.5 and later. For Teamcity 6.0 and earlier, please use the earlier versions.
If you find a bug or have feature request, please post a comment below or on the tcPrettyEmail bugs page.
I am pleased to announce the updated release of tcPrettyEmailer, the beautiful email notifier for TeamCity.
This version fixes a few bugs and has a much friendlier packaging/deployment process.
The documentation has been added to the tcplugins wiki on sourceforge, and you can download the zipfile from source forge too.