You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by Sam Ruby <ru...@apache.org> on 2016/02/15 21:00:24 UTC
[whimsy.git] [1/1] Commit 403c8b3: server side support for attic issues
Commit 403c8b3a42f6246ea47a2a814a77830a051eec22:
server side support for attic issues
Branch: refs/heads/master
Author: Sam Ruby <ru...@intertwingly.net>
Committer: Sam Ruby <ru...@intertwingly.net>
Pusher: rubys <ru...@apache.org>
------------------------------------------------------------
www/roster/main.rb | ++++
www/roster/models.rb | +
www/roster/models/attic.rb | ++++++++++++
------------------------------------------------------------
29 changes: 29 additions, 0 deletions.
------------------------------------------------------------
diff --git a/www/roster/main.rb b/www/roster/main.rb
index aa3045e..747f11c 100755
--- a/www/roster/main.rb
+++ b/www/roster/main.rb
@@ -69,3 +69,7 @@
_json :"actions/#{params[:file]}"
end
+# attic issues
+get '/attic/issues.json' do
+ _json Attic.issues
+end
diff --git a/www/roster/models.rb b/www/roster/models.rb
index d2ba882..3cf0d4f 100644
--- a/www/roster/models.rb
+++ b/www/roster/models.rb
@@ -1,3 +1,4 @@
+require_relative 'models/attic'
require_relative 'models/auth'
require_relative 'models/committer'
require_relative 'models/committee'
diff --git a/www/roster/models/attic.rb b/www/roster/models/attic.rb
new file mode 100644
index 0000000..8ee1cd6
--- /dev/null
+++ b/www/roster/models/attic.rb
@@ -0,0 +1,24 @@
+class Attic
+ def self.issues
+ @issues = nil if @mtime and Time.now - @mtime > 300
+
+ unless @issues
+ require 'cgi'
+ query = 'project = ATTIC AND status in (Open, "In Progress", Reopened)'
+
+ uri = URI.parse('https://issues.apache.org/jira/rest/api/2/search?jql=')
+
+ Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
+ request = Net::HTTP::Get.new(uri.request_uri + CGI.escape(query))
+
+ response = http.request(request)
+
+ @issues = JSON.parse(response.body)['issues'].map do |issue|
+ [ issue['key'], issue['fields']['summary'] ]
+ end
+ end
+ end
+
+ Hash[@issues]
+ end
+end