free for TeamCity Professional and TeamCity Enterprise servers users, closed-source
The plugin adds the ability to log in to TeamCity via JetBrains Hub, and allows for synchronization of user details from Hub to TeamCity: creating/deleting TeamCity users and updating TeamCity user data (username, display name, email, jabber, default VCS usernames, etc.).
Creating/deleting TeamCity user groups UpdatingTeamCity user group data (name, description) Assigning/unassiging users/groups to/from groups Merging users/groups Export of TeamCity users/user groups to HubExport of users groups, membership Optional export of user details ( email, jabber, default VCS usernames, built-in password hash, NT/LDAP username)Setting a Hub ID for every exported user/group
The current plugin version is compatible with TeamCity 9.1+ and Hub 1.0.
Plugin requires Java version 1.7+
Download and Installation Instructions
Download hub-plugin.zip TODO LINK and install the plugin as described here.plugin requires TeamCity server to be run with Java version 1.7+. If your TeamCity server uses Java 1.6, the plugin will not be loaded.
Download and Installation Instructions
Download plugin for corresponding TeamCity version:
|TeamCity version||Download link|
|TeamCity 2018.1.x and later||Download|
Install the plugin as usual.
After the server restart, the integration with Hub is managed using the you can view the enabled Hub authentication on the Administration | Authentication page and manage the integration with Hub using the Administration | Hub Settings page.
The Hub plugin adds two JetBrains Hub authentication modules to TeamCity:
- JetBrains Hub allowing authentication via JetBrains Hub from the TeamCity login form and IDE
- JetBrains Hub Single Sign-On enabling Single sign-on / sign out via JetBrains Hub.
You can view the currently enabled authentication modules on the Administration | Authentication page. Removing the JetBrains Hub modules will disable authentication via Hub.
If you are using an external provider to authenticate to JetBrains Hub (e.g. GitHub, Google, etc.), you will be able to log in to TeamCity. However, to log in to TeamCity from an IDE, you'll need to add credentials for your JetBrains Hub user (username and password) and use these credentials to authenticate to TeamCity from your IDE.
Enabling / Disabling integration with Hub
On theAdministration Administration | Hub Settings page provide the Hub URL of the following format
Сlick Register TeamCity service in Hub.
Note that the Guest user in Hub needs to be allowed (unbanned) for the TeamCity service registration in Hub.
You will be redirected to the Services page in HubVerify . Verify the TeamCity HUB Hub service using the Trust button. This action will also enable authentication to TeamCity via Hub: the JetBrains Hub authentication preset appears on the Authentication page in TeamCity Web UI, where it can be manually disabled/enabled.
After you trust the TeamCity service in Hub, the Synchronization and Miscellaneous tabs appear on the Hub Settings page in TeamCity Administration UI. Return to the TeamCity Web UI to configure user synchronization.
Synchronizing Users with Hub
The Synchronization and Miscellaneous tabs appear on the Hub Settings page in TeamCity Administration UI.
Using the Synchronization tab of Hub Settings page, you can enable user synchronization with Hub: the users will be imported from Hub to TeamCity.
- Select whether you want to:
- Update user profiles in TeamCity, which means that changes in the user profile in Hub will overwrite any changes made in TeamCity Create /delete user accounts in TeamCity, which means that the users created/deleted in Hub will also be created/deleted in TeamCity
If you select to create new user accounts in TeamCity, the new
After you trust the TeamCity service in Hub, return to the TeamCity Web interface to configure user synchronization.
Synchronizing Users with Hub
Using the Administration | Hub Settings | Synchronization tab of the server settings, you can enable, configure and run on-demand user synchronization.
TeamCity supports one-way synchronization with Hub: the data is retrieved from Hub and is stored in the TeamCity database. Periodically, TeamCity fetches data from Hub and updates users in TeamCity.
Synchronization with Hub in TeamCity allows you to:
- retrieve the user's profile data from Hub
- automatically create and remove users in TeamCity based on the information retrieved from Hub
The following options are available:
|Enable users synchronization||Allows importing users and their details from Hub to TeamCity.|
|Update user profiles in TeamCity||The user name, email and VCS usernames in TeamCity will be updated with data from the user profile in Hub on the first synchronization. If any of this data will be later modified in TeamCity, the changed data will not be imported from Hub on the next synchronization.|
|Create user accounts in TeamCity||New users (those existing in Hub but not existing in TeamCity) matched by the users filter will be imported to TeamCity with their login details, emails and VCS usernames. All the imported users will have a Hub ID in TeamCity. |
If a user with the same name exists in TeamCity and Hub, the user is not synchronized until they login to TeamCity via Hub.
The existing TeamCity users with no match in Hub will remain intact.
|Delete user accounts from TeamCity|
Clicking Synchronize now launches synchronization manually. After the synchronization is finished, the results will be displayed reported on the page.That’s it! Now your TeamCity administrators are able to synchronize users with Hub and users can conveniently login to all JetBrains services connected to Hub via SSO!
Using several URLs for TeamCity server
If your TeamCity server is available under several URLs (in addition to the URL configured on Administration | Global Settings in TeamCity UI), you will need to add extra URLs manually to the TeamCity service in Hub as valid redirect URLs.For each URL, add "<TeamCity server URL>/hubPlugin/login.html" line
Using 2FA in Hub
If you enable two factor authentication in Hub, you lose ability to login to TeamCity using password (via TeamCity login page or from IDE integration plugins). Since TeamCity 2019.1 you can create and use TeamCity authentication token instead of the password in such cases.
Enabling access to TeamCity for Hub Dashboard
rest.cors.optionsRequest.allowUnauthorized=true rest.cors.origins=<dashboard hostname>
<dashboard hostname> is the hostname with the protocol and port, for example: http://myinternalwebpage.org.com:8080
You need to restart TeamCity server after changing the
Plugin Development Status
In active development.
Everyone is encouraged to try the plugin, however issues can be uncovered.
If you believe you've faced a bug: Issue Tracker (project: TeamCity)
If you want to ask a question or discuss: Forum
Any of the above, but you do not want it to be publicly accessible: Online Form or Feedback email
See also a related blogpost TODO LINK