See your Teamcity build status in Zulip!

First, create the stream you'd like to use for Teamcity notifications, and subscribe all interested parties to this stream. We recommend the name teamcity.

Next, set up a bot for the integration. You'll need the bot's API key to construct a URL for Teamcity.

Next, install the tcWebHooks plugin onto your Teamcity server. Follow the plugin instructions in your Teamcity documentation, or refer to the online Teamcity documentation.

Next, in your Teamcity project overview page, click the "Webhooks" tab, and add a new project webhook. Enter the following URL:

{{ external_api_uri_subdomain }}/v1/external/teamcity?api_key=abcdefgh&stream=teamcity

where api_key is the API key of your Zulip bot, and stream is the stream name you want the notifications sent to.

Uncheck all "Trigger on Events" options, and check "Trigger when build is Successful" and "Trigger when build Fails". Optionally, check "Only trigger when build changes from Failure to Success" and "Only trigger when build changes from Success to Failure".

Set the Payload Format to "JSON" and save your webhook.

Congratulations! You're done!
Your Teamcity build notifications will appear in Zulip:

Personal Builds
When a user runs a personal build, if Zulip can map their Teamcity username to a Zulip user, that Zulip user will receive a private message with the result of their personal build.