├── .travis.yml ├── docs ├── screen.png └── createnew.png ├── src └── main │ ├── resources │ └── com │ │ └── terma │ │ └── jenkins │ │ └── plugins │ │ └── ajaxlistview │ │ ├── AjaxListView │ │ ├── newViewDetail.jelly │ │ ├── newViewDetail.properties │ │ ├── main.jelly │ │ └── ajax.jelly │ │ └── Messages.properties │ ├── webapp │ └── js │ │ └── engine.js │ └── java │ └── com │ └── terma │ └── jenkins │ └── plugins │ └── ajaxlistview │ └── AjaxListView.java ├── .gitignore ├── README.md ├── LICENSE └── pom.xml /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | 3 | script: mvn test -------------------------------------------------------------------------------- /docs/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/ajax-list-view-plugin/master/docs/screen.png -------------------------------------------------------------------------------- /docs/createnew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/ajax-list-view-plugin/master/docs/createnew.png -------------------------------------------------------------------------------- /src/main/resources/com/terma/jenkins/plugins/ajaxlistview/AjaxListView/newViewDetail.jelly: -------------------------------------------------------------------------------- 1 |
2 | ${%blurb} 3 |
-------------------------------------------------------------------------------- /src/main/resources/com/terma/jenkins/plugins/ajaxlistview/Messages.properties: -------------------------------------------------------------------------------- 1 | AjaxListView.DisplayName=Ajax List View 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 12 | hs_err_pid* 13 | -------------------------------------------------------------------------------- /src/main/resources/com/terma/jenkins/plugins/ajaxlistview/AjaxListView/newViewDetail.properties: -------------------------------------------------------------------------------- 1 | blurb=Standard List View which support update by AJAX without full page refresh. \ 2 | Shows items in a simple list format. You can choose which jobs are to be displayed in which view. 3 | -------------------------------------------------------------------------------- /src/main/webapp/js/engine.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function () { 2 | 3 | function reloadJobs() { 4 | console.log("start load jobs data..."); 5 | jQuery.ajax({ 6 | url: "ajax", 7 | cache: false, 8 | dataType: "html" 9 | }).done(function (html) { 10 | jQuery("#projectstatus").remove(); 11 | jQuery("#iconBar").before(html); 12 | console.log("jobs loaded"); 13 | }); 14 | } 15 | 16 | window.setInterval(function () { 17 | reloadJobs(); 18 | }, 5000); 19 | 20 | reloadJobs(); 21 | }); -------------------------------------------------------------------------------- /src/main/resources/com/terma/jenkins/plugins/ajaxlistview/AjaxListView/main.jelly: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 |
14 | 15 |
16 | 17 |
18 | -------------------------------------------------------------------------------- /src/main/java/com/terma/jenkins/plugins/ajaxlistview/AjaxListView.java: -------------------------------------------------------------------------------- 1 | package com.terma.jenkins.plugins.ajaxlistview; 2 | 3 | import hudson.Extension; 4 | import hudson.model.ListView; 5 | import hudson.model.ViewDescriptor; 6 | import hudson.model.ViewGroup; 7 | import org.kohsuke.stapler.DataBoundConstructor; 8 | 9 | public class AjaxListView extends ListView { 10 | 11 | @DataBoundConstructor 12 | public AjaxListView(String name) { 13 | super(name); 14 | } 15 | 16 | public AjaxListView(String name, ViewGroup owner) { 17 | super(name, owner); 18 | } 19 | 20 | @Extension 21 | public static final class DescriptorImpl extends ViewDescriptor { 22 | 23 | @Override 24 | public String getDisplayName() { 25 | return Messages.AjaxListView_DisplayName(); 26 | } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | AJAX List View Jenkins Plugin 2 | =================== 3 | 4 | [![Build Status](https://travis-ci.org/terma/ajax-list-view-jenkins-plugin.svg?branch=master)](https://travis-ci.org/terma/ajax-list-view-jenkins-plugin) 5 | 6 | Simple and small alternative for default Jenkins List View. This Plugin support same functionality and supports auto refresh by **AJAX each 5 sec**. Example on screenshot: 7 | 8 | ![](https://raw.githubusercontent.com/terma/ajax-list-view-jenkins-plugin/master/docs/screen.png) 9 | 10 | How to install 11 | == 12 | 13 | * Download latest version of plugin for [page](https://github.com/terma/ajax-list-view-jenkins-plugin/releases) 14 | * Open your Jenkins and [install](https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Howtoinstallplugins) 15 | 16 | How to use 17 | == 18 | 19 | * Just create new Ajax List View 20 | 21 | ![](https://raw.githubusercontent.com/terma/ajax-list-view-jenkins-plugin/master/docs/createnew.png) 22 | 23 | * Configure it by selecting which jobs to display 24 | 25 | Thx 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 terma 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /src/main/resources/com/terma/jenkins/plugins/ajaxlistview/AjaxListView/ajax.jelly: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
35 | 36 |
48 | 49 |
50 |
-------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | 5 | 6 | org.jenkins-ci.plugins 7 | plugin 8 | 1.554.2 9 | 10 | 11 | ajax-list-view-plugin 12 | 0.0.2-SNAPSHOT 13 | hpi 14 | 15 | 16 | 17 | MIT License 18 | http://www.opensource.org/licenses/mit-license.php 19 | 20 | 21 | 22 | 23 | UTF-8 24 | 2.31.0 25 | **/functionaltest/*.java 26 | 27 | 28 | 29 | 30 | terma 31 | Artem Stasiuk 32 | artem.stasuk@gmail.com 33 | https://github.com/terma 34 | 35 | 36 | 37 | 38 | 39 | junit 40 | junit 41 | 4.9 42 | test 43 | 44 | 45 | org.mockito 46 | mockito-all 47 | 1.9.0 48 | test 49 | 50 | 51 | org.jenkins-ci.plugins 52 | jquery 53 | 1.7.2-1 54 | 55 | 56 | 57 | 58 | cglib 59 | cglib-nodep 60 | 2.2 61 | test 62 | 63 | 64 | 66 | org.objenesis 67 | objenesis 68 | 1.2 69 | test 70 | 71 | 72 | 73 | org.hamcrest 74 | hamcrest-core 75 | 1.2 76 | test 77 | 78 | 79 | org.jenkins-ci.plugins 80 | dashboard-view 81 | 2.2 82 | true 83 | 84 | 85 | org.jenkins-ci.plugins 86 | parameterized-trigger 87 | 2.17 88 | 89 | 90 | 91 | org.seleniumhq.selenium 92 | selenium-firefox-driver 93 | ${selenium.version} 94 | 95 | 96 | commons-io 97 | commons-io 98 | 99 | 100 | 101 | 102 | org.seleniumhq.selenium 103 | selenium-chrome-driver 104 | ${selenium.version} 105 | 106 | 107 | org.seleniumhq.selenium 108 | selenium-ie-driver 109 | ${selenium.version} 110 | 111 | 112 | org.seleniumhq.selenium 113 | selenium-support 114 | ${selenium.version} 115 | 116 | 117 | 118 | commons-beanutils 119 | commons-beanutils 120 | 1.8.3 121 | test 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | org.apache.maven.plugins 130 | maven-compiler-plugin 131 | 2.4 132 | 133 | 134 | 1.6 135 | 1.6 136 | 137 | 138 | 139 | org.apache.maven.plugins 140 | maven-release-plugin 141 | 2.5 142 | 143 | 144 | forked-path 145 | deploy 146 | 147 | 148 | 149 | org.apache.maven.plugins 150 | maven-enforcer-plugin 151 | 1.0 152 | 153 | 154 | 155 | 156 | org.apache.maven.plugins 157 | maven-surefire-plugin 158 | 2.16 159 | 160 | 161 | ${exclude.tests} 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | web-tests 171 | 172 | none 173 | 174 | 175 | 176 | 177 | 178 | 179 | maven-central 180 | http://repo1.maven.org/maven2 181 | 182 | 183 | maven.jenkins-ci.org 184 | http://repo.jenkins-ci.org/public 185 | 186 | 187 | 188 | 189 | 190 | maven-central 191 | http://repo1.maven.org/maven2 192 | 193 | 194 | maven.jenkins-ci.org 195 | http://repo.jenkins-ci.org/public 196 | 197 | 198 | 199 | 200 | --------------------------------------------------------------------------------