diff --git a/Gemfile.lock b/Gemfile.lock index 70fcc2d..9249ac6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -29,7 +29,7 @@ GEM sawyer (~> 0.8.0, >= 0.5.3) paint (2.1.0) public_suffix (3.0.3) - rake (10.5.0) + rake (13.0.3) rest-client (2.0.2) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) @@ -50,7 +50,7 @@ DEPENDENCIES byebug github_changelog_entry! minitest (~> 5.0) - rake (~> 10.0) + rake (~> 13.0) BUNDLED WITH 2.0.1 diff --git a/github_changelog_entry.gemspec b/github_changelog_entry.gemspec index 20448ec..ca0d6fe 100644 --- a/github_changelog_entry.gemspec +++ b/github_changelog_entry.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_development_dependency "bundler", "~> 2.0" - spec.add_development_dependency "rake", "~> 10.0" + spec.add_development_dependency "rake", "~> 13.0" spec.add_development_dependency "minitest", "~> 5.0" spec.add_development_dependency "byebug" spec.add_dependency "octokit", "~> 4.0" diff --git a/lib/github_changelog_entry/cli.rb b/lib/github_changelog_entry/cli.rb index da0ac28..cd459de 100644 --- a/lib/github_changelog_entry/cli.rb +++ b/lib/github_changelog_entry/cli.rb @@ -52,6 +52,7 @@ def filters option :since, aliases: "-s", desc: %q{Date after which we want to search for issues} option :milestone, aliases: "-m", desc: %q{Select issues linked to these milestones (ids)} option :issue_state, default: "all", enum: ["open", "closed", "all"], desc: %q{Show only closed or open issues} + option :assignee, desc: %q{Filter github issues by assignee} option :zenhub_opts, type: :hash, desc: %q{Defines zenhub options}, default: {} option :output, aliases: "-o", desc: %q{Output type: changelog or csv}, default: "changelog" def generate @@ -67,7 +68,7 @@ def generate github_handler = Github.new(options[:repo]) zenhub_fetcher = ZenhubIssueFetcher.new(@zenhub_token) if @zenhub_token - issues_options = options.select { |key, value| %w[since milestone issue_state].include?(key) } + issues_options = options.select { |key, value| %w[since milestone issue_state assignee].include?(key) } issues = github_handler.issues(issues_options, zenhub_fetcher, filters) if options[:output] == "changelog" diff --git a/lib/github_changelog_entry/github.rb b/lib/github_changelog_entry/github.rb index d817b63..48c8b9f 100644 --- a/lib/github_changelog_entry/github.rb +++ b/lib/github_changelog_entry/github.rb @@ -32,6 +32,10 @@ def issues(options = {}, zenhub_fetcher, ext_filters) filters.merge!(state: options["issue_state"]) end + if options["assignee"] + filters.merge!(assignee: options["assignee"]) + end + issues = client.list_issues(@repo, filters).reject { |issue| issue.key?(:pull_request) } github_issues_size = issues.size Logger.instance.info("-> Retrieved #{github_issues_size} issues from github", [:blue])