11

jira-rubyという gem を使用して、JIRA から問題を取得しようとしています。問題は、結果に 70 件の問題が含まれているのに、最初の 50 件しか表示されないことです。JIRA REST API を直接使用する場合、maxResults パラメーター (JQL の外部) をより大きな数値に設定できます。しかし、ルビーの宝石にはその可能性がありません。

この ruby​​ gem を使用して maxResults フラグを直接設定する可能性はありますか、または他の同様に単純な解決策はありますか?

コードは次のとおりです。

require 'jira'

class PagesController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception
  def home

    options = {
        :username => 'xxx',
        :password => 'xxx',
        :site     => "https://xxx.atlassian.net",
        :context_path => '',
        :auth_type => :basic
    }

    client = JIRA::Client.new(options)
    @issues = 0
    client.Issue.jql("project = AA AND fixVersion = it11").each do |issue|
      @issues += 1 #  "#{@issues} <br> #{issue.id} - #{issue}"
    end

  end
end
4

1 に答える 1

12

わかりました、ついに問題がどこにあるのかがわかりました。私は gem の 0.1.10 バージョン (gem install コマンドによってデフォルトでダウンロードされたもの) を使用していましたが、このバージョン (おそらく) にはこの問題がありました。解決策は、次の行を Gemfile に追加して、git から gem をダウンロードすることでした。

gem 'jira-ruby', :git => 'git://github.com/sumoheavy/jira-ruby.git'

次に、コードで jql メソッドがこのパラメーターを指定できるハッシュを受け入れることがわかったので、コードは次のようになり、機能しています。

require 'jira'

class PagesController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception
  def home

    p "processing..."
    options = {
        :username => 'xxx',
        :password => 'xxx',
        :site     => "https://xxx.atlassian.net",
        :context_path => '',
        :auth_type => :basic
    }

    client = JIRA::Client.new(options)


    query_options = {
        :fields => [],
        :start_at => 0,
        :max_results => 100000
    }

    @issues = ''

    client.Issue.jql('project = AA AND fixVersion = it11', query_options).each do |issue|
      @issues = "#{@issues} <br> #{issue}"
      #@issues.push(issue.id)
    end
    #@issues = @issues.length
  end
end

また、Rails gem もバージョン 4.1.4 に更新する必要がありました。

于 2014-08-05T11:54:54.983 に答える