Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teamcity webhook #18668

Closed
wants to merge 31 commits into from
Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
c33926d
Create templates and translation strings.
strangedreamsNY Feb 8, 2022
1585424
Create TeamCityHook form model.
strangedreamsNY Feb 8, 2022
90890b8
Add translations
strangedreamsNY Feb 8, 2022
626c5d3
Add Meta and HookHandler. No interface matching since TeamCity doesn'…
strangedreamsNY Feb 8, 2022
e26ea44
Wire in TeamCity Webhook New/Edit post handlers.
strangedreamsNY Feb 8, 2022
faa0f98
Add Routes
strangedreamsNY Feb 8, 2022
a04e2b8
Update Teamcity.png, remove hidden whitespace.
strangedreamsNY Feb 8, 2022
f7a5427
Create templates and translation strings.
strangedreamsNY Feb 8, 2022
b4f1d8a
Create TeamCityHook form model.
strangedreamsNY Feb 8, 2022
af787b4
Add translations
strangedreamsNY Feb 8, 2022
6f685b7
Add Meta and HookHandler. No interface matching since TeamCity doesn'…
strangedreamsNY Feb 8, 2022
0c00340
Wire in TeamCity Webhook New/Edit post handlers.
strangedreamsNY Feb 8, 2022
e5fd009
Add Routes
strangedreamsNY Feb 8, 2022
634db8f
Update Teamcity.png, remove hidden whitespace.
strangedreamsNY Feb 8, 2022
5948c25
Merge remote-tracking branch 'origin/teamcity_webhook' into teamcity_…
strangedreamsNY Feb 8, 2022
ffea42e
Rebase onto latest. Resolve merge conflicts.
strangedreamsNY Feb 8, 2022
ec32633
Revert "Add translations"
strangedreamsNY Feb 8, 2022
86435f9
Add TeamCityHookForm.
strangedreamsNY Feb 8, 2022
cc51e42
Add Repo Webhooks for TeamCity with New and Edit handlers.
strangedreamsNY Feb 8, 2022
47805cb
Add TeamCity New/Edit Post webhooks to routes.
strangedreamsNY Feb 8, 2022
cd5bbce
Fix TeamCity hook signatures and templates. Use new references.
strangedreamsNY Feb 8, 2022
199510e
Added BearerToken property to HookTask
strangedreamsNY Feb 8, 2022
d0b1a3d
Replace Teamcity png logo with svg version
strangedreamsNY Feb 8, 2022
25f83a9
Add unit tests for Teamcity meta and payload.
strangedreamsNY Feb 8, 2022
7580432
Fix linting issues.
strangedreamsNY Feb 9, 2022
33e6466
Rename properties/variables to use URL and ID instead of "Url" and "Id"
strangedreamsNY Feb 9, 2022
d76ee61
Add teamcity hook to docs for swagger gen.
strangedreamsNY Feb 9, 2022
03f671a
Revert "update the comparison documents (#18669)"
strangedreamsNY Feb 9, 2022
cc9af8d
Revert "Restart zero worker if there is still work to do (#18658)"
strangedreamsNY Feb 9, 2022
b3f8e4b
Remove duplicate entries from rebase.
strangedreamsNY Feb 9, 2022
0b7a62e
Merge branch 'main' into teamcity_webhook
zeripath Feb 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions models/webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -546,7 +546,7 @@ func copyDefaultWebhooksToRepo(e Engine, repoID int64) error {
// \___|_ / \____/ \____/|__|_ \ |____| (____ /____ >__|_ \
// \/ \/ \/ \/ \/

// HookTaskType is the type of an hook task
// HookTaskType is the type of a hook task
type HookTaskType int

// Types of hook tasks
Expand All @@ -560,6 +560,7 @@ const (
MSTEAMS
FEISHU
MATRIX
TEAMCITY
)

var hookTaskTypes = map[string]HookTaskType{
Expand All @@ -570,6 +571,7 @@ var hookTaskTypes = map[string]HookTaskType{
"dingtalk": DINGTALK,
"telegram": TELEGRAM,
"msteams": MSTEAMS,
"teamcity": TEAMCITY,
"feishu": FEISHU,
"matrix": MATRIX,
}
Expand All @@ -579,7 +581,7 @@ func ToHookTaskType(name string) HookTaskType {
return hookTaskTypes[name]
}

// Name returns the name of an hook task type
// Name returns the name of a hook task type
func (t HookTaskType) Name() string {
switch t {
case GITEA:
Expand All @@ -596,6 +598,8 @@ func (t HookTaskType) Name() string {
return "telegram"
case MSTEAMS:
return "msteams"
case TEAMCITY:
return "teamcity"
case FEISHU:
return "feishu"
case MATRIX:
Expand Down Expand Up @@ -687,6 +691,7 @@ type HookTask struct {
RepoID int64 `xorm:"INDEX"`
HookID int64
UUID string
BearerToken string
Type HookTaskType
URL string `xorm:"TEXT"`
Signature string `xorm:"TEXT"`
Expand Down
12 changes: 12 additions & 0 deletions modules/auth/repo_form.go
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,18 @@ func (f *NewGogshookForm) Validate(ctx *macaron.Context, errs binding.Errors) bi
return validate(errs, ctx.Data, f, ctx.Locale)
}

type NewTeamCityhookForm struct {
HostUrl string `binding:"Required;ValidUrl"`
AuthToken string `binding:"Required"`
VcsRootId string `binding:"Required"`
WebhookForm
}

// Validate validates the fields
func (f *NewTeamCityhookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}

// NewSlackHookForm form for creating slack hook
type NewSlackHookForm struct {
PayloadURL string `binding:"Required;ValidUrl"`
Expand Down
2 changes: 1 addition & 1 deletion modules/setting/webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func newWebhookService() {
Webhook.QueueLength = sec.Key("QUEUE_LENGTH").MustInt(1000)
Webhook.DeliverTimeout = sec.Key("DELIVER_TIMEOUT").MustInt(5)
Webhook.SkipTLSVerify = sec.Key("SKIP_TLS_VERIFY").MustBool()
Webhook.Types = []string{"gitea", "gogs", "slack", "discord", "dingtalk", "telegram", "msteams", "feishu", "matrix"}
Webhook.Types = []string{"gitea", "gogs", "slack", "discord", "dingtalk", "telegram", "msteams", "teamcity", "feishu", "matrix"}
Webhook.PagingNum = sec.Key("PAGING_NUM").MustInt(10)
Webhook.ProxyURL = sec.Key("PROXY_URL").MustString("")
if Webhook.ProxyURL != "" {
Expand Down
5 changes: 4 additions & 1 deletion modules/webhook/deliver.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ func Deliver(t *models.HookTask) error {
if err != nil {
return err
}

req.Header.Set("Content-Type", "application/json")
case models.ContentTypeForm:
var forms = url.Values{
Expand Down Expand Up @@ -91,6 +90,10 @@ func Deliver(t *models.HookTask) error {
return fmt.Errorf("Invalid http method for webhook: [%d] %v", t.ID, t.HTTPMethod)
}

if t.BearerToken != "" {
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", t.BearerToken))
}

req.Header.Add("X-Gitea-Delivery", t.UUID)
req.Header.Add("X-Gitea-Event", t.EventType.Event())
req.Header.Add("X-Gitea-Signature", t.Signature)
Expand Down
25 changes: 25 additions & 0 deletions modules/webhook/teamcity.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package webhook
firephreek marked this conversation as resolved.
Show resolved Hide resolved

import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/log"
"encoding/json"
firephreek marked this conversation as resolved.
Show resolved Hide resolved
)

type (
TeamCityMeta struct {
HostUrl string `json:"host_url"`
AuthToken string `json:"auth_token"`
VcsRootId string `json:"vcs_root_id"`
}
)

func GetTeamCityHook(w *models.Webhook) *TeamCityMeta {
s := &TeamCityMeta{}

if err := json.Unmarshal([]byte(w.Meta), s); err != nil {
log.Error("webhook.GetTeamCityHook(%d): %v", w.ID, err)
}

return s
}
7 changes: 7 additions & 0 deletions modules/webhook/webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ func prepareWebhook(w *models.Webhook, repo *models.Repository, event models.Hoo

var payloader api.Payloader
var err error
var authToken string

// Use separate objects so modifications won't be made on payload on non-Gogs/Gitea type hooks.
switch w.HookTaskType {
case models.SLACK:
Expand Down Expand Up @@ -132,6 +134,10 @@ func prepareWebhook(w *models.Webhook, repo *models.Repository, event models.Hoo
if err != nil {
return fmt.Errorf("GetMatrixPayload: %v", err)
}
case models.TEAMCITY:
payloader = p // TeamCity POST hooks don't have a body
hook := GetTeamCityHook(w) // Reuse the JSON marshalling
authToken = hook.AuthToken
default:
p.SetSecret(w.Secret)
payloader = p
Expand All @@ -153,6 +159,7 @@ func prepareWebhook(w *models.Webhook, repo *models.Repository, event models.Hoo

if err = models.CreateHookTask(&models.HookTask{
RepoID: repo.ID,
BearerToken: authToken,
HookID: w.ID,
Type: w.HookTaskType,
URL: w.URL,
Expand Down
3 changes: 3 additions & 0 deletions options/locale/locale_bg-BG.ini
Original file line number Diff line number Diff line change
Expand Up @@ -909,6 +909,9 @@ settings.hook_type=Тип на куката
settings.slack_token=API ключ
settings.slack_domain=Домейн
settings.slack_channel=Канал
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.deploy_keys=Ключове за внедряване
settings.add_deploy_key=Добави ключ за внедряване
settings.title=Заглавие
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_cs-CZ.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1569,9 +1569,13 @@ settings.add_slack_hook_desc=Integrovat <a href="%s">Slack</a> do vašeho repozi
settings.slack_token=Poukázka
settings.slack_domain=Doména
settings.slack_channel=Kanál
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=Integrovat <a href="%s">Discord</a> do vašeho repozitáře.
settings.add_dingtalk_hook_desc=Integrovat <a href="%s">Dingtalk</a> do vašeho repozitáře.
settings.add_telegram_hook_desc=Integrovat <a href="%s">Telegram</a> do vašeho repozitáře.
settings.add_teamcity_hook_desc=Integrovat <a href="%s">TeamCity</a> do vašeho repozitáře.
settings.add_matrix_hook_desc=Integrovat <a href="%s">Matrix</a> do vašeho repozitáře.
settings.add_msteams_hook_desc=Integrovat <a href="%s">Microsoft Teams</a> do vašeho repozitáře.
settings.add_feishu_hook_desc=Integrovat <a href="%s">Feishu</a> do vašeho repozitáře.
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_de-DE.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1601,9 +1601,13 @@ settings.add_slack_hook_desc=<a href="%s">Slack</a>-Integration zu deinem Reposi
settings.slack_token=Token
settings.slack_domain=Domain
settings.slack_channel=Kanal
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=<a href="%s">Discord</a>-Integration zu deinem Repository hinzufügen.
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a>-Integration zu deinem Repository hinzufügen.
settings.add_telegram_hook_desc=<a href="%s">Telegram</a>-Integration zu deinem Repository hinzufügen.
settings.add_teamcity_hook_desc=<a href="%s">TeamCity</a>-Integration zu deinem Repository hinzufügen.
settings.add_matrix_hook_desc=<a href="%s">Matrix</a>-Integration zu deinem Repository hinzufügen.
settings.add_msteams_hook_desc=<a href="%s">"Microsoft Teams"</a>-Integration zu deinem Repository hinzufügen.
settings.add_feishu_hook_desc=<a href="%s">Feishu</a>-Integration zu deinem Repository hinzufügen.
Expand Down
6 changes: 5 additions & 1 deletion options/locale/locale_en-US.ini
Original file line number Diff line number Diff line change
Expand Up @@ -954,7 +954,7 @@ issues.new.no_reviewers = No reviewers
issues.new.add_reviewer_title = Request review
issues.choose.get_started = Get Started
issues.choose.blank = Default
issues.choose.blank_about = Create an issue from default template.
issues.choose.blank_about = Create an issue from default template.
issues.no_ref = No Branch/Tag Specified
issues.create = Create Issue
issues.new_label = New Label
Expand Down Expand Up @@ -1612,9 +1612,13 @@ settings.add_slack_hook_desc = Integrate <a href="%s">Slack</a> into your reposi
settings.slack_token = Token
settings.slack_domain = Domain
settings.slack_channel = Channel
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc = Integrate <a href="%s">Discord</a> into your repository.
settings.add_dingtalk_hook_desc = Integrate <a href="%s">Dingtalk</a> into your repository.
settings.add_telegram_hook_desc = Integrate <a href="%s">Telegram</a> into your repository.
settings.add_teamcity_hook_desc = Integrate <a href="%s">TeamCity</a> into your repository.
settings.add_matrix_hook_desc = Integrate <a href="%s">Matrix</a> into your repository.
settings.add_msteams_hook_desc = Integrate <a href="%s">Microsoft Teams</a> into your repository.
settings.add_feishu_hook_desc = Integrate <a href="%s">Feishu</a> into your repository.
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_es-ES.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1594,9 +1594,13 @@ settings.add_slack_hook_desc=Integrar <a href="%s">Slack</a> en su repositorio.
settings.slack_token=Token
settings.slack_domain=Dominio
settings.slack_channel=Canal
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=Integrar <a href="%s">Discord</a> en su repositorio.
settings.add_dingtalk_hook_desc=Integrar <a href="%s">Dingtalk</a> en su repositorio.
settings.add_telegram_hook_desc=Integrar <a href="%s">Telegrama</a> en tu repositorio.
settings.add_teamcity_hook_desc=Integrar <a href="%s">TeamCity</a> en tu repositorio.
settings.add_matrix_hook_desc=Integrar <a href="%s">Matrix</a> en su repositorio.
settings.add_msteams_hook_desc=Integrar <a href="%s">Microsoft Teams</a> en tu repositorio.
settings.add_feishu_hook_desc=Integrar <a href="%s">Slack</a> en su repositorio.
Expand Down
10 changes: 7 additions & 3 deletions options/locale/locale_fa-IR.ini
Original file line number Diff line number Diff line change
Expand Up @@ -548,10 +548,10 @@ access_token_deletion=حذف توکن
access_token_deletion_desc=حذف token باعث از کار افتادن تمامی برنامه‎هایی که در آنها به کار رفته می‎شود. آیا ادامه می‎دهید؟
delete_token_success=token مورد نظر حذف شد. برنامه هایی که از آن استفاده می‎کنند به زودی دسترسی به حساب کاربری شما را از دست می‎دهند.

manage_oauth2_applications=مدیریت برنامه‎های OAuth2
edit_oauth2_application=ویرایش برنامه OAuth2
manage_oauth2_applications=مدیریت برنامه‎های OAuth2
edit_oauth2_application=ویرایش برنامه OAuth2
oauth2_applications_desc=برنامه‎های OAuth2 احراز هویت برنامه های شخص ثالث را با بستری امن میسر می‎کند.
remove_oauth2_application=حذف برنامه OAuth2
remove_oauth2_application=حذف برنامه OAuth2
remove_oauth2_application_desc=حذف برنامه OAuth2 دسترسی تمام برنامه های متصل با آن را از بین می‎برد. آیا ادامه می‎دهید؟
remove_oauth2_application_success=برنامه حذف شده است.
create_oauth2_application=ساختن یک برنامه OAuth2 جدید
Expand Down Expand Up @@ -1483,9 +1483,13 @@ settings.add_slack_hook_desc=درست کردن <a href="%s">سستی </a> در
settings.slack_token=توکن
settings.slack_domain=دامنه
settings.slack_channel=کانال
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
firephreek marked this conversation as resolved.
Show resolved Hide resolved
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=درست کردن <a href="%s">اختلاف‌ها </a> در مخزن شما.
settings.add_dingtalk_hook_desc=درست کردن <a href="%s">Dingtalk </a> در مخزن شما.
settings.add_telegram_hook_desc=درست کردن <a href="%s">تلگرام </a> در مخزن شما.
settings.add_teamcity_hook_desc=درست کردن <a href="%s">TeamCity </a> در مخزن شما.
settings.add_msteams_hook_desc=درست کردن <a href="%s">تیم مایکروسافت </a> در مخزن شما.
settings.deploy_keys=کلید های استقرار
settings.add_deploy_key=افزودن کلید استقرار
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_fi-FI.ini
Original file line number Diff line number Diff line change
Expand Up @@ -900,9 +900,13 @@ settings.add_slack_hook_desc=Liitä <a href="%s">Slack</a> repoon.
settings.slack_token=Pääsymerkki
settings.slack_domain=Verkkotunnus
settings.slack_channel=Kanava
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=Liitä <a href="%s">Discord</a> repoon.
settings.add_dingtalk_hook_desc=Liitä <a href="%s">Dingtalk</a> repoon.
settings.add_telegram_hook_desc=Liitä <a href="%s">Telegram</a> repoon.
settings.add_teamcity_hook_desc=Liitä <a href="%s">TeamCity</a> repoon.
settings.add_matrix_hook_desc=Liitä <a href="%s">Matrix</a> repoon.
settings.add_msteams_hook_desc=Liitä <a href="%s">Microsoft Teams</a> repoon.
settings.add_feishu_hook_desc=Liitä <a href="%s">Feishu</a> repoon.
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_fr-FR.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1480,9 +1480,13 @@ settings.add_slack_hook_desc=Intégrer <a href="%s">Slack</a> au dépôt.
settings.slack_token=Jeton
settings.slack_domain=Domaine
settings.slack_channel=Canal
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=Intégrer <a href="%s">Discord</a> au dépôt.
settings.add_dingtalk_hook_desc=Intégrer <a href="%s">Dingtalk</a> au dépôt.
settings.add_telegram_hook_desc=Intégrer <a href="%s">Telegram</a> au dépôt.
settings.add_teamcity_hook_desc=Intégrer <a href="%s">TeamCity</a> au dépôt.
settings.add_matrix_hook_desc=Intégrer <a href="%s">Matrix</a> au dépôt.
settings.add_msteams_hook_desc=Intégrer <a href="%s">Microsoft Teams</a> au dépôt.
settings.add_feishu_hook_desc=Intégrer <a href="%s">Feishu</a> au dépôt.
Expand Down
6 changes: 5 additions & 1 deletion options/locale/locale_hu-HU.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1215,9 +1215,13 @@ settings.add_slack_hook_desc=<a href="%s">Slack</a> integrálása a tárolóba.
settings.slack_token=Token
settings.slack_domain=Tartomány
settings.slack_channel=Csatorna
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=<a href="%s">Discord</a> integrálása a tárolóba.
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a> integrálása a tárolóba.
settings.add_telegram_hook_desc=<a href="%s">Telegram</a> integrálása a tárolóba.
settings.add_teamcity_hook_desc=<a href="%s">TeamCity</a> integrálása a tárolóba.
settings.add_msteams_hook_desc=<a href="%s">Microsoft Teams</a> integrálása a tárolóba.
settings.deploy_keys=Telepítési kulcsok
settings.add_deploy_key=Telepítési kulcs hozzáadása
Expand Down Expand Up @@ -1544,7 +1548,7 @@ auths.tip.gitlab=Vegyen fel új alkalmazást itt: https://gitlab.com/profile/app
auths.tip.google_plus=Szerezzen OAuth2 kliens hitelesítési adatokat a Google API konzolban (https://console.developers.google.com/)
auths.tip.openid_connect=Használja az OpenID kapcsolódás felfedező URL-t (<kiszolgáló>/.well-known/openid-configuration) a végpontok beállításához
auths.tip.twitter=Menyjen ide: https://dev.twitter.com/apps, hozzon létre egy alkalmazást és győződjön meg róla, hogy az “Allow this application to be used to Sign in with Twitter” opció be van kapcsolva
auths.tip.discord=Vegyen fel új alkalmazást itt:
auths.tip.discord=Vegyen fel új alkalmazást itt:
https://discordapp.com/developers/applications/me
auths.tip.gitea=Regisztráljon új OAuth2 alkalmazást. Útmutató erről itt található: https://docs.gitea.io/en-us/oauth2-provider
auths.edit=Hitelesítési forrás szerkesztése
Expand Down
3 changes: 3 additions & 0 deletions options/locale/locale_id-ID.ini
Original file line number Diff line number Diff line change
Expand Up @@ -993,6 +993,9 @@ settings.hook_type=Jenis Hook
settings.slack_token=Token
settings.slack_domain=Domain
settings.slack_channel=Saluran
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.deploy_keys=Kunci Deploy
settings.add_deploy_key=Tambahkan Kunci Deploy
settings.title=Judul
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_it-IT.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1434,9 +1434,13 @@ settings.add_slack_hook_desc=Integra <a href="%s">Slack</a> nel tuo repository.
settings.slack_token=Gettone
settings.slack_domain=Dominio
settings.slack_channel=Canale
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=Integra <a href="%s">Discord</a> nel tuo repository.
settings.add_dingtalk_hook_desc=Integra <a href="%s">Dingtalk</a> nel tuo repository.
settings.add_telegram_hook_desc=Integra <a href="%s">Telegram</a> nella tua repository.
settings.add_teamcity_hook_desc=Integra <a href="%s">TeamCity</a> nella tua repository.
settings.add_msteams_hook_desc=Integra <a href="%s">Microsoft Teams</a> nella tua repository.
settings.add_feishu_hook_desc=Integra <a href="%s">Feishu</a> nel tuo repository.
settings.deploy_keys=Dispiega Chiavi
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_ja-JP.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1611,9 +1611,13 @@ settings.add_slack_hook_desc=<a href="%s">Slack</a>をリポジトリと組み
settings.slack_token=トークン
settings.slack_domain=ドメイン
settings.slack_channel=チャンネル
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=<a href="%s">Discord</a>をリポジトリと組み合わせます。
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a>をリポジトリと組み合わせます。
settings.add_telegram_hook_desc=<a href="%s">Telegram</a>をリポジトリと組み合わせます。
settings.add_teamcity_hook_desc=<a href="%s">TeamCity</a>をリポジトリと組み合わせます。
settings.add_matrix_hook_desc=<a href="%s">Matrix</a> とリポジトリを組み合わせます。
settings.add_msteams_hook_desc=<a href="%s">Microsoft Teams</a>をリポジトリと組み合わせます。
settings.add_feishu_hook_desc=<a href="%s">Feishu</a>をリポジトリと組み合わせます。
Expand Down
3 changes: 3 additions & 0 deletions options/locale/locale_ko-KR.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1096,6 +1096,9 @@ settings.add_slack_hook_desc=<a href="%s">Slack</a>을 저장소와 연동.
settings.slack_token=토큰
settings.slack_domain=도메인
settings.slack_channel=채널
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=<a href="%s">Discord</a>를 저장소와 연동.
settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a>을 저장소와 연동.
settings.deploy_keys=배포 키
Expand Down
4 changes: 4 additions & 0 deletions options/locale/locale_lv-LV.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1583,9 +1583,13 @@ settings.add_slack_hook_desc=Integrēt <a href="%s">Slack</a> repozitorijā.
settings.slack_token=Talons
settings.slack_domain=Domēns
settings.slack_channel=Kanāls
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_discord_hook_desc=Integrēt <a href="%s">Discord</a> repozitorijā.
settings.add_dingtalk_hook_desc=Integrēt <a href="%s">Dingtalk</a> repozitorijā.
settings.add_telegram_hook_desc=Integrēt <a href="%s">Telegram</a> repozitorijā.
settings.add_teamcity_hook_desc=Integrēt <a href="%s">TeamCity</a> repozitorijā.
settings.add_matrix_hook_desc=Integrēt <a href="%s">Matrix</a> repozitorijā.
settings.add_msteams_hook_desc=Integrēt <a href="%s">Microsoft Teams</a> repozitorijā.
settings.add_feishu_hook_desc=Integrēt <a href="%s">Feishu</a> repozitorijā.
Expand Down
3 changes: 3 additions & 0 deletions options/locale/locale_nl-NL.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1423,6 +1423,9 @@ settings.hook_type=Type hook
settings.slack_token=Slack token
settings.slack_domain=Slack domein
settings.slack_channel=Slack kanaal
settings.teamcity_host_url = Host URL
settings.teamcity_vcs_root_id = VCS Root ID
settings.teamcity_auth_token = Authentication Token
settings.add_matrix_hook_desc=Integreer <a href="%s">Matrix</a> in uw repository.
settings.add_feishu_hook_desc=Integreer <a href="%s">Feishu</a> in uw repository.
settings.deploy_keys=Installeer sleutels
Expand Down
Loading