Interface JBAClient
-
- All Known Implementing Classes:
JBAClientImpl,SecureJBAClient
public interface JBAClientRepresents a client for communication with JetBrains Accounts. The main purpose is actions with JWT licenses.- Author:
- Daniil.Boger
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voiddoPeriodicalVerification()Attempts to update current JWT license by making a call to the JBA endpoints.URLgetActivationUrl()Generates and returns product activation URL Representation: LICENSE_URL/activate?product=...&instPubKey=...&selfSign=...URLgetDeactivationUrl(JwtLicenseKey licenseToDeactivate)Generates and returns product deactivation URL Representation: LICENSE_URL/license/deactivate?product=...&instPubKey=...&selfSign=...&licenseKey=...DategetGracePeriodEnd()If the current JWT license was invalidated by the JBA verification process, but it's not suspended yet on TeamCity's side, returns the date, when this license will become invalid.StringgetLastUpdateErrorMessage()Returns human-readable description of last license verification error or null, if last verification was successful.longgetLastUpdateTime()Returns last license update time if the license is configured.URLgetTeamUrl(JwtLicenseKey licenseKey)Returns URL to the JBA team, which owns given license key.voidlinkAgents()Attempts to send data about existing license keys with JetBrains Accounts.voidstartLicenseObtain()Launches a periodical task which calls JBA and checks, whether user has completed the license activation on their side.voidstopLicenseObtain()Forcibly stops the current license obtain task.
-
-
-
Method Detail
-
doPeriodicalVerification
void doPeriodicalVerification() throws JwtLicenseVerificationExceptionAttempts to update current JWT license by making a call to the JBA endpoints. If the license was updated, persists it inLicenseList- Throws:
JwtLicenseVerificationException- on any verification or connection issues
-
linkAgents
void linkAgents() throws LicensesLinkageExceptionAttempts to send data about existing license keys with JetBrains Accounts. This allows JBA to create a license with all purchased agents beforehand.- Throws:
LicensesLinkageException- on any linkage or connection issues
-
getActivationUrl
@NotNull URL getActivationUrl()
Generates and returns product activation URL Representation: LICENSE_URL/activate?product=...&instPubKey=...&selfSign=...- Returns:
- see above
-
getDeactivationUrl
@NotNull URL getDeactivationUrl(@NotNull JwtLicenseKey licenseToDeactivate)
Generates and returns product deactivation URL Representation: LICENSE_URL/license/deactivate?product=...&instPubKey=...&selfSign=...&licenseKey=...- Parameters:
licenseToDeactivate- license to deactivate- Returns:
- see above
-
getTeamUrl
@Nullable URL getTeamUrl(@NotNull JwtLicenseKey licenseKey)
Returns URL to the JBA team, which owns given license key. Returns null if given key has invalid data, from which this URL cannot be determined.- Parameters:
licenseKey- license key- Returns:
- see above
-
getGracePeriodEnd
@Nullable Date getGracePeriodEnd()
If the current JWT license was invalidated by the JBA verification process, but it's not suspended yet on TeamCity's side, returns the date, when this license will become invalid.Otherwise, returns null.
- Returns:
- see above
-
getLastUpdateTime
long getLastUpdateTime()
Returns last license update time if the license is configured. Returns -1 if no JWT license is present, or it was not updated yet.- Returns:
- see above
-
getLastUpdateErrorMessage
@Nullable String getLastUpdateErrorMessage()
Returns human-readable description of last license verification error or null, if last verification was successful.- Returns:
- see above
-
startLicenseObtain
void startLicenseObtain()
Launches a periodical task which calls JBA and checks, whether user has completed the license activation on their side. If the activation is completed, this task obtains the license and installs it into TeamCity. This task is stopped when encountered errors that differ from "unavailable license" reason. Other stop conditions (e.g. max attempts, license already exists) may apply.There can be only one obtain task at a time. If called when a task is active, stops the current task and launches a new one.
-
stopLicenseObtain
void stopLicenseObtain()
Forcibly stops the current license obtain task. Does nothing if no obtain task is running.- See Also:
startLicenseObtain()
-
-