Public WebSockets API for developing integrations?

Are there any plans on the roadmap to take the internal WebSockets API and make it public so that integration developers could take advantage of real time notifications? There are two specific use cases I have in mind:

1) Native macOS notifications when specific builds finish. I have some moderately long-running builds (10-30 minutes) and I often find myself wanting to receive a notification when the build completes. However, I don't want to receive a notification _every_ time the build completes, only sometimes when it is relevant to me. My idea is to develop a macOS status bar application that shows active builds and allows me to subscribe for a one-time notification for the completion of any of those running builds.

2) Real-time updates on a statusboard / information radiator. I've developed this kind of status board before, but it depends on polling TeamCity. It works decently well, but it would be even cooler (and less resource intensive) to have it update in real time. This would make an especially large visual difference when multiple builds are changing status within a given polling interval (typically 30-60 seconds).

0
1 comment

Hi,

 

I'm not aware of any such plans, but you can request it explicitly on our issue tracker: https://youtrack.jetbrains.com/issues/TW

 

Regarding your scenarios:

1- You can use a tray notifier, or take our own as a reference to create your own: https://github.com/dtretyakov/teamcity-tray-notifier. It should be possible to do something similar to what you have mentioned.

2- An option here would be to simply tap into the database for the data. You can simply collect the information straight away from the database. Of course, it's much easier to have an API that offers the data pre-formatted, but the data is there in the meantime, and as long as you don't tamper with it, it should be completely safe.

 

Hope this helps.

0

Please sign in to leave a comment.