Child pages
  • TeamCity Hub Plugin

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.).

hidden-data
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



Supported Environment

The 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.

...

TeamCity versionDownload link
TeamCity 2018.1.x and laterDownload
TeamCity 2017.1.xDownload
TeamCity 10.0.xDownload
TeamCity 9.1.xDownload

 

Install the plugin as usual. 

...

  1. On the Administration | Hub Settings page provide the Hub URL of the following format http://<HubHOST>:<port>/hub.

  2. Сlick Register TeamCity service in Hub.  

    Note

    Note that the Guest user in Hub needs to be allowed (unbanned) for the TeamCity service registration in Hub.

  3. You will be redirected to the Services page in Hub. Verify the TeamCity Hub service using the Trust button. 

  4. After you trust the TeamCity service in Hub, return to the TeamCity Web interface to configure user synchronization. 

...

Synchronization with Hub in TeamCity allows you to:

  • Retrieve retrieve the user's profile data from Hub
  • Automatically automatically create and remove users in TeamCity based on the information retrieved from Hub

...

SettingDescription
Enable users synchronizationAllows importing users and their details from Hub to TeamCity.
Update user profiles in TeamCityThe 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 TeamCityNew 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

If a user account is deleted in Hub (banned/ merged) or is not matched by the filter anymore, it will also be deleted in TeamCity as well.

 

...

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

The Hub dashboard retrieves data from TeamCity with help of using the TeamCity REST API. As such CORS should be configured on the TeamCity side. The following TeamCity internal properties should have to be set:

Code Block
rest.cors.optionsRequest.allowUnauthorized=true
rest.cors.origins=<dashboard hostname>

Where <dashboard hostname> should be  is the hostname with the protocol and port, for example: http://myinternalwebpage.org.com:8080

Note

You need to restart TeamCity server after changing the rest.cors.optionsRequest.allowUnauthorized internal property.


Plugin Development Status

...