Re: Job Templatator

2012-11-15 Thread AdvanTiSS
it's not available for jenkins ^(
On Friday, November 16, 2012 3:54:16 AM UTC+2, Jesse Glick wrote:


 http://jenkins-enterprise.cloudbees.com/docs/user-guide-bundle/template.html# 



Re: Single email notification from a muti-configuration project

2012-11-09 Thread AdvanTiSS
You can ask for email-ext plugin feature on Jenkins JIRA, or implement this.

On Friday, November 9, 2012 9:29:44 AM UTC+2, Chai wrote:

 We currently use email-ext plugin for enabling email notifications on 
 builds. 

 We see that the users are receiving mutiple notifications if the project 
 is configured as a muti-configuration project. 

 Is there a way to send a single email instead.

 Jenkins version1.404 
 Email-ext version  2.14

 Thanks
 Chaitanya



Respecting workflow dependency in Run.getPreviousSuccessfullBuild(), Run.getBuildSummary() etc.

2012-11-05 Thread AdvanTiSS
I have such configured jobs(FreestyleBuild type):

1. Job [A]
2. Job [B]
3. Job [Unit Tests]

Job A  Job B  - are identical jobs but pointed to different branches of 
same project. Job [Unit Tests] is parametrized and called from 
parametrerized trigger build step of jobs A  B.

Currently, implementations of 
Run.getPreviousBuild(), Run.getBuildStatusSummary(), 
Run.getTransitiveUpstreamBuilds() 
and others similar methods do not respect builds dependency.
For example  - if last [*Unit Tests*] #3 called from Job [*B*] was *FAILED* and 
previous [*Unit Tests*] #2 called from Job [*A*] was *SUCCESS*, then ([*Unit 
Tests*] #3).getPreviousSuccessfulBuild() returns [*Unit Tests* #2] which is 
really unrelated to current context.

It's logically if Unit Tests build caused by upstream job 
A, getPreviousBuild() will return previuos build caused by job A, not job 
B. Also result trend in builds  summary, should be equals ResultTrend.FIXED 
when build fixed in context of same upstream job.
So, my idea to extract this hierarchy dependent methods into interface 
named something like RelationsResolver. And use some custom implementations 
for dfferent workflow types.

Does this make sence? 



Re: Request hosting for global-variable-string-parameter

2012-10-31 Thread AdvanTiSS
I think, such functionality of using env vars in parameter default value 
declaration should be available out of the box.

On Friday, October 19, 2012 8:31:25 AM UTC+3, Patrick McKeown wrote:

 Hi,

 I'd like to host a simple plugin I wrote to substitute global node 
 properties in string parameters.

 Github - https://github.com/pmaccamp/global-variable-string-parameter

 Github ID - pmaccamp  https://github.com/pmaccamp

 Cheers,
 Patrick



Re: env variables

2012-10-30 Thread AdvanTiSS
*String value = Hello env vars;
build.addAction(new hudson.model.ParametersAction(new 
hudson.model.StringParameterValue(VAR_NAME, value));*

variable VAR_NAME will be available by next build steps via standard 
variable tag $VAR_NAME

On Tuesday, October 30, 2012 5:44:06 PM UTC+2, Michael Hüttermann wrote:

 an environment variable such as WORKSPACE.
 actually it does not matter how to solve the task, which is to pass a 
 variable from the Builder#perform to a different Builder that is executed 
 later as another build step, in the same Jenkins build job.


 On Tuesday, October 30, 2012 4:30:17 PM UTC+1, HX_unbanned wrote:

 What kind of env vriables you are reffering to?

 Nodes ?

 Slave/Master?

 System ( User / Machine / System context )?

 Build env variables, defined with build-scripts?

 For some part of the fun you can check out my battle against env variable 
 mess in Jenkins that I find inacceptable in any production software .. 


 http://stackoverflow.com/questions/12670572/passing-system-env-variable-into-jenkins-slave

 2012/10/30 Michael Hüttermann michael.h...@googlemail.com

 thanks, but this solution has the indirection via another plugin. How 
 can I directly set environment variables in the Jenkins plugin?


 Michael




 On Tuesday, October 30, 2012 2:40:06 PM UTC+1, xterm wrote:

 Geez, sorry was in a hurry

 echo HG_CHANGESET=${HG_CHANGESET}  /tmp/workspace/hgchangeset.**
 properties

 where the variable ${HG_CHANGESET} contains the 123:abcdefghi value.

 xterm

 On Tuesday, October 30, 2012 8:10:38 AM UTC-5, Michael Hüttermann wrote:

 Hello, 

 could you please give me a pointer what the recommended way is to set 
 environment variables in hudson.tasks.Builder#perform, which are in 
 turn 
 read in a later build step inside the same job? 


 Thank you. 


 Cheers 
 Michael 




 -- 
 A.C. Linards L.
  


Re: C# plugins

2012-10-29 Thread AdvanTiSS
I'm C# developer in .NET development company and were tasked to migrate our 
CI to Jenkins. I don't have any experience in Java, but it was pretty easy 
for me to develop new plugins and make fixes in exisitng with Java using 
Intellij IDEA Community. 
Furthermore, if you want to develop Jenkis plugins - you have to look 
inside jenkins sources, to deeper understand inner jenkins logic. So, 
developing plugins in C# is not so good idea, as it seems at first glance.

On Sunday, October 28, 2012 3:19:31 AM UTC+3, Andrew Gray wrote:

 Hi All,

 What interest would there be in replicating the Ruby glue layer (enabling 
 dev of plugins in Ruby) to C# (to enable development of plugins in C#?

 Cheers,

 Andrew



Re: C# plugins

2012-10-28 Thread AdvanTiSS
Why not to create self-hosted WCF service, which will wrap all .NET plugins 
instances.

On Sunday, October 28, 2012 2:34:17 PM UTC+2, slide wrote:

 Looks like that does something similar to IKVM whicha allows loading Java 
 from C#.

 Sent from my Windows Phone
 --
 From: Andrew Gray
 Sent: 10/28/2012 1:48 AM
 To: Slide
 Cc: jenkin...@googlegroups.com javascript:
 Subject: Re: C# plugins

 Hi Alex,

 Not off the top of my head but I googled load C# from jvm (without the 
 quotes)

 and I got this as top hit:

 http://sourceforge.net/projects/jvcforcsharp/files/

 The description says it will bridge jvm to C#

 Would that do the job?

 Cheers,

 Andrew

 On 28 October 2012 14:31, Slide slide...@gmail.com javascript: wrote:

 Well, the reason that Ruby is easy is JRuby provides a lot of the 
 interaction between Ruby and the JVM. There is IKVM that allows you to 
 interact with Java libraries from .NET, but we would need something almost 
 the opposite, a bridge between .NET and the JVM. Basically, Jenkins needs 
 to be able to load .NET plugins as if they were Java plugins. The Ruby 
 stuff has some helper stuff to take care of some of this bridge and make 
 the Jenkins API more Riby-like. Do you know of something that could be used 
 to provide the bridge I am talking about?

 slide


 On Sat, Oct 27, 2012 at 7:59 PM, Andrew Gray 
 andrew.p...@gmail.comjavascript:
  wrote:

 Hi Alex,

 I proposed this for exactly the same reason :)

 How hard would it be to build on the great work already done with Ruby?

 Is there any reason why C# plugin support should not take the same 
 approach/architecture?

 What do you think?

 Anyone else?

 Cheers,

 Andrew



 On 28 October 2012 13:19, Alex Earl slide...@gmail.com javascript:wrote:

 I've though about doing something like this, I would love it for the 
 fact that I am much more of a C# dev than Java, so it would open things up 
 a bit more for me.

 Slide

 Sent from my Windows Phone
 --
 From: Andrew Gray
 Sent: 10/27/2012 5:19 PM
 To: jenkin...@googlegroups.com javascript:
 Subject: C# plugins

 Hi All,

 What interest would there be in replicating the Ruby glue layer 
 (enabling dev of plugins in Ruby) to C# (to enable development of plugins 
 in C#?

 Cheers,

 Andrew





 -- 
 Website: http://earl-of-code.com
  



Re: Build parameterization

2012-10-26 Thread AdvanTiSS
Could you describe usecase for that parameter?

On Friday, October 26, 2012 1:54:20 PM UTC+3, LordShacks wrote:

 Hi 
  
 I am currently attempting to write a Jenkins plugin that is similar to the 
 Parameterized Build option in the Configure Project page.
  
 I want to create a plugin that lets the user specify the type of parameter 
 in addition to the parameter value when the Build Now button is pressed.
  
 As far as I can see there is no currently functionality in Jenkins that 
 allows the parameter type and value to be specified when a build is 
 scheduled.
  
 I was wondering if it is possible to implement this feature in Jenkins.
  
 Many thanks



Build on slave hangs up after config-file-provider action executing

2012-10-26 Thread AdvanTiSS
Yesterday i tried to run on a slave node some existing Job, which usually 
tied to a master node and worked as needed. Suprisingly, the build on a 
slave node were hang up on prebuild, after executing config-file-provider 
step.
Last strings from console output:

provisoning config files...
copy managed file [default.build] to 
file:/C:/JenkinsShare/workspace/S5116/default.build

[spinner.gif]


File were copied to the job's workspace on a slave succesfully.  Sometimes 
it continues executing after waiting about half hour(unexpectable wait time)
Any ideas? What should I do?

The same job works as needed on a master node, also the 
same config-file-provider step in context of another job were executed 
successfully on same slave
Bug were reproduced on another slave node also.

I have attached to slave wth debugger and got such dump:

*Ping thread for channel hudson.remoting.Channel@154745e:channel@678 
daemon, prio=5, in group 'main', status: 'SLEEPING'*
*  at java.lang.Thread.sleep(Unknown Source:-1)*
*  at hudson.remoting.PingThread.run(PingThread.java:86)*
*
*
*Pipe writer thread: channel@668, prio=5, in group 'main', status: 'WAIT'*
*  at sun.misc.Unsafe.park(Unknown Source:-1)*
*  at java.util.concurrent.locks.LockSupport.park(Unknown Source:-1)*
*  at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown
 
Source:-1)*
*  at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source:-1)*
*  at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source:-1)*
*  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source:-1)*
*  at java.lang.Thread.run(Unknown Source:-1)*
*
*
*Channel reader thread: channel@648, prio=5, in group 'main', status: 
'RUNNING'*
*  at java.net.SocketInputStream.socketRead0(Unknown Source:-1)*
*  at java.net.SocketInputStream.read(Unknown Source:-1)*
*  at java.io.BufferedInputStream.fill(Unknown Source:-1)*
*  at java.io.BufferedInputStream.read(Unknown Source:-1)*
*  at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source:-1)*
*  at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source:-1)
*
*  at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown 
Source:-1)*
*  at java.io.ObjectInputStream.readObject0(Unknown Source:-1)*
*  at java.io.ObjectInputStream.readObject(Unknown Source:-1)*
*  at hudson.remoting.Command.readFrom(Command.java:90)*
*  at 
hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:59)
*
*  at 
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
*
*
*
*Thread-1@459, prio=5, in group 'main', status: 'WAIT'*
*  at java.lang.Object.wait(Object.java:-1)*
*  at java.lang.Object.wait(Object.java:485)*
*  at hudson.remoting.Channel.join(Channel.java:785)*
*  at hudson.remoting.Engine.run(Engine.java:243)*
*
*
*Attach Listener@460 daemon, prio=5, in group 'system', status: 'RUNNING'*
*
*
*Finalizer@102 daemon, prio=8, in group 'system', status: 'WAIT'*
*  at java.lang.Object.wait(Object.java:-1)*
*  at java.lang.ref.ReferenceQueue.remove(Unknown Source:-1)*
*  at java.lang.ref.ReferenceQueue.remove(Unknown Source:-1)*
*  at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source:-1)*
*
*
*Reference Handler@461 daemon, prio=10, in group 'system', status: 'WAIT'*
*  at java.lang.Object.wait(Object.java:-1)*
*  at java.lang.Object.wait(Object.java:485)*
*  at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source:-1)*
*
*
*main@1, prio=5, in group 'main', status: 'WAIT'*
*  at java.lang.Object.wait(Object.java:-1)*
*  at java.lang.Thread.join(Unknown Source:-1)*
*  at java.lang.Thread.join(Unknown Source:-1)*
*  at hudson.remoting.jnlp.Main.main(Main.java:122)*
*  at hudson.remoting.jnlp.Main._main(Main.java:115)*
*  at hudson.remoting.Launcher.run(Launcher.java:194)*
*  at hudson.remoting.Launcher.main(Launcher.java:168)*



Re: Build on slave hangs up after config-file-provider action executing

2012-10-26 Thread AdvanTiSS
Resolved. The problem were caused by throttle-concurrent-builds plugin. 
Job's xml configuration had throttle section, despite the fact that 
throttle option was unchecked. Removing section manually resolved my 
problem.
Seems it's descriptor needs to be fixed.

On Friday, October 26, 2012 6:06:25 PM UTC+3, AdvanTiSS wrote:

 Yesterday i tried to run on a slave node some existing Job, which usually 
 tied to a master node and worked as needed. Suprisingly, the build on a 
 slave node were hang up on prebuild, after executing config-file-provider 
 step.
 Last strings from console output:

 provisoning config files...
 copy managed file [default.build] to 
 file:/C:/JenkinsShare/workspace/S5116/default.build

 [spinner.gif]


 File were copied to the job's workspace on a slave succesfully.  Sometimes 
 it continues executing after waiting about half hour(unexpectable wait time)
 Any ideas? What should I do?

 The same job works as needed on a master node, also the 
 same config-file-provider step in context of another job were executed 
 successfully on same slave
 Bug were reproduced on another slave node also.

 I have attached to slave wth debugger and got such dump:

 *Ping thread for channel hudson.remoting.Channel@154745e:channel@678 
 daemon, prio=5, in group 'main', status: 'SLEEPING'*
 *  at java.lang.Thread.sleep(Unknown Source:-1)*
 *  at hudson.remoting.PingThread.run(PingThread.java:86)*
 *
 *
 *Pipe writer thread: channel@668, prio=5, in group 'main', status: 'WAIT'*
 *  at sun.misc.Unsafe.park(Unknown Source:-1)*
 *  at java.util.concurrent.locks.LockSupport.park(Unknown Source:-1)*
 *  at 
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown
  
 Source:-1)*
 *  at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source:-1)*
 *  at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source:-1)*
 *  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown 
 Source:-1)*
 *  at java.lang.Thread.run(Unknown Source:-1)*
 *
 *
 *Channel reader thread: channel@648, prio=5, in group 'main', status: 
 'RUNNING'*
 *  at java.net.SocketInputStream.socketRead0(Unknown Source:-1)*
 *  at java.net.SocketInputStream.read(Unknown Source:-1)*
 *  at java.io.BufferedInputStream.fill(Unknown Source:-1)*
 *  at java.io.BufferedInputStream.read(Unknown Source:-1)*
 *  at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source:-1)*
 *  at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown 
 Source:-1)*
 *  at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown 
 Source:-1)*
 *  at java.io.ObjectInputStream.readObject0(Unknown Source:-1)*
 *  at java.io.ObjectInputStream.readObject(Unknown Source:-1)*
 *  at hudson.remoting.Command.readFrom(Command.java:90)*
 *  at 
 hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:59)
 *
 *  at 
 hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
 *
 *
 *
 *Thread-1@459, prio=5, in group 'main', status: 'WAIT'*
 *  at java.lang.Object.wait(Object.java:-1)*
 *  at java.lang.Object.wait(Object.java:485)*
 *  at hudson.remoting.Channel.join(Channel.java:785)*
 *  at hudson.remoting.Engine.run(Engine.java:243)*
 *
 *
 *Attach Listener@460 daemon, prio=5, in group 'system', status: 'RUNNING'*
 *
 *
 *Finalizer@102 daemon, prio=8, in group 'system', status: 'WAIT'*
 *  at java.lang.Object.wait(Object.java:-1)*
 *  at java.lang.ref.ReferenceQueue.remove(Unknown Source:-1)*
 *  at java.lang.ref.ReferenceQueue.remove(Unknown Source:-1)*
 *  at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source:-1)*
 *
 *
 *Reference Handler@461 daemon, prio=10, in group 'system', status: 'WAIT'*
 *  at java.lang.Object.wait(Object.java:-1)*
 *  at java.lang.Object.wait(Object.java:485)*
 *  at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source:-1)*
 *
 *
 *main@1, prio=5, in group 'main', status: 'WAIT'*
 *  at java.lang.Object.wait(Object.java:-1)*
 *  at java.lang.Thread.join(Unknown Source:-1)*
 *  at java.lang.Thread.join(Unknown Source:-1)*
 *  at hudson.remoting.jnlp.Main.main(Main.java:122)*
 *  at hudson.remoting.jnlp.Main._main(Main.java:115)*
 *  at hudson.remoting.Launcher.run(Launcher.java:194)*
 *  at hudson.remoting.Launcher.main(Launcher.java:168)*



Re: New plugin - builds-chain-fingerprinter

2012-10-24 Thread AdvanTiSS
Just have updated readme.md with setup instuctions and screenshots yet. 
Look for documentaton at 
https://github.com/advantiss/builds-chain-fingerprinter

On Wednesday, October 24, 2012 1:57:58 PM UTC+3, blalor wrote:

 On Monday, October 22, 2012 5:31:27 AM UTC-4, AdvanTiSS wrote:

 Hello, let me contribute to jenkins with this plugin please.
 https://github.com/advantiss/builds-chain-fingerprinter


 This looks interesting, but can you provide more documentation?  How does 
 it work, how is it enabled, etc.
  



Re: New plugin - builds-chain-fingerprinter

2012-10-24 Thread AdvanTiSS
Just have updated readme with setup instuctions and screenshots yet. Look 
for documentaton at https://github.com/advantiss/builds-chain-fingerprinter

On Wednesday, October 24, 2012 1:57:58 PM UTC+3, blalor wrote:

 On Monday, October 22, 2012 5:31:27 AM UTC-4, AdvanTiSS wrote:

 Hello, let me contribute to jenkins with this plugin please.
 https://github.com/advantiss/builds-chain-fingerprinter


 This looks interesting, but can you provide more documentation?  How does 
 it work, how is it enabled, etc.
  



New plugin - builds-chain-fingerprinter

2012-10-22 Thread AdvanTiSS
Hello, let me contribute to jenkins with this plugin please.
https://github.com/advantiss/builds-chain-fingerprinter