Fix dingtalk project find by alias
if user send wrong project alias in message in ultra licensed gitlab, it will throw error and dingtalk will have no response.
dingtalk message 123123gitlab-cn/gitlab issue show 1
gitlab.log
NoMethodError (undefined method `issues_enabled?' for true:TrueClass):
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/chatops_commands/issue_command.rb:7:in `available?'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/chatops_commands/command.rb:47:in `block in available_commands'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/chatops_commands/command.rb:46:in `keep_if'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/chatops_commands/command.rb:46:in `available_commands'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/chatops_commands/command.rb:36:in `match_command'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/chatops_commands/command.rb:20:in `execute'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/dingtalk/message_handler.rb:81:in `handle_message'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/dingtalk/message_handler.rb:29:in `execute'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/gitlab/chatops/third_party_robot_handler.rb:45:in `execute'
/Users/chaomao/workspace/gitlab/gdk/gitlab/jh/lib/jh/api/integrations.rb:17:in `block (4 levels) in <module:Integrations>'
the root cause is if ::License.feature_available?(:project_aliases)
is return true, this method still return true even ProjectAlias
return nil.
(::License.feature_available?(:project_aliases) ||
ProjectAlias.find_by_name(path)&.project)