danger icon indicating copy to clipboard operation
danger copied to clipboard

undefined method '[]' for nil:NilClass when running danger pr

Open jkaan opened this issue 8 years ago • 10 comments

Report

What did you do?

Run danger local or danger pr error is the same

What did you expect to happen?

Running danger while looking through the Dangerfile and commenting on the things that are found on the PR.

What happened instead?

/Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/git-1.3.0/lib/git/diff.rb:151:in `block in process_full_diff': undefined method `[]' for nil:NilClass (NoMethodError)
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/git-1.3.0/lib/git/diff.rb:134:in `each'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/git-1.3.0/lib/git/diff.rb:134:in `process_full_diff'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/git-1.3.0/lib/git/diff.rb:109:in `process_full'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/git-1.3.0/lib/git/diff.rb:68:in `each'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/plugins/dangerfile_git_plugin.rb:59:in `select'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/plugins/dangerfile_git_plugin.rb:59:in `added_files'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:132:in `block (2 levels) in method_values_for_plugin_hashes'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:120:in `map'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:120:in `block in method_values_for_plugin_hashes'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:116:in `each'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:116:in `flat_map'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:116:in `method_values_for_plugin_hashes'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:149:in `print_known_info'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:173:in `parse'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/danger_core/dangerfile.rb:272:in `run'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/commands/local.rb:56:in `block in run'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/commands/local_helpers/local_setup.rb:38:in `setup'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/lib/danger/commands/local.rb:55:in `run'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/gems/danger-5.3.4/bin/danger:5:in `<top (required)>'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/bin/danger:23:in `load'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/bin/danger:23:in `<main>'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `eval'
	from /Users/joeykaan/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `<main>'

Your Environment

  • Which CI are you running on? None

  • Are you running the latest version of Danger? Version 5.3.4, at this moment, yes latest version.

  • What is your Dangerfile?

    # Sometimes it's a README fix, or something like that - which isn't relevant for
    # including in a project's CHANGELOG for example
    declared_trivial = github.pr_title.include? "#trivial"
    
    # Make it more obvious that a PR is a work in progress and shouldn't be merged yet
    warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]"
    
    # Warn when there is a big PR
    warn("Big PR") if git.lines_of_code > 500
    
    # Don't let testing shortcuts get into master by accident
    fail("fdescribe left in tests") if `grep -r fdescribe specs/ `.length > 1
    fail("fit left in tests") if `grep -r fit specs/ `.length > 1
    

I am more than willing to look into this on my own a bit more, but at the moment I'm stuck and I could use some pointers :)!

jkaan avatar Aug 01 '17 20:08 jkaan

I am having the same issue!

dcsg avatar Aug 07 '17 11:08 dcsg

I'm actually running into this exact same issue as well -- noticing I'm also unable to run pry on a pr to debug -- only working locally

kamranpirwani avatar Aug 10 '17 02:08 kamranpirwani

I'm having the same issue when trying to run danger pr.

Output is like this

NoMethodError: undefined method `[]' for nil:NilClass
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-xcodebuild-0.0.6/lib/xcodebuild/plugin.rb:52:in `parse_warnings'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:133:in `block (2 levels) in method_values_for_plugin_hashes'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:121:in `map'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:121:in `block in method_values_for_plugin_hashes'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:117:in `each'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:117:in `flat_map'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:117:in `method_values_for_plugin_hashes'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:150:in `print_known_info'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:174:in `parse'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/danger_core/dangerfile.rb:274:in `run'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/commands/pr.rb:61:in `block in run'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/commands/local_helpers/local_setup.rb:38:in `setup'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/lib/danger/commands/pr.rb:60:in `run'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/gems/danger-5.5.10/bin/danger:5:in `<top (required)>'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/bin/danger:23:in `load'
  /Users/ssolakoglu/Developer/Zendesk/zendesk_scarlett_ios/vendor/bundle/bin/danger:23:in `<top (required)>'```

sarpsolakoglu avatar Mar 13 '18 14:03 sarpsolakoglu

Having the same issue. Any solutions?

RishabhTayal avatar May 01 '18 17:05 RishabhTayal

@sarpsolakoglu your error seems related to the danger-xcodebuild plugin

The OPs error about lib/git/diff.rb are a bit worrying, it indicates that there's something in your git diff that the git library we rely on cannot parse. I'd look to see if there's anything unique to that PR's diff.

orta avatar May 01 '18 17:05 orta

Update: The reason for the error I was getting was that I had invalid credentials setup for bitbucket server. After putting in correct credentials, it's working for me now.

RishabhTayal avatar May 01 '18 17:05 RishabhTayal

having the same issue.

file contains multibyte characters. I don't know if it help.

paveg avatar Jan 24 '19 07:01 paveg

@jkaan did you resolve this? I am seeing this in PR's only created by one of my teammate's and am vexxed.

trsneed avatar Jan 31 '19 09:01 trsneed

Just an update. Ruby Git doesn't like öäå 👍

trsneed avatar Feb 01 '19 07:02 trsneed

Apparently it doesn't like ™ either.

joeboyscout04 avatar Mar 12 '19 09:03 joeboyscout04