Closed gh2k closed 9 years ago
Which combination/versions of TC and the plugin are you using respectively?
Also enable debug logging, which help the process of debugging.
It's TC 9.0.3 and plugin 0.9.0
There's something in the log that it's complaining about though...
2015-05-29 15:27:55,886 - INFO - Controller created
2015-05-29 15:27:55,895 - DEBUG - Loading existing configuration
2015-05-29 15:27:55,976 - DEBUG - Caching all available emoticons
2015-05-29 15:27:55,977 - DEBUG - Start index: 0
2015-05-29 15:27:57,404 - ERROR - Could not get emoticons
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "type" (Class com.whatsthatlight.teamcity.hipchat.HipChatEmoticon), not marked as ignorable
at [Source: java.io.InputStreamReader@6b4658ba; line: 1, column: 118] (through reference chain: com.whatsthatlight.teamcity.hipchat.HipChatEmoticons["items"]->com.whatsthatlight.teamcity.hipchat.HipChatEmoticon["type"])
at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)
at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267)
at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673)
at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659)
at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1365)
at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:217)
at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:194)
at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30)
at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
at org.codehaus.jackson.map.deser.SettableBeanProperty$FieldProperty.deserializeAndSet(SettableBeanProperty.java:579)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1886)
at com.whatsthatlight.teamcity.hipchat.HipChatApiProcessor.getEmoticons(HipChatApiProcessor.java:86)
at com.whatsthatlight.teamcity.hipchat.HipChatEmoticonCache.reload(HipChatEmoticonCache.java:42)
at com.whatsthatlight.teamcity.hipchat.HipChatConfigurationController.initialise(HipChatConfigurationController.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1681)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1620)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at jetbrains.buildServer.plugins.spring.SpringPluginLoader.pluginClassesLoaded(SpringPluginLoader.java:84)
at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:117)
at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:67)
at com.sun.proxy.$Proxy17.pluginClassesLoaded(Unknown Source)
at jetbrains.buildServer.plugins.PluginManagerImpl$2.visitPlugin(PluginManagerImpl.java:137)
at jetbrains.buildServer.plugins.PluginsCollection.foreachLoadedPlugins(PluginsCollection.java:222)
at jetbrains.buildServer.plugins.PluginManagerImpl.firePluginClassesLoaded(PluginManagerImpl.java:135)
at jetbrains.buildServer.plugins.PluginManagerImpl.loadPlugins(PluginManagerImpl.java:81)
at jetbrains.buildServer.web.plugins.PluginManagerConfigurator.initializePlugins(PluginManagerConfigurator.java:8)
at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:81)
at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:2)
at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:159)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:367)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:166)
at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:329)
at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:320)
at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
at java.lang.Thread.run(Thread.java:745)
2015-05-29 15:27:57,407 - INFO - Emoticon cache reloaded: 0
2015-05-29 15:27:57,407 - INFO - Controller initialised
It seems like the HipChat API has been broken by Atlassian (again): There is a type
element expected in the response that is not found. I don't understand why they make minor revisions/bugfixes to the API without maintaining backwards compatibility within major versions. Anyway, that's not your problem.
I will release an update as soon as possible. I might have a look at it over the weekend, otherwise during next week. Should be fairly quick to do, but in making a release I normally perform a last QA step to make sure everything works.
Just to check: Besides the emoticons, the plugin is sending notifications. It's not completely broken now, right?
Yeah, everything else works. It's a new install (today) and I haven't had any other problems with it.
Hi, I haven't had time yet to look into this, as I only returned from an extended overseas trip this past weekend. I will try to pay attention to this soon.
Fixed in v0.9.1.
Thanks :-)
I've installed the notifier in my TeamCity instance and authorised it with a user token.
It's sending notifications, but there aren't any emoticons added. When I look at the admin page it tells me that there are 0 items in the emoticon cache. I've tried clicking the 'reload' button.
What should I check?