63 lines
1.8 KiB
Text
63 lines
1.8 KiB
Text
|
% if (my $invalid = stash('invalid')) {
|
||
|
%= include '_invalid_input', invalid => $invalid
|
||
|
% }
|
||
|
|
||
|
<h1>Web Hooks</h1>
|
||
|
|
||
|
<!-- -H "Authorization: Bearer ${TOKEN}" -->
|
||
|
<div class="row">
|
||
|
<div class="col s12">
|
||
|
<p>
|
||
|
Die im Web Hook konfigurierte URL wird bei jedem Checkin und Checkout
|
||
|
des ausgewählten Zuges aufgerufen. Falls ein Token eingetragen
|
||
|
ist, wird er als Bearer Token verwendet.
|
||
|
</p>
|
||
|
<p>
|
||
|
Events werden als JSON POST übertragen. Das JSON-Dokument besteht aus
|
||
|
zwei Feldern: „reason“ gibt den Grund des API-Aufrufs an (checkin,
|
||
|
checkout, undo), „status“ den <a href="/api">aktuellen Status</a>.
|
||
|
</p>
|
||
|
</div>
|
||
|
%= form_for '/account/hooks' => (method => 'POST') => begin
|
||
|
%= csrf_field
|
||
|
<div class="col s12 center-align">
|
||
|
<label>
|
||
|
%= check_box enabled => 1
|
||
|
<span>Aktiv</span>
|
||
|
</label>
|
||
|
</div>
|
||
|
<div class="input-field col s12">
|
||
|
<i class="material-icons prefix">link</i>
|
||
|
%= text_field 'url', id => 'url', class => 'validate', maxlength => 1000
|
||
|
<label for="url">URL</label>
|
||
|
</div>
|
||
|
<div class="input-field col s12">
|
||
|
<i class="material-icons prefix">lock</i>
|
||
|
%= text_field 'token', id => 'token', class => 'validate', maxlength => 250
|
||
|
<label for="token">Token</label>
|
||
|
</div>
|
||
|
<div class="col s12">
|
||
|
% if ($hook->{latest_run}->epoch) {
|
||
|
Zuletzt ausgeführt: <%= $hook->{latest_run} %><br/>
|
||
|
% if ($hook->{errored}) {
|
||
|
<i class="material-icons left">error</i>
|
||
|
Status: <%= $hook->{output} %>
|
||
|
% }
|
||
|
% else {
|
||
|
<i class="material-icons left">check</i>
|
||
|
Server-Antwort: <%= $hook->{output} %>
|
||
|
% }
|
||
|
% }
|
||
|
% else {
|
||
|
Noch nicht ausgeführt.
|
||
|
% }
|
||
|
</div>
|
||
|
<div class="col s12 center-align">
|
||
|
<button class="btn waves-effect waves-light" type="submit" name="action" value="save">
|
||
|
Speichern
|
||
|
<i class="material-icons right">send</i>
|
||
|
</button>
|
||
|
</div>
|
||
|
%= end
|
||
|
</div>
|