undefined method '[]' for nil:NilClass when running danger pr
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 :)!
I am having the same issue!
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
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)>'```
Having the same issue. Any solutions?
@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.
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.
having the same issue.
file contains multibyte characters. I don't know if it help.
@jkaan did you resolve this? I am seeing this in PR's only created by one of my teammate's and am vexxed.
Just an update. Ruby Git doesn't like öäå 👍
Apparently it doesn't like ™ either.