Re: Refreshing the Jenkins UI

2014-05-27 Thread domi
Glad to see others coming up with this topic again!
We have talked about this on many occasions and some work has been done in a 
separate branch too:
https://github.com/jenkinsci/jenkins/tree/ui-changes
In JIRA we also created a special component (ui-changes) to keep track of all 
this: 
https://issues.jenkins-ci.org/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+Jenkins+and+component+%3D+ui-changesrunQuery=trueclear=true
...but unfortunate all/most the effort which was put into any attempts of 
changing the UI of Jenkins has stopped at some point. I think the biggest 
problem really is to find a common agreement on anything - there is always 
someone who does not like it. 
Although I agree, the current implementation does its job and most of the 
people get a long with (maybe just because they have not seen anything else 
yet) - I absolutely think the look and feel is way off what a user can/does 
expect nowadays. In fact I know of a couple of teams which have chosen an other 
CI server then Jenkins just because of the UI (e.g. TeamCity) - I also think 
Jenkins has by far more capabilities then e.g. TeamCity, but not everyone needs 
the more advanced plugins/features/extensionpoints and these users can happily 
choose a nicer looking CI server (I would too).

Also the fact that there are so many different approaches on changing the UI 
tells me that there is something we should improve. 
Some more examples
- https://github.com/rackerlabs/canon-jenkins
- https://github.com/djonsson/jenkins-atlassian-theme - http://test.do/ 
(making Jenkins look like bamboo)
- http://isotope11.com/blog/styling-your-jenkins-continuous-integration-server
...

As a reference, there are also the notes we made about the discussions we had 
at another FOSDEM: https://wiki.jenkins-ci.org/display/JENKINS/UI+Enhancements

Domi


On 27.05.2014, at 05:10, Michael Neale michael.ne...@gmail.com wrote:

 
 
 On Tuesday, May 27, 2014 5:08:28 AM UTC+10, Christopher wrote:
 
 
 But having seen a colleague of mine use the Jenkins API and AngularJS to 
 build some really nice (though narrowly focussed) Jenkins front-ends for 
 internal apps, dashboards and for customer use, I really like the idea 
 of building the Jenkins UI on top of its API. 
 
 As you may have seen, this is something Tyler did some work on during 
 FOSDEM last year.  The basic prototype I saw at the time was pretty 
 decent, but as mentioned above and at the time, of course there's a 
 *lot* of backward- and plugin-compatibility to think about: 
 https://groups.google.com/forum/#!topic/jenkinsci-dev/dV680PGiI1Y 
 
 
 I have some experience doing fairly advanced UIs on top of the various APIs - 
 they are quite powerful (other than, notably the config - where it is more of 
 an xml blob) for doing a lot of things. This does feel a little boil the 
 ocean, and even if worthwhile, the non js based UI will be around for a long 
 time yet, so it is probably worth putting a bit if work in to that to start 
 with. 
  
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Ivan Kalinin
Ah, that's why our releases aren't showing up.

But what exact part of the update center generation causes load on 
Jira/Confluence? It looked like the job shouldn't mess a lot with it, just 
request each plugin's page once.

There are lots of com.atlassian.confluence.rpc.RemoteException: You're not 
allowed to view that page, or it does not exist. messages in the log for 
the pages that are generally publicly accessible. 

On Tuesday, May 27, 2014 2:41:42 AM UTC+4, R Tyler Croy wrote:

 See this ticket for more details 
 https://issues.jenkins-ci.org/browse/INFRA-70 


 I'm waiting to hear back from KK on how we can fix the update-center 
 generation 
 scripts from scraping/DoSing our JIRA instance before I re-enable the job. 



 - R. Tyler Croy 

 -- 
  Code: https://github.com/rtyler 
   Chatter: https://twitter.com/agentdero 

   % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F 
 -- 


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: New plugin Perforce

2014-05-27 Thread Marc Wensauer
Hi there,
P4Java 2013.1 (and 2013.2) supports Perforce servers as old as 2005.2:
ftp://ftp.perforce.com/perforce/r13.1/doc/user/p4javanotes.txt

Requirements
* Perforce server at Release 2005.2 or higher.


Hope this helps!
-Marc


On Monday, May 26, 2014 4:39:58 AM UTC-7, Kanstantsin Shautsou wrote:

 Does the p4java support all perforce server versions?
 For example, will 2013.1 p4java support connections with 2009.1 server? 
 Because with current wrapper i can select different binaries.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread domi
Why would the update center access JIRA or confluence at all?
To display the data on confluence the flow is right in the other direction, 
confluence connects to the update center to get the info. And JIRA, hmm, I have 
no idea why JIRA would be used for anything here...
Domi

On 27.05.2014, at 08:46, Ivan Kalinin pupss...@gmail.com wrote:

 Ah, that's why our releases aren't showing up.
 
 But what exact part of the update center generation causes load on 
 Jira/Confluence? It looked like the job shouldn't mess a lot with it, just 
 request each plugin's page once.
 
 There are lots of com.atlassian.confluence.rpc.RemoteException: You're not 
 allowed to view that page, or it does not exist. messages in the log for the 
 pages that are generally publicly accessible. 
 
 On Tuesday, May 27, 2014 2:41:42 AM UTC+4, R Tyler Croy wrote:
 See this ticket for more details 
 https://issues.jenkins-ci.org/browse/INFRA-70 
 
 
 I'm waiting to hear back from KK on how we can fix the update-center 
 generation 
 scripts from scraping/DoSing our JIRA instance before I re-enable the job. 
 
 
 
 - R. Tyler Croy 
 
 -- 
  Code: https://github.com/rtyler 
   Chatter: https://twitter.com/agentdero 
 
   % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F 
 -- 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Stephen Connolly
The update center accesses confluence to get the {excerpt} stuff for the
plugin descriptions.

The (as KK likes to call it NIH) CloudBees update center that we use also
scrapes Confluence... but we only scrape a plugin when we have a new
version of that plugin. If scraping fails we fall back to the description
in the pom and don't repeat scraping again until there is a new version.

We also do other crazy things like being able to generate the update
center JSON on the fly so we can offer different content for LTS lines vs
the TIP line from the same URL (which is actually a redirect to the
permanent URL that has very high cache control for the specific JSON
content being served)

Madness I know!

OTOH we have more lines of Jenkins that we have to support and consequently
less load per line whereas Jenkins OSS has the mirrors which favours static
content.

The real issue here is that the Jenkins OSS update center does not use a
database-like[1] back-end to store the data so it has to scrape *every*
plugin *every* time it runs.

-Stephen

[1] does not actually need to be a formal database, it could be a cache
file on disk for example... if the cache is missing then hammer confluence
away!

On 27 May 2014 08:08, domi d...@fortysix.ch wrote:

 Why would the update center access JIRA or confluence at all?
 To display the data on confluence the flow is right in the other
 direction, confluence connects to the update center to get the info. And
 JIRA, hmm, I have no idea why JIRA would be used for anything here…
 Domi

 On 27.05.2014, at 08:46, Ivan Kalinin pupss...@gmail.com wrote:

 Ah, that's why our releases aren't showing up.

 But what exact part of the update center generation causes load on
 Jira/Confluence? It looked like the job shouldn't mess a lot with it, just
 request each plugin's page once.

 There are lots of com.atlassian.confluence.rpc.RemoteException: You're
 not allowed to view that page, or it does not exist. messages in the log
 for the pages that are generally publicly accessible.

 On Tuesday, May 27, 2014 2:41:42 AM UTC+4, R Tyler Croy wrote:

 See this ticket for more details https://issues.jenkins-ci.
 org/browse/INFRA-70


 I'm waiting to hear back from KK on how we can fix the update-center
 generation
 scripts from scraping/DoSing our JIRA instance before I re-enable the
 job.



 - R. Tyler Croy

 --
  Code: https://github.com/rtyler
   Chatter: https://twitter.com/agentdero

   % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F
 --


 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


  --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Refreshing the Jenkins UI

2014-05-27 Thread Tom Fennelly

On Monday, May 26, 2014 3:36:23 PM UTC+1, Bruno Kühnen Meneguello wrote:

  I totally agree with you.
  
 I've started a mobile UI and noted how difficult is to change some things, 
 just because the layout is entirely locked inside tables.

Right... tables are evil for anything more than tabular data... they can 
make the initial layout easy but then it's locked.  Also styling can be 
a pain in the ass.

  Although to boil the ocean should be a lot o work, maybe a major 
 rewrite of Jenkins interface (I liked the REST idea) will bring much more 
 responsiveness and reduce the bandwidth traffic that Jenkins needs today.

Our initial thoughts were that this would be a bridge too far but now I'm 
thinking it might be the only way to do anything meaningful in a somewhat 
predictable fashion. 

  Another great advantage is to adapt to distinct screens and layouts much 
 better and to add the possibility to override the default stylesheet with 
 plugins to fine tune.
  
 I personally access Jenkins frequently via smartphone and in my company it 
 is shown in a big screen and we have some difficult to lay out all jobs (we 
 don't use extreme feedback plugins). With a more semantic page design, 
 based in CSS, it could be more easy to adapt.

Right... this type of thing is easy enough with divs and css and media 
tags.  The simple mockup I did does some of this i.e. the sidepanel drops 
off if the screen becomes too narrow. 

  If you want to make it happens, I want to collaborate.
 Em 26/05/2014 10:54, Tom Fennelly tom.fe...@gmail.com javascript: 
 escreveu:

 Hi guys. 

  I've just started looking into ways in which we can refresh the look 
 and feel of the Jenkins UI, as well as looking at tackling some of the main 
 usability issues.  I've really only started, but have committed a small bit 
 of code to a branch on github at 
 https://github.com/tfennelly/jenkins/tree/ui-refresh.  As you might 
 notice... Daniel Beck has already posted some good comments/feedback on 
 the 
 commithttps://github.com/tfennelly/jenkins/commit/d586be517616a3ba33ac11c6b5a85965d473c8ab
 .

  What I've experimented with so far:
  
1. Tweaking the main layout in 
core/src/main/resources/lib/layout/layout.jelly (and added some CSS to 
style.css).  Everything was layed out with tables, so I changed that to 
 use 
divs instead, allowing us to more easily do things like make the sidebar 
disappear on small screens (if that was a good idea) etc etc.  Here's a 
screenshot of that: 

 https://www.dropbox.com/s/vngs5jjailatanq/Screenshot%202014-05-26%2012.49.31.png
 2. Modified the main project/job configuration page, in an effort to 
make it less cluttered, by adding accordions for the different config 
sections.  The only way I found I could do this was to wire in some 
javascript to manipulate the page post-rendering.  Kohsuke says there's a 
way of doing the bulk of the DOM manipulation within Jelly templates, but 
 I 
failed to work that one out yet - I'm sure it will be obvious after I 
 see 
it :)  Not sure if accordions are the correct choice.  Here's a 
 screenshot 
of what it looks like: 

 https://www.dropbox.com/s/wsy96r1czhzhy5z/Screenshot%202014-05-26%2012.54.39.png
  

  The above commit obviously breaks things e.g. the breadcrumbs + some of 
 the styling is screwed up (I added Twitter bootstrap, causing the css's to 
 clash).  What I've done so far is really just hacking to see what we could 
 do.  I'm keen to hear the opinions of the community... what people thing we 
 should concentrate on... what should we avoid... what are the risks etc 
 etc.  I'm aware there is some prior art in this area e.g. OHTAKE 
 Tomohiro's work https://github.com/jenkinsci/jenkins/tree/ui-changes, 
 the Simple Theme 
 Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Simple+Theme+Pluginand 
 others.

  General comments/challenges/risks, as I see it:
  
1. Jelly + Stapler are not the easiest to work with.  At least I've 
found it quite difficult to figure out where to make changes.  Sometimes 
 it 
was obvious other times it was anything but e.g. tweaking the project 
config page to get Jelly to create a series of table elements (Vs one 
uber table).  In the end... I found it easier to do it post-rendering 
 via 
Javascript, which is not good imo. 
2. What will be the effect on plugins of changing project config 
layout.  I already see some strange behaviour e.g. I added an Execute 
shell build step... it works fine in the uber table layout, but is 
screwed up after I manipulate it - prob easy to fix, but still an 
indication that some of the plugins are sensitive to changes in their 
surroundings. 
3. Use of table for layout seems to be quite popular Vs using div 
+ CSS. 
4. New more modern icons? 

 After a few brief conversations with some of my colleagues at CloudBees 
 (Kohsuke, Jesse Glick, Mic Neale and 

Re: Refreshing the Jenkins UI

2014-05-27 Thread Tom Fennelly

On Monday, May 26, 2014 7:22:31 PM UTC+1, Daniel Beck wrote:


 On 26.05.2014, at 15:54, Tom Fennelly tom.fe...@gmail.com javascript: 
 wrote: 

  • New more modern icons? 

 IMO the background makes the icons look blander than they are. And we 
 should use an icon style that allows plugin developers to easily find 
 compatible (style + license) icons. Currently we're using Tango (+RRZE) 
 icons. Is there anything comparable? 


Well, by modern, I meant something like the flat icon sets that a lot of 
apps use nowadays.  The current set of icons used in Jenkins are 90s or 
early 00s style imo (as is the default styling in general).

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Refreshing the Jenkins UI

2014-05-27 Thread Tom Fennelly


On Monday, May 26, 2014 8:08:28 PM UTC+1, Christopher wrote:

 On 05/26/2014 03:54 PM, Tom Fennelly wrote: 
  Hi guys. 
  
  I've just started looking into ways in which we can refresh the look 
  and feel of the Jenkins UI, as well as looking at tackling some of the 
  main usability issues. 

 You often hear people say the Jenkins UI is bad, but it's usually said 
 that there's a lack of concrete examples of *why* it's bad.  So, just 
 out of curiosity, is there a list somewhere of the main usability issues 
 that you've been working on? 


Well this is a perfectly valid question and probably one I'm not best 
qualified to answer.  Personally though... I'd find:

   1. Initial experience is a bit clunky in that you just end up on a blank 
   page/  I think we could at least add some cheat-sheets, introductions (of 
   the looks like this is your first time using this Jenkins instance.  Want 
   a tour) or ask the user straight off if they want to set up their 
   first Job... then have some visually appealing quickstart templates on a 
   pallet of some sort.
   2. The job config page is a badly organised nightmare.
   3. The default template is definitely very dated in appearance 
   (including the icons ;) ).  I know this is not something that would bother 
   everyone, but I do think it possibly send out the wrong signal to potential 
   new community members.  I would fear that many would form the opinion 
   (maybe not intentionally) that things are stale and so would go look 
   elsewhere.



  What I've experimented with so far: 
  
   1. Tweaking the main layout in 
  core/src/main/resources/lib/layout/layout.jelly (and added some CSS 
  to style.css).  Everything was layed out with tables, so I changed 
  that to use divs instead, allowing us to more easily do things like 
  make the sidebar disappear on small screens (if that was a good 
  idea) etc etc.  Here's a screenshot of 
  that: 
 https://www.dropbox.com/s/vngs5jjailatanq/Screenshot%202014-05-26%2012.49.31.png
  
   2. Modified the main project/job configuration page, in an effort to 
  make it less cluttered, by adding accordions for the different 
  config sections.  The only way I found I could do this was to wire 
  in some javascript to manipulate the page post-rendering.  Kohsuke 
  says there's a way of doing the bulk of the DOM manipulation within 
  Jelly templates, but I failed to work that one out yet - I'm sure it 
  will be obvious after I see it :)  Not sure if accordions are the 
  correct choice.  Here's a screenshot of what it looks 
  like: 
 https://www.dropbox.com/s/wsy96r1czhzhy5z/Screenshot%202014-05-26%2012.54.39.png
  

 Nice.  That job config is looking good :) 


It looks okay'sh, but the problem is that the form on that page seems to be 
quite sensitive to a change in the page structure.  The one Build Step I 
added to that page did not work after I modified the page structure.  I 
could probably fix that issue, but I'd bet there are 20 more issues waiting 
around the corner.
 



  After a few brief conversations with some of my colleagues at CloudBees 
  (Kohsuke, Jesse Glick, Mic Neale and others), it seems like the most 
  doable approach for now is to stick with making changes to what's 
  there right now i.e. jelly templates, javascript and CSS.  We also 
  talked (not in detail) about the possibility of working towards more 
  modern technologies and approaches e.g. a Single Page App using the 
  Jenkins REST API Vs the current server-side approach with Stapler and 
  Jelly.  To do that now, however, seems a bit like trying to boil the 
  ocean (quoting one of the guys there).  What do you guys think? 

 I guess it depends what the goal is.  If it's just refreshing the UI, 
 then continuing with the changes so far and perhaps building on some of 
 the nice existing CSS themes out there would be reasonable, e.g. 
 https://github.com/Dakota628/jenkins-clean-theme 


I like that a lot... maybe this is a starting point i.e. at least make 
Jenkins like a bit fresher.  I'm guessing this will not fix issues such as 
with the config page, but it's a good start.
 



 But having seen a colleague of mine use the Jenkins API and AngularJS to 
 build some really nice (though narrowly focussed) Jenkins front-ends for 
 internal apps, dashboards and for customer use, I really like the idea 
 of building the Jenkins UI on top of its API. 

 As you may have seen, this is something Tyler did some work on during 
 FOSDEM last year.  The basic prototype I saw at the time was pretty 
 decent, but as mentioned above and at the time, of course there's a 
 *lot* of backward- and plugin-compatibility to think about: 
 https://groups.google.com/forum/#!topic/jenkinsci-dev/dV680PGiI1Y 


Thanks for pointing me at this.  I'll ping Tyler and ask him to pitch in. 
 In some ways I feel that this might be the only real way to make 
meaningful usability changes to Jenkins. 

Re: Refreshing the Jenkins UI

2014-05-27 Thread Tom Fennelly


On Tuesday, May 27, 2014 7:29:54 AM UTC+1, Dominik Bartholdi wrote:

 Glad to see others coming up with this topic again!
 We have talked about this on many occasions and some work has been done in 
 a separate branch too:
 https://github.com/jenkinsci/jenkins/tree/ui-changes
 In JIRA we also created a special component (ui-changes) to keep track of 
 all this: 
 https://issues.jenkins-ci.org/secure/IssueNavigator!executeAdvanced.jspa?jqlQuery=project+%3D+Jenkins+and+component+%3D+ui-changesrunQuery=trueclear=true
 …but unfortunate all/most the effort which was put into any attempts of 
 changing the UI of Jenkins has stopped at some point. I think the biggest 
 problem really is to find a common agreement on anything - there is always 
 someone who does not like it. 


I think there are quite a few technical barriers to making meaningful 
change the UI too.  This is inevitable, given the size and success of 
Jenkins.
 

 Although I agree, the current implementation does its job and most of the 
 people get a long with (maybe just because they have not seen anything else 
 yet) - I absolutely think the look and feel is way off what a user can/does 
 expect nowadays. In fact I know of a couple of teams which have chosen an 
 other CI server then Jenkins just because of the UI (e.g. TeamCity) - I 
 also think Jenkins has by far more capabilities then e.g. TeamCity, but not 
 everyone needs the more advanced plugins/features/extensionpoints and these 
 users can happily choose a nicer looking CI server (I would too).


+1
 


 Also the fact that there are so many different approaches on changing the 
 UI tells me that there is something we should improve. 
 Some more examples
 - https://github.com/rackerlabs/canon-jenkins
 - https://github.com/djonsson/jenkins-atlassian-theme - 
 http://test.do/(making Jenkins look like bamboo)
 - 
 http://isotope11.com/blog/styling-your-jenkins-continuous-integration-server
 ...

 As a reference, there are also the notes we made about the discussions we 
 had at another FOSDEM: 
 https://wiki.jenkins-ci.org/display/JENKINS/UI+Enhancements


Great stuff... thanks Domi.
 


 Domi


 On 27.05.2014, at 05:10, Michael Neale michae...@gmail.com javascript: 
 wrote:



 On Tuesday, May 27, 2014 5:08:28 AM UTC+10, Christopher wrote:



 But having seen a colleague of mine use the Jenkins API and AngularJS to 
 build some really nice (though narrowly focussed) Jenkins front-ends for 
 internal apps, dashboards and for customer use, I really like the idea 
 of building the Jenkins UI on top of its API. 

 As you may have seen, this is something Tyler did some work on during 
 FOSDEM last year.  The basic prototype I saw at the time was pretty 
 decent, but as mentioned above and at the time, of course there's a 
 *lot* of backward- and plugin-compatibility to think about: 
 https://groups.google.com/forum/#!topic/jenkinsci-dev/dV680PGiI1Y 


 I have some experience doing fairly advanced UIs on top of the various 
 APIs - they are quite powerful (other than, notably the config - where it 
 is more of an xml blob) for doing a lot of things. This does feel a little 
 boil the ocean, and even if worthwhile, the non js based UI will be 
 around for a long time yet, so it is probably worth putting a bit if work 
 in to that to start with. 
  

 -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-de...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Experimenting with building an alternative Jenkins UI

2014-05-27 Thread Tom Fennelly
Hi Tyler.

Did you ever commit your experiments to GitHub?  I'd be keen to see what 
you did and would also be keen to hear your thoughts on the API and it's 
suitability.  I started a related thread (wasn't aware of this one until 
now) at https://groups.google.com/forum/#!topic/jenkinsci-dev/zDaX4yiWLLw

Regards,

Tom.



On Monday, February 25, 2013 4:09:53 AM UTC, R Tyler Croy wrote:


 On Sat, 23 Feb 2013, Kohsuke Kawaguchi wrote: 

  Thanks for your thoughts. 
  
  I actually think the abstraction behind how we expose data via JSON is 
  fundamentally sane --- it's basically the same object graph that the 
 server 
  has, 
  
  I think the problem you are seeing is that the default behavior of 
  traverse this graph depth-first to the depth 1 isn't particularly 
 useful. 
  Instead, you should use the tree parameter to select what portions of 
 the 
  object graph you want to retrieve. 
  
  I've been meaning to add the object graph navigator, and I think 
 something 
  like that makes it clearer what the underlying data model is. 


 Kohsuke and I spent a good deal of time talking in-person about this while 
 we 
 were at SCaLE11x this past weekend in LA. 

 We've got a bit of a disagreement on how suitable the current API 
 support is 
 for building a JavaScript application atop Jenkins might be (for the 
 record, I 
 maintain that it is /not/ suitable :-P). 

 Kohsuke brought up a good point about plugins, not regarding extending of 
 the 
 view, but rather how plugins would be plugging data into model objects 
 such as 
 Build or Job for the API. I'm not entirely certain the right direction 
 on 
 this, I'm hoping to find a good middle ground between the current API 
 approach 
 of plugins mixing data directly into models and providing their own API 
 end-points separately which could lead to a plethora of HTTP requests from 
 the 
 UI app. 

 I think the next step for my experimenting, which I'll have some time for 
 next 
 weekend, will be to sketch out what I think would be most suitable for an 
 API 
 after conferring with some of the guys I work with (this is literally what 
 my 
 team does). 


 I'll update this thread once I have something on GitHub worth taking a 
 gander 
 at. 


 Cheers 
 - R. Tyler Croy 
 -- 
 Code: https://github.com/rtyler 
  Chatter: https://twitter.com/agentdero 


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Delete function on instance of a plugin

2014-05-27 Thread rakesh ranjan
Hi ,

In Jenkins do we have any delete function called when a instance of plugin 
(builder) is deleted ?
As like destructor in C++.
Please reply ASAP , its urgent.

Thanks ,
Rakesh 

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Delete function on instance of a plugin

2014-05-27 Thread Stephen Connolly
No


On 27 May 2014 13:47, rakesh ranjan rakesh.nit@gmail.com wrote:

 Hi ,

 In Jenkins do we have any delete function called when a instance of plugin
 (builder) is deleted ?
 As like destructor in C++.
 Please reply ASAP , its urgent.

 Thanks ,
 Rakesh

  --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Delete function on instance of a plugin

2014-05-27 Thread rakesh ranjan
Thanks for your reply ,

Ok so can you please explain how exactly the plugins instances are removed 
and added on jobs configuration changes 
e.g. we added 2 shell script console by selecting from builder list , and 
after saving it , we remove one , so how the 
builderList is maintained 

Thanks 
Rakesh 
On Tuesday, 27 May 2014 18:17:44 UTC+5:30, rakesh ranjan wrote:

 Hi ,

 In Jenkins do we have any delete function called when a instance of plugin 
 (builder) is deleted ?
 As like destructor in C++.
 Please reply ASAP , its urgent.

 Thanks ,
 Rakesh 



-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Delete function on instance of a plugin

2014-05-27 Thread Stephen Connolly
When the form is submitted the new list is built replacing the old one.
Simple overwrite. There are some hacks to listen out for these events e.g.
see the Job Config History plugin


On 27 May 2014 14:35, rakesh ranjan rakesh.nit@gmail.com wrote:

 Thanks for your reply ,

 Ok so can you please explain how exactly the plugins instances are removed
 and added on jobs configuration changes
 e.g. we added 2 shell script console by selecting from builder list , and
 after saving it , we remove one , so how the
 builderList is maintained

 Thanks
 Rakesh

 On Tuesday, 27 May 2014 18:17:44 UTC+5:30, rakesh ranjan wrote:

 Hi ,

 In Jenkins do we have any delete function called when a instance of
 plugin (builder) is deleted ?
 As like destructor in C++.
 Please reply ASAP , its urgent.

 Thanks ,
 Rakesh

  --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Refreshing the Jenkins UI

2014-05-27 Thread Jeff King

On 05/26/2014 11:10 PM, Michael Neale wrote:

I have some experience doing fairly advanced UIs on top of the various
APIs - they are quite powerful (other than, notably the config - where
it is more of an xml blob) for doing a lot of things. This does feel a
little boil the ocean, and even if worthwhile, the non js based UI
will be around for a long time yet, so it is probably worth putting a
bit if work in to that to start with.


It'd be great if the main dashboard could be configured to pull UI 
elements from the various jobs in the current view. Basically a mash-up 
configurator.


For example, we have a build machine managing CI for three firmware 
projects. Each firmware project has the following Jenkins jobs: 
bootloader build, app build, app static analysis, app unit test, 
integration test, release.


We have a view defined for each project, so it just shows the last job 
status for those jobs associated with the particular project. But we 
have to click through to app unit test to see the test history chart 
and coverage graph, click through to app static analysis to see the 
Coverity graph, etc.


It'd be really powerful for project management if there was a way to 
configure the dashboard view to pull these charts and graphs from the 
jobs pages and put them on the main page. A complete project status at 
a glance as it were.


Of course, if there's already a plugin that does this I'd love to hear 
about it!


--
You received this message because you are subscribed to the Google Groups Jenkins 
Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Queue.WaitingItem not usable anymore

2014-05-27 Thread Jesse Glick
On Mon, May 26, 2014 at 5:36 PM, Reto Hirt reto.h...@gmail.com wrote:
 It seems that in the Jenkins Core, the Class
 hudson.model.Queue now denies access to it's inner classes like Item and
 WaitingItem?

No, these are still there and public. Not sure what is going wrong in
your case; use a debugger.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Jesse Glick
On Tue, May 27, 2014 at 4:13 AM, Stephen Connolly
stephen.alan.conno...@gmail.com wrote:
 The update center accesses confluence to get the {excerpt} stuff for the
 plugin descriptions.

And, apparently, to find the list of wiki page tags by which to
classify the plugin. This seems dumb. To continue domi’s post, IMHO
everything needed for generation of an UC ought to be in the
*.hpi/META-INF/MANIFEST.MF. For example, regarding the excerpt, you
could simply pull out the Specification-Title (taken from
pom.xml#/project/description), or load /index.jelly which is what is
rendered in Plugin Manager. Why do you need the excerpt from the wiki?
If anything, the wiki macro should display an excerpt taken from the
plugin.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Refreshing the Jenkins UI

2014-05-27 Thread Jesse Glick
On Mon, May 26, 2014 at 5:41 PM, Daniel Beck m...@beckweb.net wrote:
 It's possible to save forms with errors.

Probably fixable without fundamental changes. I swear I had this filed
in JIRA but I cannot find it now.

 Important UI elements are not available in the model-link context menu 
 because they're not in the side panel (notably disable/enable project and 
 mark slave offline/online).

I doubt those are so commonly used that they deserve space in the context menu.

 the global config requires changes (Jenkins URL, mail server, ...) or 
 otherwise things won't work right.

I think these things should be admin warnings.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Refreshing the Jenkins UI

2014-05-27 Thread Ioannis Moutsatsos
We have been using Jenkins to build bioinformatic data and image processing 
and workflows and the current UI has been a big challenge!
None of the lab scientists using the Jenkins-based workflow tool is 
familiar with CI and Dev life cycle so hiding many of the Dev-centric UI 
elements and simplifying the interface would be a great improvement.

YES, the first element I would love to hide is the side bar menu, so I can 
leave enough space for the job submission form!

I'm following this discussion with great interest! If any of you are coming 
to the JUC 2014 Boston meeting in June, I would love to touch base and 
discuss this further.

Many thanks for the brave new world of Jenkins UI proposals out there!

best regards
--Ioannis--

On Monday, May 26, 2014 9:54:21 AM UTC-4, Tom Fennelly wrote:

 Hi guys.

 I've just started looking into ways in which we can refresh the look and 
 feel of the Jenkins UI, as well as looking at tackling some of the main 
 usability issues.  I've really only started, but have committed a small bit 
 of code to a branch on github at 
 https://github.com/tfennelly/jenkins/tree/ui-refresh.  As you might 
 notice... Daniel Beck has already posted some good comments/feedback on 
 the 
 commithttps://github.com/tfennelly/jenkins/commit/d586be517616a3ba33ac11c6b5a85965d473c8ab
 .

 What I've experimented with so far:

1. Tweaking the main layout in 
core/src/main/resources/lib/layout/layout.jelly (and added some CSS to 
style.css).  Everything was layed out with tables, so I changed that to 
 use 
divs instead, allowing us to more easily do things like make the sidebar 
disappear on small screens (if that was a good idea) etc etc.  Here's a 
screenshot of that: 

 https://www.dropbox.com/s/vngs5jjailatanq/Screenshot%202014-05-26%2012.49.31.png
2. Modified the main project/job configuration page, in an effort to 
make it less cluttered, by adding accordions for the different config 
sections.  The only way I found I could do this was to wire in some 
javascript to manipulate the page post-rendering.  Kohsuke says there's a 
way of doing the bulk of the DOM manipulation within Jelly templates, but 
 I 
failed to work that one out yet - I'm sure it will be obvious after I 
 see 
it :)  Not sure if accordions are the correct choice.  Here's a screenshot 
of what it looks like: 

 https://www.dropbox.com/s/wsy96r1czhzhy5z/Screenshot%202014-05-26%2012.54.39.png

 The above commit obviously breaks things e.g. the breadcrumbs + some of 
 the styling is screwed up (I added Twitter bootstrap, causing the css's to 
 clash).  What I've done so far is really just hacking to see what we could 
 do.  I'm keen to hear the opinions of the community... what people thing we 
 should concentrate on... what should we avoid... what are the risks etc 
 etc.  I'm aware there is some prior art in this area e.g. OHTAKE 
 Tomohiro's work https://github.com/jenkinsci/jenkins/tree/ui-changes, 
 the Simple Theme 
 Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Simple+Theme+Pluginand 
 others.

 General comments/challenges/risks, as I see it:

1. Jelly + Stapler are not the easiest to work with.  At least I've 
found it quite difficult to figure out where to make changes.  Sometimes 
 it 
was obvious other times it was anything but e.g. tweaking the project 
config page to get Jelly to create a series of table elements (Vs one 
uber table).  In the end... I found it easier to do it post-rendering 
 via 
Javascript, which is not good imo.
2. What will be the effect on plugins of changing project config 
layout.  I already see some strange behaviour e.g. I added an Execute 
shell build step... it works fine in the uber table layout, but is 
screwed up after I manipulate it - prob easy to fix, but still an 
indication that some of the plugins are sensitive to changes in their 
surroundings.
3. Use of table for layout seems to be quite popular Vs using div 
+ CSS.
4. New more modern icons?

 After a few brief conversations with some of my colleagues at CloudBees 
 (Kohsuke, Jesse Glick, Mic Neale and others), it seems like the most 
 doable approach for now is to stick with making changes to what's there 
 right now i.e. jelly templates, javascript and CSS.  We also talked (not in 
 detail) about the possibility of working towards more modern technologies 
 and approaches e.g. a Single Page App using the Jenkins REST API Vs the 
 current server-side approach with Stapler and Jelly.  To do that now, 
 however, seems a bit like trying to boil the ocean (quoting one of the 
 guys there).  What do you guys think?

 So I hope there's an appetite/interest in this and I hope people will let 
 us know where they would like to see this go (or not, as the case may be). 
  And of course, if anyone is interested in getting involved in a hands-on 
 way, then that would be even better :)  I think the 

Re: Update center generation has been disabled

2014-05-27 Thread Stephen Connolly
Well the classification needs to be editable after the fact of the release.
I am with you on the excerpt though


On 27 May 2014 16:16, Jesse Glick jgl...@cloudbees.com wrote:

 On Tue, May 27, 2014 at 4:13 AM, Stephen Connolly
 stephen.alan.conno...@gmail.com wrote:
  The update center accesses confluence to get the {excerpt} stuff for the
  plugin descriptions.

 And, apparently, to find the list of wiki page tags by which to
 classify the plugin. This seems dumb. To continue domi’s post, IMHO
 everything needed for generation of an UC ought to be in the
 *.hpi/META-INF/MANIFEST.MF. For example, regarding the excerpt, you
 could simply pull out the Specification-Title (taken from
 pom.xml#/project/description), or load /index.jelly which is what is
 rendered in Plugin Manager. Why do you need the excerpt from the wiki?
 If anything, the wiki macro should display an excerpt taken from the
 plugin.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread R. Tyler Croy
(replies inline)

On Tue, 27 May 2014, Stephen Connolly wrote:

 OTOH we have more lines of Jenkins that we have to support and consequently
 less load per line whereas Jenkins OSS has the mirrors which favours static
 content.
 
 The real issue here is that the Jenkins OSS update center does not use a
 database-like[1] back-end to store the data so it has to scrape *every*
 plugin *every* time it runs.


Is there anybody that wants to volunteer to take this work on sooner rather
than later? I'd like to turn the UC back on without taking JIRA and Confluence
offline which consumes lots of my time (I lost ~2 hours friday figuring this
out).

If there's not enough information in the repository, I'd be happy to help
provide a DB or file dump of the data from confluence that's needed


 [1] does not actually need to be a formal database, it could be a cache
 file on disk for example... if the cache is missing then hammer confluence
 away!

stahp. plz dont hammer


 On 27 May 2014 08:08, domi d...@fortysix.ch wrote:
 
  Why would the update center access JIRA or confluence at all?
  To display the data on confluence the flow is right in the other
  direction, confluence connects to the update center to get the info. And
  JIRA, hmm, I have no idea why JIRA would be used for anything here???
  Domi
 
  On 27.05.2014, at 08:46, Ivan Kalinin pupss...@gmail.com wrote:
 
  Ah, that's why our releases aren't showing up.
 
  But what exact part of the update center generation causes load on
  Jira/Confluence? It looked like the job shouldn't mess a lot with it, just
  request each plugin's page once.
 
  There are lots of com.atlassian.confluence.rpc.RemoteException: You're
  not allowed to view that page, or it does not exist. messages in the log
  for the pages that are generally publicly accessible.
 
  On Tuesday, May 27, 2014 2:41:42 AM UTC+4, R Tyler Croy wrote:
 
  See this ticket for more details https://issues.jenkins-ci.
  org/browse/INFRA-70
 
 
  I'm waiting to hear back from KK on how we can fix the update-center
  generation
  scripts from scraping/DoSing our JIRA instance before I re-enable the
  job.
 
 
 
  - R. Tyler Croy
 
  --
   Code: https://github.com/rtyler
Chatter: https://twitter.com/agentdero
 
% gpg --keyserver keys.gnupg.net --recv-key 3F51E16F
  --
 
 
  --
  You received this message because you are subscribed to the Google Groups
  Jenkins Developers group.
  To unsubscribe from this group and stop receiving emails from it, send an
  email to jenkinsci-dev+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/d/optout.
 
 
   --
  You received this message because you are subscribed to the Google Groups
  Jenkins Developers group.
  To unsubscribe from this group and stop receiving emails from it, send an
  email to jenkinsci-dev+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/d/optout.
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

- R. Tyler Croy

--
 Code: https://github.com/rtyler
  Chatter: https://twitter.com/agentdero

  % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F
--


pgpcR7nM9lJ86.pgp
Description: PGP signature


Re: Update center generation has been disabled

2014-05-27 Thread Jesse Glick
On Tue, May 27, 2014 at 12:13 PM, Stephen Connolly
stephen.alan.conno...@gmail.com wrote:
 the classification needs to be editable after the fact of the release.

Why? If you want to change it, just cut a new release, like you would
for the plugin display name or anything else.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Queue.WaitingItem not usable anymore

2014-05-27 Thread Surya Gaddipati
I am running into the same exact problem. You can easily reproduce this

 1. Create a new jenkins plugin

mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create

 2. Upgrade jenkins version to 1.564 in pom.xml


3. create an eclipse project and import it in eclipse

mvn -DdownloadSources=true -DdownloadJavadocs=true
 -DoutputDirectory=target/eclipse-classes eclipse:eclipse


 4. Now all the static inner classes in jenkins core are not accessible in
 eclipse . Strangely it complies fine on commandline with mvn install 
though.

On Monday, May 26, 2014 4:36:26 PM UTC-5, Reto Hirt wrote:

 Hi there,

 I'm currently working on some enhancements for the build-pipeline plugin 
 and recently had to update Jenkins to 1.563. In order to follow up with the 
 plugin, I updated the dependency to 1.563/4 also but ran into a problem I 
 don't quite understand. It seems that in the Jenkins Core, the Class 
 hudson.model.Queue now denies access to it's inner classes like Item and 
 WaitingItem? Especially the latter was of great use, as it allowed me to 
 show scheduled jobs with estimated starting time and expected wait time in 
 the plugin.

 So, in 1.509.3 I could do this:

...
final ListQueue.Item qitems = 
 Jenkins.getInstance().getQueue().getApproximateItemsQuickly();

and later on
if (qitem instanceof Queue.WaitingItem)

 These two things fail in 1.563 (did not try in between). 

 Does anyone know if and why this is actually the case, and might be able 
 to give me an idea how to access the same information in 1.563 or newer? I 
 had a look around, but don't see it (yet).

 Kind regards
 Reto


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread FredG


On Tuesday, May 27, 2014 6:50:07 PM UTC+2, Jesse Glick wrote:

 On Tue, May 27, 2014 at 12:13 PM, Stephen Connolly 
 stephen.al...@gmail.com javascript: wrote: 
  the classification needs to be editable after the fact of the release. 

 Why? If you want to change it, just cut a new release, like you would 
 for the plugin display name or anything else. 


While I like the general idea of having a highly dynamic plug-in 
classification system based on tags in the wiki, there is another problem:
The plug-in categories that are shown in the update center are hard-coded 
into the *messages*.properties* files in 
*core\src\main\resources\hudson\model*
(e.g. UpdateCenter.PluginCategory.builder=Build Tools).

When someone adds a new category-tag in the wiki, plug-ins still show up 
under misc in the update center. If the new category-tag gets added to
Jenkins core eventually, only the following Jenkins releases show the new 
category. Everyone else still sees them under misc.

So I'd suggest to pull this out of Jenkins core, either into a plug-in or 
some infra module that generates the update center.

Apart from that I'm in favor of self-contained plug-ins. There might be 
some meta-data (e.g. some kind of plug-in rating) that should be stored 
independently.
At the very least as a fallback (if the plug-in does not provide a 
description, category, then use the one stored in the update center/wiki), 
because
cutting new releases for 800+ plug-ins just to update the meta-data might 
be a bit tedious.


 

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Queue.WaitingItem not usable anymore

2014-05-27 Thread Vincent Latombe
Hi,

this is an eclipse-only issue. You can check out another thread on the ML
talking about this

https://groups.google.com/forum/#!searchin/jenkinsci-dev/Problems$20building$20maven-plugin$20in$20Eclipse/jenkinsci-dev/4rvorfnry1w/pRUPajeESCAJ



Vincent


2014-05-27 21:29 GMT+02:00 Surya Gaddipati suryapraka...@gmail.com:

 I am running into the same exact problem. You can easily reproduce this

  1. Create a new jenkins plugin

 mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create

  2. Upgrade jenkins version to 1.564 in pom.xml


 3. create an eclipse project and import it in eclipse

 mvn -DdownloadSources=true -DdownloadJavadocs=true
  -DoutputDirectory=target/eclipse-classes eclipse:eclipse


  4. Now all the static inner classes in jenkins core are not accessible in
  eclipse . Strangely it complies fine on commandline with mvn install
 though.


 On Monday, May 26, 2014 4:36:26 PM UTC-5, Reto Hirt wrote:

 Hi there,

 I'm currently working on some enhancements for the build-pipeline plugin
 and recently had to update Jenkins to 1.563. In order to follow up with the
 plugin, I updated the dependency to 1.563/4 also but ran into a problem I
 don't quite understand. It seems that in the Jenkins Core, the Class
 hudson.model.Queue now denies access to it's inner classes like Item and
 WaitingItem? Especially the latter was of great use, as it allowed me to
 show scheduled jobs with estimated starting time and expected wait time in
 the plugin.

 So, in 1.509.3 I could do this:

...
final ListQueue.Item qitems = Jenkins.getInstance().getQueue().
 getApproximateItemsQuickly();

and later on
if (qitem instanceof Queue.WaitingItem)

 These two things fail in 1.563 (did not try in between).

 Does anyone know if and why this is actually the case, and might be able
 to give me an idea how to access the same information in 1.563 or newer? I
 had a look around, but don't see it (yet).

 Kind regards
 Reto

  --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Stephen Connolly
Seems crazy rolling a new release of a plugin just to alter metadata about
the plugin. Our update center allows editing the metadata after the release
(yes yes I know the UI doesn't let you have access to the metadata but the
release notes git log import was more important ;-) )

On Tuesday, 27 May 2014, Jesse Glick jgl...@cloudbees.com wrote:

 On Tue, May 27, 2014 at 12:13 PM, Stephen Connolly
 stephen.alan.conno...@gmail.com javascript:; wrote:
  the classification needs to be editable after the fact of the release.

 Why? If you want to change it, just cut a new release, like you would
 for the plugin display name or anything else.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com javascript:;.
 For more options, visit https://groups.google.com/d/optout.



-- 
Sent from my phone

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Problems building maven-plugin in Eclipse

2014-05-27 Thread Jesse Glick
On Sat, Nov 16, 2013 at 4:46 AM, Christoph Kutzinski ku...@gmx.de wrote:
 Maybe we're missing this bug fix which comes with bridge-method-annotation 1.9

Well Jenkins 1.536+ uses 1.9.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Jesse Glick
On Tue, May 27, 2014 at 3:35 PM, FredG fred.g...@googlemail.com wrote:
 When someone adds a new category-tag in the wiki, plug-ins still show up
 under misc in the update center.

According to the code, it should display as “Misc (the-new-category)”.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Kohsuke Kawaguchi


Stephen and Jesse's observations are basically correct. We scrape Wiki 
to fill in a quick description of the plugin, categorizations, and so 
on. UC generator does not touch JIRA as far as I know.



I think there are two issues here, one short-term and the other long-term.


The short-term problem is that we need to get the update center 
generator code running ASAP, without assuming anything more from plugin 
metadata. That primarily involves separating Wiki crawler and UC 
generator, so that the former happens less frequently. I'll do that 
right away.



The long-term problem is if such a scraping of Wiki is necessary to 
begin with, by making plugin metadata more descriptive and self-contained.


I think we do need to define manifest entries for excerpt and labels, 
which isn't even possible today. That said, the motivation for scraping 
the Wiki was to crowd-source the categorizations of plugins, and I 
think that is still valid.


I see 26 classifications in [1] and we want more categories (see 
relevant meta packaging discussion in JENKINS-9598), only allowing 
metadata in the *.jpi files to do this is wrong, IMHO. Plus it's not 
practical at this late in game when we have 800+ plugins that do not 
have such metadata to begin with.




[1] https://wiki.jenkins-ci.org/display/JENKINS/Plugins

On 05/26/2014 03:41 PM, R. Tyler Croy wrote:

See this ticket for more details https://issues.jenkins-ci.org/browse/INFRA-70


I'm waiting to hear back from KK on how we can fix the update-center generation
scripts from scraping/DoSing our JIRA instance before I re-enable the job.



- R. Tyler Croy

--
  Code: https://github.com/rtyler
   Chatter: https://twitter.com/agentdero

   % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F
--




--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Try Jenkins Enterprise, our professional version of Jenkins

--
You received this message because you are subscribed to the Google Groups Jenkins 
Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Surya Gaddipati
 Can we use the description tag in pom.xml of the plugin to generate 
description ? 

On Monday, May 26, 2014 5:41:42 PM UTC-5, R Tyler Croy wrote:

 See this ticket for more details 
 https://issues.jenkins-ci.org/browse/INFRA-70 


 I'm waiting to hear back from KK on how we can fix the update-center 
 generation 
 scripts from scraping/DoSing our JIRA instance before I re-enable the job. 



 - R. Tyler Croy 

 -- 
  Code: https://github.com/rtyler 
   Chatter: https://twitter.com/agentdero 

   % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F 
 -- 


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Killing off MavenModuleSet projects

2014-05-27 Thread Andrew Bayer
So builds.apache.org is constantly abused by its excessive number of
MavenModuleSet projects (600+, with an average of nearly 40 modules
per project, for a nice total of 23k+ MavenModules - ow) and I want to
make MavenModuleSet die in a fire. To do this, though, I need to find
a viable way to convert MavenModuleSets into FreeStyleProjects
programmatically, given that, well, 600+ projects created by a few
dozen different Apache teams, etc is not a viable manual conversion.

Has anyone made a run at this before? If I can avoid starting from
scratch, that'd be nice.

A.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Jesse Glick
On Tue, May 27, 2014 at 5:11 PM, Kohsuke Kawaguchi
kkawagu...@cloudbees.com wrote:
 I think we do need to define manifest entries for excerpt and labels, which
 isn't even possible today.

As I have mentioned, the excerpt is generally identical or at least
similar to the POM description or /index.jelly, so why not use those
instead? (You need an index.jelly anyway.)

 the motivation for scraping the Wiki was to crowd-source the 
 categorizations of plugins

This does not make much sense to me. The plugin author is well placed
to decide on a category, just as they would decide on a proper display
name and so on. If the “crowd” wants to adjust that, well then we have
pull requests.

 it's not practical at this late
 in game when we have 800+ plugins that do not have such metadata to begin
 with.

I think it is practical. As a one-time batch task we scrape up
existing tags and record those in the UC generation tool as historical
fallback values; and edit the POMs of @jenkinsci plugins to define the
current labels (just like Nicolas did a batch update of repo
definitions a couple years back). Subsequent plugin releases would use
the value defined in the POM.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Experimenting with building an alternative Jenkins UI

2014-05-27 Thread R. Tyler Croy
(replies inline)

On Tue, 27 May 2014, Tom Fennelly wrote:

 Did you ever commit your experiments to GitHub?  I'd be keen to see what 
 you did and would also be keen to hear your thoughts on the API and it's 
 suitability.  I started a related thread (wasn't aware of this one until 
 now) at https://groups.google.com/forum/#!topic/jenkinsci-dev/zDaX4yiWLLw


This fell off my queue of things I have time to work on so I never got around
to it.

The biggest challenge to the API work IMO is that it's currently not RESTful,
and is quite difficult to make RESTful in a way that a Backbone collection can
easily consume from.

Part of the challenge is that Jenkins' datamodel is much more of a tree than
most front-end toolkits are familiar with, but when you add added functionality
from the plugins, modeling becomes extra tricky.



I'm still of the opinion that a simple Backbone app + basic REST API exposing
jobs, builds, basic details, would be more than enough for a large percentage
of use-cases. Putting my code where my mouth is, isn't something I've had time
for unfortunately.



 On Monday, February 25, 2013 4:09:53 AM UTC, R Tyler Croy wrote:
 
 
  On Sat, 23 Feb 2013, Kohsuke Kawaguchi wrote: 
 
   Thanks for your thoughts. 
   
   I actually think the abstraction behind how we expose data via JSON is 
   fundamentally sane --- it's basically the same object graph that the 
  server 
   has, 
   
   I think the problem you are seeing is that the default behavior of 
   traverse this graph depth-first to the depth 1 isn't particularly 
  useful. 
   Instead, you should use the tree parameter to select what portions of 
  the 
   object graph you want to retrieve. 
   
   I've been meaning to add the object graph navigator, and I think 
  something 
   like that makes it clearer what the underlying data model is. 
 
 
  Kohsuke and I spent a good deal of time talking in-person about this while 
  we 
  were at SCaLE11x this past weekend in LA. 
 
  We've got a bit of a disagreement on how suitable the current API 
  support is 
  for building a JavaScript application atop Jenkins might be (for the 
  record, I 
  maintain that it is /not/ suitable :-P). 
 
  Kohsuke brought up a good point about plugins, not regarding extending of 
  the 
  view, but rather how plugins would be plugging data into model objects 
  such as 
  Build or Job for the API. I'm not entirely certain the right direction 
  on 
  this, I'm hoping to find a good middle ground between the current API 
  approach 
  of plugins mixing data directly into models and providing their own API 
  end-points separately which could lead to a plethora of HTTP requests from 
  the 
  UI app. 
 
  I think the next step for my experimenting, which I'll have some time for 
  next 
  weekend, will be to sketch out what I think would be most suitable for an 
  API 
  after conferring with some of the guys I work with (this is literally what 
  my 
  team does). 
 
 
  I'll update this thread once I have something on GitHub worth taking a 
  gander 
  at. 
 
 
  Cheers 
  - R. Tyler Croy 
  -- 
  Code: https://github.com/rtyler 
   Chatter: https://twitter.com/agentdero 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

- R. Tyler Croy

--
 Code: https://github.com/rtyler
  Chatter: https://twitter.com/agentdero

  % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F
--


pgpDziiA3sA37.pgp
Description: PGP signature


Re: Killing off MavenModuleSet projects

2014-05-27 Thread Jesse Glick
On Tue, May 27, 2014 at 5:29 PM, Andrew Bayer andrew.ba...@gmail.com wrote:
 I need to find
 a viable way to convert MavenModuleSets into FreeStyleProjects
 programmatically

Tricky because

1. Some features of MMS are simply not available otherwise, and it may
be hard to determine whether those features are being relied upon in a
particular case. Things like incremental builds of only changed
modules, or triggering by builds of snapshot dependencies.

2. Some features available in a FSP are configured automatically in a
MMS, and finding the current value of that configuration requires
parsing the POM. Things like artifact archival and Surefire reporting.
Fingerprinting is a special case because (until my recent change made
it optional) MMS fingerprints all dependencies, most of which are
irrelevant most of the time, and fingerprinting can be expensive so
you would prefer to do it only when the fingerprints are going to be
used.

Really we would like to have a way of adding MMS-like features and
autoconfiguration à la carte to a FSP, without using the hazardous
Maven embedder that MMS relies on. But this is a major project and no
one has committed to doing it yet.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Killing off MavenModuleSet projects

2014-05-27 Thread Andrew Bayer
That's kind of what I was afraid of - I'd hoped there was a chance
that something had come along since last I dug into this a couple
years ago, but...yeah. I guess I'll try something that detects simple
MMS jobs that can easily be converted and hope that can make a big
enough dent in the total...

A.

On Tue, May 27, 2014 at 2:50 PM, Jesse Glick jgl...@cloudbees.com wrote:
 On Tue, May 27, 2014 at 5:29 PM, Andrew Bayer andrew.ba...@gmail.com wrote:
 I need to find
 a viable way to convert MavenModuleSets into FreeStyleProjects
 programmatically

 Tricky because

 1. Some features of MMS are simply not available otherwise, and it may
 be hard to determine whether those features are being relied upon in a
 particular case. Things like incremental builds of only changed
 modules, or triggering by builds of snapshot dependencies.

 2. Some features available in a FSP are configured automatically in a
 MMS, and finding the current value of that configuration requires
 parsing the POM. Things like artifact archival and Surefire reporting.
 Fingerprinting is a special case because (until my recent change made
 it optional) MMS fingerprints all dependencies, most of which are
 irrelevant most of the time, and fingerprinting can be expensive so
 you would prefer to do it only when the fingerprints are going to be
 used.

 Really we would like to have a way of adding MMS-like features and
 autoconfiguration à la carte to a FSP, without using the hazardous
 Maven embedder that MMS relies on. But this is a major project and no
 one has committed to doing it yet.

 --
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Killing off MavenModuleSet projects

2014-05-27 Thread Stephen Connolly
Well as both of you know, but perhaps the rest of the list doesn't

I have a plan to put a better maven integration into the literate job type.
That better integration can probably be used by freestyle jobs too as it
will effectively be just a regular builder, but one that adds an action
that exposes the maven module details. I need to think about whether to add
auto-config of artifact slurping, etc... as I am against some of that...
but there may be a way that I can think of that would let you have a best
of both...

The sad news is my lack of free time... and this is something that lies
behind my rework of the acceptance test harness and that isn't even top of
the pile!


On 27 May 2014 22:50, Jesse Glick jgl...@cloudbees.com wrote:

 On Tue, May 27, 2014 at 5:29 PM, Andrew Bayer andrew.ba...@gmail.com
 wrote:
  I need to find
  a viable way to convert MavenModuleSets into FreeStyleProjects
  programmatically

 Tricky because

 1. Some features of MMS are simply not available otherwise, and it may
 be hard to determine whether those features are being relied upon in a
 particular case. Things like incremental builds of only changed
 modules, or triggering by builds of snapshot dependencies.

 2. Some features available in a FSP are configured automatically in a
 MMS, and finding the current value of that configuration requires
 parsing the POM. Things like artifact archival and Surefire reporting.
 Fingerprinting is a special case because (until my recent change made
 it optional) MMS fingerprints all dependencies, most of which are
 irrelevant most of the time, and fingerprinting can be expensive so
 you would prefer to do it only when the fingerprints are going to be
 used.

 Really we would like to have a way of adding MMS-like features and
 autoconfiguration à la carte to a FSP, without using the hazardous
 Maven embedder that MMS relies on. But this is a major project and no
 one has committed to doing it yet.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Kohsuke Kawaguchi


I've added caching.

As a bonus, UC gen now runs in 3 min, whereas it used to take 20 mins.

The cache expires after a day.

Those two UC gen processes are scheduled to run 6 times a day, so we've 
gone from 12 full sweep of Wiki per day to 1 full sweep a day.


Hopefully this will keep the usage under check.


On 05/26/2014 03:41 PM, R. Tyler Croy wrote:

See this ticket for more details https://issues.jenkins-ci.org/browse/INFRA-70


I'm waiting to hear back from KK on how we can fix the update-center generation
scripts from scraping/DoSing our JIRA instance before I re-enable the job.



- R. Tyler Croy

--
  Code: https://github.com/rtyler
   Chatter: https://twitter.com/agentdero

   % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F
--




--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Try Jenkins Enterprise, our professional version of Jenkins

--
You received this message because you are subscribed to the Google Groups Jenkins 
Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Killing off MavenModuleSet projects

2014-05-27 Thread Andrew Bayer
Anything I can help out with? 'cos it'd be nifty, to say the least. =)

A.

On Tue, May 27, 2014 at 3:41 PM, Stephen Connolly
stephen.alan.conno...@gmail.com wrote:
 Well as both of you know, but perhaps the rest of the list doesn't

 I have a plan to put a better maven integration into the literate job type.
 That better integration can probably be used by freestyle jobs too as it
 will effectively be just a regular builder, but one that adds an action that
 exposes the maven module details. I need to think about whether to add
 auto-config of artifact slurping, etc... as I am against some of that... but
 there may be a way that I can think of that would let you have a best of
 both...

 The sad news is my lack of free time... and this is something that lies
 behind my rework of the acceptance test harness and that isn't even top of
 the pile!


 On 27 May 2014 22:50, Jesse Glick jgl...@cloudbees.com wrote:

 On Tue, May 27, 2014 at 5:29 PM, Andrew Bayer andrew.ba...@gmail.com
 wrote:
  I need to find
  a viable way to convert MavenModuleSets into FreeStyleProjects
  programmatically

 Tricky because

 1. Some features of MMS are simply not available otherwise, and it may
 be hard to determine whether those features are being relied upon in a
 particular case. Things like incremental builds of only changed
 modules, or triggering by builds of snapshot dependencies.

 2. Some features available in a FSP are configured automatically in a
 MMS, and finding the current value of that configuration requires
 parsing the POM. Things like artifact archival and Surefire reporting.
 Fingerprinting is a special case because (until my recent change made
 it optional) MMS fingerprints all dependencies, most of which are
 irrelevant most of the time, and fingerprinting can be expensive so
 you would prefer to do it only when the fingerprints are going to be
 used.

 Really we would like to have a way of adding MMS-like features and
 autoconfiguration à la carte to a FSP, without using the hazardous
 Maven embedder that MMS relies on. But this is a major project and no
 one has committed to doing it yet.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread FredG


On Tuesday, May 27, 2014 10:06:25 PM UTC+2, Jesse Glick wrote:

 On Tue, May 27, 2014 at 3:35 PM, FredG fred...@googlemail.comjavascript: 
 wrote: 
  When someone adds a new category-tag in the wiki, plug-ins still show up 
  under misc in the update center. 

 According to the code, it should display as “Misc (the-new-category)”. 


You are right, it actually does show up... 25 times Misc (some category) 
plus a real Miscellaneous category.
Sorry, but this is still a crutch! m(

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Update center generation has been disabled

2014-05-27 Thread Jesse Glick
On Tue, May 27, 2014 at 6:56 PM, Kohsuke Kawaguchi
kkawagu...@cloudbees.com wrote:
 the categorization comes after the plugin comes into being.

Really? Whenever I have created a plugin I have set a category in the
wiki as just one of several routine tasks.

 I'm all for allowing pluin authors to definitely describe excerpt, labels,
 and so on. But I also don't really see why we have to bend over backward to
 avoid hitting Confluence.

For me that is a side benefit, but the real motivation is that I
expect the official, signed update center JSON to be a simple function
of the plugin artifacts that are fed into it from the Maven
repository, without mysterious screen scraping of some wiki. If
JENKINS-22926 is implemented and some extended columns in Plugin
Manager want to show installation counts, ratings, etc. pulled from
other databases or sites or astrological almanacks, that is fine.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: DotCi - plugin hosting request

2014-05-27 Thread Kohsuke Kawaguchi
My apologies for the delay, but it's all set at
https://github.com/jenkinsci/DotCi

Surya, my mind is blown. My hats off to you. This plugin packs some serious
punch in it.

I have several requests.

First, would you be interested in doing a guest post on
http://jenkins-ci.org/node blog? I think more people should know about
this, and I think it gives you and Groupon the visibility that you deserve.

Second, I skimmed through the plugin, and it contains several interesting
parts that I think are useful outside your plugin (such as
DbBackedProject.) I see some other parts where I think you worked around
the current core limitation (such as a separate new job UI). And I have
some ideas that I'd like to run by you to improve the interoperability with
existing plugins.

I'd like to try putting out some of them into separate reusable plugins,
identify things we should change in the core to better accomodate this
plugin, and so on.

To that end, I wonder if you would walk us through the inner working of
this plugin in one of the upcoming office
hourshttps://wiki.jenkins-ci.org/display/JENKINS/Office+Hours?
The next one is June 4th 11am PT, but we can have it in an irregular time
if that time slot doesn't work for you.





2014-05-20 9:36 GMT-07:00 Surya Gaddipati suryapraka...@gmail.com:

 https://github.com/groupon/DotCi
 github usename: suryagaddipati

  --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.




-- 
Kohsuke Kawaguchi

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Experimenting with building an alternative Jenkins UI

2014-05-27 Thread Kohsuke Kawaguchi
On a related note, this is an application I wrote that runs on
http://goto.jenkins-ci.org/ which uses Stapler with Backbone.js:
https://github.com/jenkinsci/backend-goto-app



2014-05-27 14:46 GMT-07:00 R. Tyler Croy ty...@monkeypox.org:

 (replies inline)

 On Tue, 27 May 2014, Tom Fennelly wrote:

  Did you ever commit your experiments to GitHub?  I'd be keen to see what
  you did and would also be keen to hear your thoughts on the API and it's
  suitability.  I started a related thread (wasn't aware of this one until
  now) at
 https://groups.google.com/forum/#!topic/jenkinsci-dev/zDaX4yiWLLw


 This fell off my queue of things I have time to work on so I never got
 around
 to it.

 The biggest challenge to the API work IMO is that it's currently not
 RESTful,
 and is quite difficult to make RESTful in a way that a Backbone collection
 can
 easily consume from.

 Part of the challenge is that Jenkins' datamodel is much more of a tree
 than
 most front-end toolkits are familiar with, but when you add added
 functionality
 from the plugins, modeling becomes extra tricky.



 I'm still of the opinion that a simple Backbone app + basic REST API
 exposing
 jobs, builds, basic details, would be more than enough for a large
 percentage
 of use-cases. Putting my code where my mouth is, isn't something I've had
 time
 for unfortunately.



  On Monday, February 25, 2013 4:09:53 AM UTC, R Tyler Croy wrote:
  
  
   On Sat, 23 Feb 2013, Kohsuke Kawaguchi wrote:
  
Thanks for your thoughts.
   
I actually think the abstraction behind how we expose data via JSON
 is
fundamentally sane --- it's basically the same object graph that the
   server
has,
   
I think the problem you are seeing is that the default behavior of
traverse this graph depth-first to the depth 1 isn't particularly
   useful.
Instead, you should use the tree parameter to select what portions of
   the
object graph you want to retrieve.
   
I've been meaning to add the object graph navigator, and I think
   something
like that makes it clearer what the underlying data model is.
  
  
   Kohsuke and I spent a good deal of time talking in-person about this
 while
   we
   were at SCaLE11x this past weekend in LA.
  
   We've got a bit of a disagreement on how suitable the current API
   support is
   for building a JavaScript application atop Jenkins might be (for the
   record, I
   maintain that it is /not/ suitable :-P).
  
   Kohsuke brought up a good point about plugins, not regarding extending
 of
   the
   view, but rather how plugins would be plugging data into model objects
   such as
   Build or Job for the API. I'm not entirely certain the right
 direction
   on
   this, I'm hoping to find a good middle ground between the current API
   approach
   of plugins mixing data directly into models and providing their own API
   end-points separately which could lead to a plethora of HTTP requests
 from
   the
   UI app.
  
   I think the next step for my experimenting, which I'll have some time
 for
   next
   weekend, will be to sketch out what I think would be most suitable for
 an
   API
   after conferring with some of the guys I work with (this is literally
 what
   my
   team does).
  
  
   I'll update this thread once I have something on GitHub worth taking a
   gander
   at.
  
  
   Cheers
   - R. Tyler Croy
   --
   Code: https://github.com/rtyler
Chatter: https://twitter.com/agentdero
  
 
  --
  You received this message because you are subscribed to the Google
 Groups Jenkins Developers group.
  To unsubscribe from this group and stop receiving emails from it, send
 an email to jenkinsci-dev+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/d/optout.

 - R. Tyler Croy

 --
  Code: https://github.com/rtyler
   Chatter: https://twitter.com/agentdero

   % gpg --keyserver keys.gnupg.net --recv-key 3F51E16F
 --




-- 
Kohsuke Kawaguchi

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Queue.WaitingItem not usable anymore

2014-05-27 Thread Reto Hirt
Thanks for the hint, this was really helpful, at least to understand the 
issue.

However, in order to solve it decently for eclipse, I would have to remove 
that annotation, that seems unpractical to me. I will need a different 
solution if possible. 
So far I have not found anything on the web on that annotation in the web, 
so eclipse won't be aware of such a problem. With the risk of being naive 
(actually new to jenkins), why not simply remove the annotation from the 
jenkins core and solve that differently? Or should an issue be opened with 
eclipse?

Definitely, I will try with jenkins-core in the workspace first, may be 
that helps.

Reto

Am Dienstag, 27. Mai 2014 21:36:46 UTC+2 schrieb Vincent Latombe:

 Hi,

 this is an eclipse-only issue. You can check out another thread on the ML 
 talking about this


 https://groups.google.com/forum/#!searchin/jenkinsci-dev/Problems$20building$20maven-plugin$20in$20Eclipse/jenkinsci-dev/4rvorfnry1w/pRUPajeESCAJ



 Vincent


 2014-05-27 21:29 GMT+02:00 Surya Gaddipati suryap...@gmail.comjavascript:
 :

 I am running into the same exact problem. You can easily reproduce this

  1. Create a new jenkins plugin

 mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create

  2. Upgrade jenkins version to 1.564 in pom.xml


 3. create an eclipse project and import it in eclipse

 mvn -DdownloadSources=true -DdownloadJavadocs=true
  -DoutputDirectory=target/eclipse-classes eclipse:eclipse


  4. Now all the static inner classes in jenkins core are not accessible in
  eclipse . Strangely it complies fine on commandline with mvn install 
 though.


 On Monday, May 26, 2014 4:36:26 PM UTC-5, Reto Hirt wrote:

 Hi there,

 I'm currently working on some enhancements for the build-pipeline plugin 
 and recently had to update Jenkins to 1.563. In order to follow up with the 
 plugin, I updated the dependency to 1.563/4 also but ran into a problem I 
 don't quite understand. It seems that in the Jenkins Core, the Class 
 hudson.model.Queue now denies access to it's inner classes like Item and 
 WaitingItem? Especially the latter was of great use, as it allowed me to 
 show scheduled jobs with estimated starting time and expected wait time in 
 the plugin.

 So, in 1.509.3 I could do this:

...
final ListQueue.Item qitems = Jenkins.getInstance().getQueue().
 getApproximateItemsQuickly();

and later on
if (qitem instanceof Queue.WaitingItem)

 These two things fail in 1.563 (did not try in between). 

 Does anyone know if and why this is actually the case, and might be able 
 to give me an idea how to access the same information in 1.563 or newer? I 
 had a look around, but don't see it (yet).

 Kind regards
 Reto

  -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-de...@googlegroups.com javascript:.
 For more options, visit https://groups.google.com/d/optout.




-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.