TeamCity
Читає версію з GET /app/rest/server — точки входу, на яку насамперед
вказує власний довідник REST API TeamCity.
targets: - id: teamcity-main product: teamcity address: https://teamcity.example.com credentials: teamcity-patАвтентифікація — обовʼязкова, і тут легко все переплутати
Section titled “Автентифікація — обовʼязкова, і тут легко все переплутати”Анонімного доступу за замовчуванням немає — свіжий екземпляр відповідає
401 з викликами і Basic, і Bearer (гостьовий вхід за замовчуванням
вимкнено). TeamCity має два різні види токенів, підтверджено наживо,
які працюють лише як протилежні види облікових даних:
- Одноразовий bootstrap-токен суперкористувача, який свіжий сервер
виводить у лог під час першого запуску, працює лише як Basic —
порожнє імʼя користувача, токен як пароль. Надісланий як простий
Authorization: Bearer, він відхиляється. - Персональний токен доступу звичайного користувача (Profile → Access Tokens — саме так автентифікується справжня довготривала автоматизація) — навпаки: перевірено на семи реальних продакшн-екземплярах, він працює як Bearer і безумовно відхиляється як Basic («Incorrect username or password», навіть із порожнім імʼям користувача).
credentials: # bootstrap-токен — Basic, порожнє імʼя користувача teamcity-bootstrap: kind: basic username: "" password: "${TEAMCITY_BOOTSTRAP_TOKEN}"
# персональний токен доступу — Bearer teamcity-pat: kind: bearer value: "${TEAMCITY_TOKEN}"У будь-якій довготривалій конфігурації використовуйте персональний токен доступу — bootstrap-токен призначений для заміни після першого входу.
Записувані поля
Section titled “Записувані поля”version— повний рядок, напр.2026.2 (build 238924)extra.buildNumber,extra.internalId
Зіставлення з CVE
Section titled “Зіставлення з CVE”Зіставляється з NVD і БДУ ФСТЕК, якщо налаштовано блок cve:.
Резолвер життєвого циклу
Section titled “Резолвер життєвого циклу”Немає — endoflife.date не має календаря TeamCity (підтверджено 404). Поки що лише для інвентаризації.