问题描述
我已经用Jenkins + GitHub Pull Request Builder设置了一个配置项以运行Danger,但是每次尝试运行bundle exec danger
时,都会发生此错误:
+ bundle exec danger
bundler: Failed to load command: danger (/usr/local/bin/danger)
NoMethodError: undefined method `[]' for nil:NilClass
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/ci_source/jenkins.rb:111:in `slug_fallback'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/ci_source/jenkins.rb:90:in `repo_slug'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/ci_source/jenkins.rb:82:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/danger_core/environment_manager.rb:30:in `new'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/danger_core/environment_manager.rb:30:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/danger_core/executor.rb:25:in `new'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/danger_core/executor.rb:25:in `run'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/lib/danger/commands/runner.rb:73:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/danger-8.0.4/bin/danger:5:in `<top (required)>'
/usr/local/bin/danger:23:in `load'
/usr/local/bin/danger:23:in `<top (required)>'
我不知道如何解决。
注意事项:
- 如果我运行
bundle exec danger pr <url>
,则一切正常(仅出于测试目的):
+ bundle exec danger pr https://enterprise.server.github.com/project/pull/1 --dangerfile=Dangerfile --verbose
Running your Dangerfile against this PR - https://enterprise.server.github.com/project/pull/1
Results:
[32m
Messages:[0m
- [ ] This is a message from Jenkins :D
- Jenkins上的
Build
步骤设置:
bundle install
bundle exec danger
- 危险文件:
message('This is a message from Jenkins :D')
-
我添加了变量
DANGER_GITHUB_API_TOKEN
,DANGER_GITHUB_HOST
,DANGER_GITHUB_API_HOST
(我认为这不是问题,触发器正在工作)。 -
这是GitHub Enterprise Server上的私有存储库。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)