rt-static is a (mostly) static RT (Request Tracker) data viewer, meant for keeping archived data available without a full RT instance underneath.
server
is a webserver that serves the extracted data.
dump-json.pl
uses the RT API to extract selected tickets, and writes one JSON
file per ticket.
index
reads the files generated by dump-json.pl
and outputs:
- a bleve index
index.json
containing information used to speed up other operations.
The cli
tool can be used to query the generated bleve index from the command
line.
queue=perl5
extract/dump-json.pl --out /rtjson/${queue} --queue ${queue}
go run cmd/index/index.go -data /rtjson/${queue} --alsologtostderr --outdir /rtjson/${queue}
go run cmd/server/server.go --data /big/rt-static/perl5/ --index /big/rt-static/perl5/index.bleve
Extract merged.json from the archive and use json_xs
to CSVify it.
json_xs -e 'my $o=""; while (my ($k,$v) = each %{$_}) { $o.="$k\t$v\n" }; $_=$o' -t string < merged.json | sort -n > merged.txt
rtgithub.txt
is the mapping of old RT issues to new GitHub issue IDs (in a
single component.) When expanding to multiple projects, you'll need multiple
RewriteMaps and rules.
RewriteMap GitHubMap "txt:/path/to/rtgithub.txt"
RewriteMap Merged "txt:/path/to/merged.txt"
RewriteCond "%{QUERY_STRING}" ".*id=(\d+).*"
RewriteCond ${Perl5Merged:%1} !=""
RewriteRule "/(?:Ticket|Public/Bug)/" "https://github.com/Perl/perl5/issues/${GitHubMap:${Merged:%1}}?" [L]
RewriteCond "%{QUERY_STRING}" ".*id=(\d+).*"
RewriteCond ${GitHubMap:%1} !=""
RewriteRule "/(?:Ticket|Public/Bug)/" "https://github.com/Perl/perl5/issues/${GitHubMap:%1}?"
This is not an official Google project.
This project is not affiliated with Best Practical, LLC.