Starting from version 2017.1, the TeamCity server JAR (maven ID org.jetbrains.teamcity.internal:server) is no longer a dependency of the server API JAR, and is also not available anymore in the JetBrains public repository.
This is fully comprehensible since it contains classes that are only meant for internal use.
The plugin I am developing depends nevertheless on two of classes of this JAR to provide non-critical features, and I would be interested to know if there are any other way to achieve the same functionalities using only classes of the public API:
1. Setting the agent name upon registration (currently achieved with the BuildAgentInit.setName() method). This permits to change the agent name to something meaningful to the end user for cloud agents that are dynamically started. With the following restriction: we don't know the agent name before the agent is effectively started.
2. Getting the list of unregistered agents, including the unauthorized ones (currently achieved with the BuildAgentManagerEx.getUnregisteredAgents(true) method). This is used to clean-up agents started as part of interactive test procedures.