1
0
Fork 0
forked from forgejo/forgejo

Add Matrix webhook (#10831)

* Add Matrix webhook

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

* Add template and related translations for Matrix hook

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

* Add actual webhook routes and form

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

* Add missing file

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

* Update modules/webhook/matrix_test.go

* Use stricter regex to replace URLs

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

* Escape url and text

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

* Remove unnecessary whitespace

* Fix copy and paste mistake

Co-Authored-By: Tulir Asokan <tulir@maunium.net>

* Fix indention inconsistency

* Use Authorization header instead of url parameter

* Add raw commit information to webhook

Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: Tulir Asokan <tulir@maunium.net>
This commit is contained in:
S7evinK 2020-03-28 14:09:55 +01:00 committed by GitHub
parent 7cd47046ea
commit 828a27feeb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 645 additions and 1 deletions

View file

@ -29,6 +29,9 @@
<a class="item" href="{{.BaseLink}}/feishu/new">
<img class="img-10" src="{{StaticUrlPrefix}}/img/feishu.png">Feishu
</a>
<a class="item" href="{{.BaseLink}}/matrix/new">
<img class="img-10" src="{{StaticUrlPrefix}}/img/matrix.svg">Matrix
</a>
</div>
</div>
</div>

View file

@ -0,0 +1,31 @@
{{if eq .HookType "matrix"}}
<p>{{.i18n.Tr "repo.settings.add_matrix_hook_desc" "https://matrix.org/" | Str2html}}</p>
<form class="ui form" action="{{.BaseLink}}/matrix/{{or .Webhook.ID "new"}}" method="post">
{{.CsrfTokenHtml}}
<div class="required field {{if .Err_HomeserverURL}}error{{end}}">
<label for="homeserver_url">{{.i18n.Tr "repo.settings.matrix.homeserver_url"}}</label>
<input id="homeserver_url" name="homeserver_url" type="text" value="{{.MatrixHook.HomeserverURL}}" autofocus required>
</div>
<div class="required field {{if .Err_Room}}error{{end}}">
<label for="room_id">{{.i18n.Tr "repo.settings.matrix.room_id"}}</label>
<input id="room_id" name="room_id" type="text" value="{{.MatrixHook.Room}}" required>
</div>
<div class="required field {{if .Err_AccessToken}}error{{end}}">
<label for="access_token">{{.i18n.Tr "repo.settings.matrix.access_token"}}</label>
<input id="access_token" name="access_token" type="text" value="{{.MatrixHook.AccessToken}}" required>
</div>
<div class="field">
<label>{{.i18n.Tr "repo.settings.matrix.message_type"}}</label>
<div class="ui selection dropdown">
<input type="hidden" id="message_type" name="message_type" value="{{if .MatrixHook.MessageType}}{{.MatrixHook.MessageType}}{{else}}1{{end}}">
<div class="default text"></div>
<i class="dropdown icon"></i>
<div class="menu">
<div class="item" data-value="1">m.notice</div>
<div class="item" data-value="2">m.text</div>
</div>
</div>
</div>
{{template "repo/settings/webhook/settings" .}}
</form>
{{end}}

View file

@ -23,6 +23,8 @@
<img class="img-13" src="{{StaticUrlPrefix}}/img/msteams.png">
{{else if eq .HookType "feishu"}}
<img class="img-13" src="{{StaticUrlPrefix}}/img/feishu.png">
{{else if eq .HookType "matrix"}}
<img class="img-13" src="{{StaticUrlPrefix}}/img/matrix.svg">
{{end}}
</div>
</h4>
@ -35,6 +37,7 @@
{{template "repo/settings/webhook/telegram" .}}
{{template "repo/settings/webhook/msteams" .}}
{{template "repo/settings/webhook/feishu" .}}
{{template "repo/settings/webhook/matrix" .}}
</div>
{{template "repo/settings/webhook/history" .}}