Open
dotnetwise
opened this issue 11 years ago
•
16 comments
I don't have JDK or other dependencies installed on teamcity server. How about you building it and creating a "release" we could simply download and use?
There have been precompiled versions in the past - until Github decided to remove the "Downloads" section :trollface:
But I'll create a compiled version and upload it to my server, no problem.
d:\Work\DotNetWise\Nuggets\TeamCityGithub>ant package
Buildfile: d:\Work\DotNetWise\Nuggets\TeamCityGithub\build.xml
register.custom.compilers:
BUILD FAILED
d:\Work\DotNetWise\Nuggets\TeamCityGithub\build.xml:108: taskdef class com.intellij.ant.Javac2 cannot be found
using the classloader AntClassLoader[]
Total time: 0 seconds
Just converted the plugin to a Maven-based setup for easier compilation but also created a Github release and uploaded the binary. Please check if it works for you and update and/or close the issue as appropriate.
Well done my friend! Now, how do I use it after I have copied the zip into plugins and restarted teamcity?
I can see the Github issues plugin on the Issue tracker but not sure how do I connect to my github account.
Hm, that dialog doesn't look quite right. There should be a couple of more configuration options - I'll need to have another look this evening. Could you confirm that there's only an URL field in the dialog, w/o username/password and pattern configuration parameters?
Yes, I can confirm that. Is there any other config files I needed to edit in the first place? (like the one you are suggesting to complete before ant package)
No, that shouldn't be necessary. These are only for deploying to a TeamCity installation via SCP directly from the source folder, a feature that I used during development. Unfortunately I don't have a private TeamCity setup running at the moment anymore, but I'd like to continue supporting this plugin, so I'll check it out.
(I set up GitLab on my private server a few months back and have been using the GitLab CI since then, as TeamCity is a bit overkill for my personal projects :smirk:)
I must be missing something very obvious here. It doesn't load the editIssueProvider.jsp from the plugin even though it works in my plugin for the Redmine issue tracker.
Unpacked in TeamCity's ROOT/webapps/plugins they both look the same, too. I need to do more investigation but it may take a couple of days as we're currently very busy at work and I'm working on this plugin in my free time.
After some extremely busy weeks at the office, I finally got around to fixing the config dialog. The v1.1 tag is updated now to the working version. One still has to manually copy the Jackson-core and jackson-mapper dependencies, though. I'll update the plugin once I figure out how to automatically bundle them, too.
I was able to build this but not run it -- ( hints about where to look in teamcity for the plugin would be useful -- I saw it in the list of unpacked plugins but have no idea where its supposed to show up or how to use it. But I gave it a shot.
FOund in the logs what appears to be more fundimental then missing jars ... Looks like TC has updated its plugin API
[2015-12-03 03:13:48,684] WARN - .InstantiationStrategySelector - Spring selected non-public constructor to create instance: protected com.marcusilgner.ghcity.GithubIssueProviderFactory(jetbrains.buildServer.issueTracker.IssueFetcher)
[2015-12-03 03:13:48,685] WARN - inLoader$TeamCityPluginContext - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'githubFactory' defined in plugin: githubissues#server-plugin-1.1.jar!/META-INF/build-server-plugin-github.xml: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.marcusilgner.ghcity.GithubIssueProviderFactory]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: jetbrains.buildServer.issueTracker.AbstractIssueProviderFactory.(Ljetbrains/buildServer/issueTracker/IssueFetcher;Ljava/lang/String;)V
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:278)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1115)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:706)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at jetbrains.buildServer.plugins.spring.SpringPluginLoader.pluginClassesLoaded(SpringPluginLoader.java:95)
at sun.reflect.GeneratedMethodAccessor54.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:120)
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:14)
at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:40)
at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:11)
at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:374)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:690)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:273)
at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:726)
at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:616)
at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.marcusilgner.ghcity.GithubIssueProviderFactory]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: jetbrains.buildServer.issueTracker.AbstractIssueProviderFactory.(Ljetbrains/buildServer/issueTracker/IssueFetcher;Ljava/lang/String;)V
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:164)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:125)
at jetbrains.buildServer.spring.InstantiationStrategySelector$1.instantiate(InstantiationStrategySelector.java:77)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:270)
... 32 more
Caused by: java.lang.NoSuchMethodError: jetbrains.buildServer.issueTracker.AbstractIssueProviderFactory.(Ljetbrains/buildServer/issueTracker/IssueFetcher;Ljava/lang/String;)V
at com.marcusilgner.ghcity.GithubIssueProviderFactory.(GithubIssueProviderFactory.java:15)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
... 35 more
[2015-12-03 03:13:48,687] ERROR - gins.spring.SpringPluginLoader - Failed to initialize spring context for plugin githubissues
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'githubFactory' defined in plugin: githubissues#server-plugin-1.1.jar!/META-INF/build-server-plugin-github.xml: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.marcusilgner.ghcity.GithubIssueProviderFactory]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: jetbrains.buildServer.issueTracker.AbstractIssueProviderFactory.(Ljetbrains/buildServer/issueTracker/IssueFetcher;Ljava/lang/String;)V
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:278)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1115)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:706)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at jetbrains.buildServer.plugins.spring.SpringPluginLoader.pluginClassesLoaded(SpringPluginLoader.java:95)
at sun.reflect.GeneratedMethodAccessor54.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:120)
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:14)
at jetbrains.buildServer.web.impl.BuildServerConfigurator.loadConfiguration(BuildServerConfigurator.java:40)
at jetbrains.buildServer.maintenance.TeamCityDispatcherServlet$WebApplicationCreatorAndDestroyer.createApplication(TeamCityDispatcherServlet.java:11)
at jetbrains.buildServer.maintenance.StartupProcessor.doApplicationStarting(StartupProcessor.java:374)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStage(StartupProcessor.java:690)
at jetbrains.buildServer.maintenance.StartupProcessor.processConcreteStageSafe(StartupProcessor.java:273)
at jetbrains.buildServer.maintenance.StartupProcessor.processTeamCityLifecycle(StartupProcessor.java:726)
at jetbrains.buildServer.maintenance.StartupProcessor.access$000(StartupProcessor.java:616)
at jetbrains.buildServer.maintenance.StartupProcessor$1.run(StartupProcessor.java:1)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.marcusilgner.ghcity.GithubIssueProviderFactory]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: jetbrains.buildServer.issueTracker.AbstractIssueProviderFactory.(Ljetbrains/buildServer/issueTracker/IssueFetcher;Ljava/lang/String;)V
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:164)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:125)
at jetbrains.buildServer.spring.InstantiationStrategySelector$1.instantiate(InstantiationStrategySelector.java:77)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:270)
... 32 more
Caused by: java.lang.NoSuchMethodError: jetbrains.buildServer.issueTracker.AbstractIssueProviderFactory.(Ljetbrains/buildServer/issueTracker/IssueFetcher;Ljava/lang/String;)V
at com.marcusilgner.ghcity.GithubIssueProviderFactory.(GithubIssueProviderFactory.java:15)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
... 35 more
TeamCity initialized, server UUID: f029db9a-f6b6-4829-8e6c-e70f864d649e