blob: 950a881ba05569019dcd187e1d90e1b930b36c43 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#!/usr/bin/env ruby
require 'cgi'
require 'json'
require 'mastodon'
require_relative 'secret'
cgi = CGI.new
begin
payload = JSON.parse(cgi.params['payload'].first)
rescue
cgi.out('status' => 'BAD_REQUEST', 'type' => 'text/plain') { 'bad' }
exit
end
if payload['secret'] != GITEA_SECRET
cgi.out('status' => 'FORBIDDEN', 'type' => 'text/plain') { 'no' }
exit
end
client = Mastodon::REST::Client.new(
base_url: MASTODON_URL,
bearer_token: MASTODON_TOKEN,
)
payload['commits'].reverse.each do |commit|
next unless commit['message'].include?("\n\n")
message = commit['message']
.split("\n\n")
.map {|p| p.split("\n").join(' ') }
.join("\n")
client.create_status("🚽 #{message}\n#{commit['url']}")
end
cgi.out('text/plain') { 'ok' }
|