96 |
97 | ### Screenshots
98 |
99 | | | |
100 | |----------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
101 | | Safari Notification |  |
102 | | System Configuration |  |
103 | | Job Configuration |  |
104 |
105 |
106 |
107 | ------------------------------------------------------------------------
108 |
109 |
110 |
111 | ### Changelog
112 |
113 | #### 1.5 (released 2015-03-06)
114 |
115 | - [JENKINS-27222](https://issues.jenkins-ci.org/browse/JENKINS-27222) -
116 | Fixes global configuration not saving/loading.
117 |
118 | #### 1.3 (released 2014-08-01)
119 |
120 | - [JENKINS-16236](https://issues.jenkins-ci.org/browse/JENKINS-16236) -
121 | upgrade to use current html5 notification spec. Removes html in the
122 | notifications but now works again.
123 |
124 | #### 1.2 (released 2012-04-06)
125 |
126 | - updated minimum required core to v1.455 to pick up prototype.js:1.7
127 | - [JENKINS-13138](https://issues.jenkins-ci.org/browse/JENKINS-13138) -
128 | Verify action doesn't work with CSRF option
129 | - [JENKINS-13322](https://issues.jenkins-ci.org/browse/JENKINS-13322) -
130 | Configure tab freezes when using both the HTML5 notifier plugin and
131 | the Android Emulator Plugin
132 | - [JENKINS-12538](https://issues.jenkins-ci.org/browse/JENKINS-12538) -
133 | java.lang.String cannot be cast to net.sf.json.JSONArray
134 | - [JENKINS-13038](https://issues.jenkins-ci.org/browse/JENKINS-13038) -
135 | HTML5 notifier plugin breaks Jenkins with CSRF protection
136 |
137 | #### 1.1 (released 2012-02-02)
138 |
139 | - JENKINS-11618 - prototype.js
140 | - added per-job job property to skip notifications
141 | - added ability to only notify on different build result than previous
142 | - cleaned up the notification area html
143 |
144 | #### 1.0 (released 2011-10-19)
145 |
146 | - initial implementation
147 | - fully I18N compliant
148 | ",
149 | ],
150 | ]
151 | `;
152 |
153 | exports[`/plugin/:pluginName adoc should return asciidoc 1`] = `
154 | Array [
155 | Array [
156 | "[[HTML5NotifierPlugin-HTML5NotifierPlugin]]
157 | == HTML5 Notifier Plugin
158 |
159 | +
160 |
161 | [.conf-macro .output-inline]#Provides
162 | http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html[W3C
163 | Web Notifications] support for builds.#
164 |
165 | [[HTML5NotifierPlugin-Browsercompatibility]]
166 | === Browser compatibility
167 |
168 | This plugin is compatible with Google Chrome, Safari, and Firefox
169 |
170 | Other browsers do not support HTML5 notifications right now. You can
171 | check this website for details : http://caniuse.com/#feat=notifications
172 |
173 | [[HTML5NotifierPlugin-Screenshots]]
174 | === Screenshots
175 |
176 | [cols=\\",\\",]
177 | |===
178 | |Safari Notification
179 | |[.confluence-embedded-file-wrapper]#image:https://wiki.jenkins.io/download/attachments/58917110/screenshot-notifications-1.3.png?version=1&modificationDate=1407001198000&api=v2[image]#
180 |
181 | |System Configuration
182 | |[.confluence-embedded-file-wrapper]#image:https://wiki.jenkins.io/download/attachments/58917110/screenshot-configure-1.1.png?version=1&modificationDate=1328215062000&api=v2[image]#
183 |
184 | |Job Configuration
185 | |[.confluence-embedded-file-wrapper]#image:https://wiki.jenkins.io/download/attachments/58917110/screenshot-job-configure-1.1.png?version=1&modificationDate=1328215063000&api=v2[image]#
186 | |===
187 |
188 | +
189 |
190 | '''''
191 |
192 | +
193 |
194 | [[HTML5NotifierPlugin-Changelog]]
195 | === Changelog
196 |
197 | [[HTML5NotifierPlugin-1.5(released2015-03-06)]]
198 | ==== 1.5 (released 2015-03-06)
199 |
200 | * https://issues.jenkins-ci.org/browse/JENKINS-27222[JENKINS-27222] -
201 | Fixes global configuration not saving/loading.
202 |
203 | [[HTML5NotifierPlugin-1.3(released2014-08-01)]]
204 | ==== 1.3 (released 2014-08-01)
205 |
206 | * https://issues.jenkins-ci.org/browse/JENKINS-16236[JENKINS-16236] -
207 | upgrade to use current html5 notification spec. Removes html in the
208 | notifications but now works again.
209 |
210 | [[HTML5NotifierPlugin-1.2(released2012-04-06)]]
211 | ==== 1.2 (released 2012-04-06)
212 |
213 | * updated minimum required core to v1.455 to pick up prototype.js:1.7
214 | * https://issues.jenkins-ci.org/browse/JENKINS-13138[JENKINS-13138] -
215 | Verify action doesn't work with CSRF option
216 | * https://issues.jenkins-ci.org/browse/JENKINS-13322[JENKINS-13322] -
217 | Configure tab freezes when using both the HTML5 notifier plugin and the
218 | Android Emulator Plugin
219 | * https://issues.jenkins-ci.org/browse/JENKINS-12538[JENKINS-12538] -
220 | java.lang.String cannot be cast to net.sf.json.JSONArray
221 | * https://issues.jenkins-ci.org/browse/JENKINS-13038[JENKINS-13038] -
222 | HTML5 notifier plugin breaks Jenkins with CSRF protection
223 |
224 | [[HTML5NotifierPlugin-1.1(released2012-02-02)]]
225 | ==== 1.1 (released 2012-02-02)
226 |
227 | * JENKINS-11618 - prototype.js
228 | * added per-job job property to skip notifications
229 | * added ability to only notify on different build result than previous
230 | * cleaned up the notification area html
231 |
232 | [[HTML5NotifierPlugin-1.0(released2011-10-19)]]
233 | ==== 1.0 (released 2011-10-19)
234 |
235 | * initial implementation
236 | * fully I18N compliant
237 | ",
238 | ],
239 | ]
240 | `;
241 |
242 | exports[`/plugin/:pluginName markdown.zip should return markdown and images in zip 1`] = `""`;
243 |
--------------------------------------------------------------------------------
/__testData/cron_column.json:
--------------------------------------------------------------------------------
1 | {"firstRelease":"2014-06-12T14:17:40.20Z","buildDate":"2014-06-16","categories":["userInterface"],"dependencies":[{"name":"ant","title":"Ant","optional":false,"version":"1.0","implied":true},{"name":"javadoc","title":"Javadoc","optional":false,"version":"1.0","implied":true},{"name":"external-monitor-job","title":"External Monitor Job Type","optional":false,"version":"1.0","implied":true},{"name":"ldap","title":"LDAP","optional":false,"version":"1.0","implied":true},{"name":"pam-auth","title":"PAM Authentication","optional":false,"version":"1.0","implied":true},{"name":"mailer","title":"Mailer","optional":false,"version":"1.2","implied":true},{"name":"matrix-auth","title":"Matrix Authorization Strategy","optional":false,"version":"1.0.2","implied":true},{"name":"windows-slaves","title":"WMI Windows Agents","optional":false,"version":"1.0","implied":true},{"name":"antisamy-markup-formatter","title":"OWASP Markup Formatter","optional":false,"version":"1.0","implied":true},{"name":"matrix-project","title":"Matrix Project","optional":false,"version":"1.0","implied":true},{"name":"junit","title":"JUnit","optional":false,"version":"1.0","implied":true},{"name":"bouncycastle-api","title":"bouncycastle API","optional":false,"version":"2.16.0","implied":true},{"name":"command-launcher","title":"Command Agent Launcher","optional":false,"version":"1.0","implied":true},{"name":"jdk-tool","title":"Oracle Java SE Development Kit Installer","optional":false,"version":"1.0","implied":true},{"name":"jaxb","title":"JAXB","optional":false,"version":"2.3.0","implied":true},{"name":"trilead-api","title":"Trilead API","optional":false,"version":"1.0.4","implied":true}],"maintainers":[{"id":"eelco_de_vlieger","name":"Eelco de Vlieger","email":"eelcodevlieger@hotmail.com"}],"excerpt":"Column showing the cron trigger expressions that can be configured on a job (Subversion, Scheduled Builds etc).","gav":"org.jenkins-ci.plugins:cron_column:1.4","labels":["listview-column"],"name":"cron_column","previousTimestamp":"2014-06-12T14:17:40.00Z","previousVersion":"1.1","releaseTimestamp":"2014-06-16T13:49:40.00Z","requiredCore":"1.424","scm":{"issues":null,"link":"https://github.com/jenkinsci/cron_column-plugin","inLatestRelease":null,"sinceLatestRelease":null,"pullRequests":null},"sha1":"EvJHANv5RiQIWz1iRIBs2BlWyUs=","stats":{"installations":[{"timestamp":1267401600000,"total":3},{"timestamp":1270080000000,"total":59},{"timestamp":1272672000000,"total":133},{"timestamp":1275350400000,"total":183},{"timestamp":1277942400000,"total":245},{"timestamp":1280620800000,"total":197},{"timestamp":1283299200000,"total":288},{"timestamp":1285891200000,"total":359},{"timestamp":1288569600000,"total":403},{"timestamp":1291161600000,"total":437},{"timestamp":1293840000000,"total":515},{"timestamp":1296518400000,"total":540},{"timestamp":1298937600000,"total":578},{"timestamp":1301616000000,"total":560},{"timestamp":1304208000000,"total":604},{"timestamp":1306886400000,"total":623},{"timestamp":1309478400000,"total":643},{"timestamp":1312156800000,"total":705},{"timestamp":1314835200000,"total":761},{"timestamp":1317427200000,"total":819},{"timestamp":1320105600000,"total":834},{"timestamp":1322697600000,"total":816},{"timestamp":1325376000000,"total":871},{"timestamp":1328054400000,"total":947},{"timestamp":1330560000000,"total":1041},{"timestamp":1333238400000,"total":1054},{"timestamp":1335830400000,"total":1103},{"timestamp":1338508800000,"total":1094},{"timestamp":1341100800000,"total":1153},{"timestamp":1343779200000,"total":1179},{"timestamp":1346457600000,"total":1249},{"timestamp":1349049600000,"total":1331},{"timestamp":1351728000000,"total":1316},{"timestamp":1354320000000,"total":1316},{"timestamp":1356998400000,"total":1418},{"timestamp":1359676800000,"total":1457},{"timestamp":1362096000000,"total":1564},{"timestamp":1364774400000,"total":1631},{"timestamp":1367366400000,"total":1620},{"timestamp":1370044800000,"total":1632},{"timestamp":1372636800000,"total":1700},{"timestamp":1375315200000,"total":1736},{"timestamp":1377993600000,"total":1752},{"timestamp":1380585600000,"total":1786},{"timestamp":1383264000000,"total":1787},{"timestamp":1385856000000,"total":1754},{"timestamp":1388534400000,"total":1825},{"timestamp":1391212800000,"total":1879},{"timestamp":1393632000000,"total":1954},{"timestamp":1396310400000,"total":1930},{"timestamp":1398902400000,"total":2004},{"timestamp":1401580800000,"total":2044},{"timestamp":1404172800000,"total":2140},{"timestamp":1406851200000,"total":2132},{"timestamp":1409529600000,"total":2202},{"timestamp":1412121600000,"total":2287},{"timestamp":1414800000000,"total":2298},{"timestamp":1417392000000,"total":2293},{"timestamp":1420070400000,"total":2377},{"timestamp":1422748800000,"total":2416},{"timestamp":1425168000000,"total":2559},{"timestamp":1427846400000,"total":2503},{"timestamp":1430438400000,"total":2491},{"timestamp":1433116800000,"total":2542},{"timestamp":1435708800000,"total":2603},{"timestamp":1438387200000,"total":2561},{"timestamp":1441065600000,"total":2667},{"timestamp":1443657600000,"total":2695},{"timestamp":1446336000000,"total":2714},{"timestamp":1448928000000,"total":2697},{"timestamp":1451606400000,"total":2738},{"timestamp":1454284800000,"total":2539},{"timestamp":1456790400000,"total":2474},{"timestamp":1459468800000,"total":2591},{"timestamp":1462060800000,"total":2639},{"timestamp":1464739200000,"total":2711},{"timestamp":1467331200000,"total":2688},{"timestamp":1470009600000,"total":2655},{"timestamp":1472688000000,"total":2759},{"timestamp":1475280000000,"total":2713},{"timestamp":1477958400000,"total":2749},{"timestamp":1480550400000,"total":2678},{"timestamp":1483228800000,"total":2770},{"timestamp":1485907200000,"total":2751},{"timestamp":1488326400000,"total":2843},{"timestamp":1491004800000,"total":2763},{"timestamp":1493596800000,"total":2784},{"timestamp":1496275200000,"total":2833},{"timestamp":1498867200000,"total":2793},{"timestamp":1501545600000,"total":2810},{"timestamp":1504224000000,"total":2826},{"timestamp":1506816000000,"total":2802},{"timestamp":1509494400000,"total":2851},{"timestamp":1512086400000,"total":2725},{"timestamp":1514764800000,"total":2758},{"timestamp":1517443200000,"total":2729},{"timestamp":1519862400000,"total":2713},{"timestamp":1522540800000,"total":2709},{"timestamp":1525132800000,"total":2650},{"timestamp":1527811200000,"total":2652},{"timestamp":1530403200000,"total":2643},{"timestamp":1533081600000,"total":2668},{"timestamp":1535760000000,"total":2648},{"timestamp":1538352000000,"total":2823},{"timestamp":1541030400000,"total":2811},{"timestamp":1543640400000,"total":2732},{"timestamp":1546318800000,"total":2825},{"timestamp":1548997200000,"total":2817},{"timestamp":1551416400000,"total":2931},{"timestamp":1554091200000,"total":2985},{"timestamp":1556683200000,"total":2952},{"timestamp":1559361600000,"total":2918},{"timestamp":1561953600000,"total":2966},{"timestamp":1564632000000,"total":2929},{"timestamp":1567310400000,"total":2886}],"installationsPercentage":[{"timestamp":1267401600000,"percentage":0.015202189115232594},{"timestamp":1270080000000,"percentage":0.28962741151637134},{"timestamp":1272672000000,"percentage":0.6350570596380652},{"timestamp":1275350400000,"percentage":0.8378353630619907},{"timestamp":1277942400000,"percentage":1.0736196319018405},{"timestamp":1280620800000,"percentage":2.2798287235273693},{"timestamp":1283299200000,"percentage":2.254756126203711},{"timestamp":1285891200000,"percentage":2.2424886001624085},{"timestamp":1288569600000,"percentage":2.1887899196176406},{"timestamp":1291161600000,"percentage":2.1973049074818984},{"timestamp":1293840000000,"percentage":2.300236723390951},{"timestamp":1296518400000,"percentage":2.4205477609933213},{"timestamp":1298937600000,"percentage":2.503898804366661},{"timestamp":1301616000000,"percentage":2.4714241581711462},{"timestamp":1304208000000,"percentage":2.5205525184659683},{"timestamp":1306886400000,"percentage":2.4909040022390148},{"timestamp":1309478400000,"percentage":2.5512835773519025},{"timestamp":1312156800000,"percentage":2.5996533795493932},{"timestamp":1314835200000,"percentage":2.6453003337041157},{"timestamp":1317427200000,"percentage":2.6990508832059055},{"timestamp":1320105600000,"percentage":2.593283582089552},{"timestamp":1322697600000,"percentage":2.5734830326731424},{"timestamp":1325376000000,"percentage":2.4831085896741456},{"timestamp":1328054400000,"percentage":2.529515465569742},{"timestamp":1330560000000,"percentage":2.598407508174625},{"timestamp":1333238400000,"percentage":2.593631576357104},{"timestamp":1335830400000,"percentage":2.571575118903292},{"timestamp":1338508800000,"percentage":2.5138445276775663},{"timestamp":1341100800000,"percentage":2.5503771372956714},{"timestamp":1343779200000,"percentage":2.5079236774371956},{"timestamp":1346457600000,"percentage":2.5932231542230713},{"timestamp":1349049600000,"percentage":2.544446568533741},{"timestamp":1351728000000,"percentage":2.464742569250651},{"timestamp":1354320000000,"percentage":2.5572763840578303},{"timestamp":1356998400000,"percentage":2.4923542025521144},{"timestamp":1359676800000,"percentage":2.5412495203544143},{"timestamp":1362096000000,"percentage":2.5330806731127415},{"timestamp":1364774400000,"percentage":2.5415277215071526},{"timestamp":1367366400000,"percentage":2.4810475534114405},{"timestamp":1370044800000,"percentage":2.4832245401013373},{"timestamp":1372636800000,"percentage":2.463553893864302},{"timestamp":1375315200000,"percentage":2.540648919199754},{"timestamp":1377993600000,"percentage":2.5050401063784156},{"timestamp":1380585600000,"percentage":2.407235183912229},{"timestamp":1383264000000,"percentage":2.417641885950078},{"timestamp":1385856000000,"percentage":2.4326985756092148},{"timestamp":1388534400000,"percentage":2.3683459212541202},{"timestamp":1391212800000,"percentage":2.390007504547247},{"timestamp":1393632000000,"percentage":2.3613293051359516},{"timestamp":1396310400000,"percentage":2.3096622866853354},{"timestamp":1398902400000,"percentage":2.3533556455874582},{"timestamp":1401580800000,"percentage":2.3727160866436052},{"timestamp":1404172800000,"percentage":2.340050956249795},{"timestamp":1406851200000,"percentage":2.3340084295801633},{"timestamp":1409529600000,"percentage":2.2954955330615987},{"timestamp":1412121600000,"percentage":2.3101243446903506},{"timestamp":1414800000000,"percentage":2.3268058565035137},{"timestamp":1417392000000,"percentage":2.3239786352073133},{"timestamp":1420070400000,"percentage":2.3079462482522914},{"timestamp":1422748800000,"percentage":2.3258276615612696},{"timestamp":1425168000000,"percentage":2.2750104460229545},{"timestamp":1427846400000,"percentage":2.2399012045173876},{"timestamp":1430438400000,"percentage":2.230160435467698},{"timestamp":1433116800000,"percentage":2.1621897487368797},{"timestamp":1435708800000,"percentage":2.1519154775880027},{"timestamp":1438387200000,"percentage":2.1356972496956153},{"timestamp":1441065600000,"percentage":2.1589023353705428},{"timestamp":1443657600000,"percentage":2.1379386939138163},{"timestamp":1446336000000,"percentage":2.1368564432441794},{"timestamp":1448928000000,"percentage":2.1250443210022456},{"timestamp":1451606400000,"percentage":2.1584548679542768},{"timestamp":1454284800000,"percentage":2.355571636653771},{"timestamp":1456790400000,"percentage":2.258741897197115},{"timestamp":1459468800000,"percentage":2.0998289988734995},{"timestamp":1462060800000,"percentage":2.025637089346024},{"timestamp":1464739200000,"percentage":2.015478518166071},{"timestamp":1467331200000,"percentage":2.064373430408036},{"timestamp":1470009600000,"percentage":2.0081688223281144},{"timestamp":1472688000000,"percentage":2.0665892663196135},{"timestamp":1475280000000,"percentage":2.0437065439287676},{"timestamp":1477958400000,"percentage":2.013639127154462},{"timestamp":1480550400000,"percentage":2.0024525931686306},{"timestamp":1483228800000,"percentage":1.9647758949660596},{"timestamp":1485907200000,"percentage":1.9717320565932255},{"timestamp":1488326400000,"percentage":1.8939444407434547},{"timestamp":1491004800000,"percentage":1.9170060569898217},{"timestamp":1493596800000,"percentage":1.8454807596698817},{"timestamp":1496275200000,"percentage":1.8780992283418632},{"timestamp":1498867200000,"percentage":1.8574924849033014},{"timestamp":1501545600000,"percentage":1.8202311240089133},{"timestamp":1504224000000,"percentage":1.8246384297520661},{"timestamp":1506816000000,"percentage":1.8015701049951456},{"timestamp":1509494400000,"percentage":1.7689067027355698},{"timestamp":1512086400000,"percentage":1.784989060800985},{"timestamp":1514764800000,"percentage":1.7292294959653403},{"timestamp":1517443200000,"percentage":1.778881566510876},{"timestamp":1519862400000,"percentage":1.6511371728003603},{"timestamp":1522540800000,"percentage":1.6558679706601467},{"timestamp":1525132800000,"percentage":1.5971456295465916},{"timestamp":1527811200000,"percentage":1.5671350738066254},{"timestamp":1530403200000,"percentage":1.4781879194630871},{"timestamp":1533081600000,"percentage":1.4560457552009431},{"timestamp":1535760000000,"percentage":1.3747060319899493},{"timestamp":1538352000000,"percentage":1.3104024509121293},{"timestamp":1541030400000,"percentage":1.258551524051721},{"timestamp":1543640400000,"percentage":1.2463617368771613},{"timestamp":1546318800000,"percentage":1.2136078736301268},{"timestamp":1548997200000,"percentage":1.231071779744346},{"timestamp":1551416400000,"percentage":1.163266035092454},{"timestamp":1554091200000,"percentage":1.17945496141582},{"timestamp":1556683200000,"percentage":1.145504708909093},{"timestamp":1559361600000,"percentage":1.1593074349826382},{"timestamp":1561953600000,"percentage":1.1152220668080435},{"timestamp":1564632000000,"percentage":1.1165028188932555},{"timestamp":1567310400000,"percentage":1.0856235752601209}],"installationsPerVersion":[{"version":"1.003","total":189},{"version":"1.1","total":1},{"version":"1.4","total":2690},{"version":"1.5-SNAPSHOT (private)","total":6}],"installationsPercentagePerVersion":[{"version":"1.003","percentage":0.07109593060435303},{"version":"1.1","percentage":3.761689449965769E-4},{"version":"1.4","percentage":1.0118944620407917},{"version":"1.5-SNAPSHOT (private)","percentage":0.0022570136699794612}],"currentInstalls":2886,"trend":-43},"title":"Cron Column","url":"http://updates.jenkins-ci.org/download/plugins/cron_column/1.4/cron_column.hpi","version":"1.4","securityWarnings":null,"wiki":{"content":"Cron Column \nView column showing the cron trigger expressions that can be configured on a job (Subversion, Scheduled Builds, etc.) This is a ListViewColumn plugin that adds a column to a jobs overview page. The column displays the cron-like expression of each Trigger that can be configured on a job (Subversion, Scheduled Builds etc).
\nPlugin Source: https://hudson.dev.java.net/svn/hudson/trunk/hudson/plugins/cron_column
\n
\nHow to Use \nOnce you have installed this plugin, you still have to update a view to add this column. The pages Changing the Columns of a View and Editing or Replacing the All View will show you how.
\nChangelog \nVersion 1.4 (Jun 16 2014) \nSame as 1.1, just released to make sure it is considered newer than 1.003 (a nonstandard version string).
\nVersion 1.1 (Jun 12 2014) \n \nVersion 1.003 (6 Jul, 2010) \n \n Plugin now works with other project types (previously only worked with Freestyle Projects) \n ","url":"https://wiki.jenkins-ci.org/display/JENKINS/Cron+Column+Plugin"}}
--------------------------------------------------------------------------------
/__testData/html5-notifier-plugin.json:
--------------------------------------------------------------------------------
1 | {"firstRelease":"2011-10-20T03:57:55.00Z","buildDate":"2015-03-06","categories":["buildManagement","adminTools"],"dependencies":[{"name":"external-monitor-job","title":"External Monitor Job Type","optional":false,"version":"1.0","implied":true},{"name":"ldap","title":"LDAP","optional":false,"version":"1.0","implied":true},{"name":"pam-auth","title":"PAM Authentication","optional":false,"version":"1.0","implied":true},{"name":"mailer","title":"Mailer","optional":false,"version":"1.2","implied":true},{"name":"matrix-auth","title":"Matrix Authorization Strategy","optional":false,"version":"1.0.2","implied":true},{"name":"windows-slaves","title":"WMI Windows Agents","optional":false,"version":"1.0","implied":true},{"name":"antisamy-markup-formatter","title":"OWASP Markup Formatter","optional":false,"version":"1.0","implied":true},{"name":"matrix-project","title":"Matrix Project","optional":false,"version":"1.0","implied":true},{"name":"junit","title":"JUnit","optional":false,"version":"1.0","implied":true},{"name":"bouncycastle-api","title":"bouncycastle API","optional":false,"version":"2.16.0","implied":true},{"name":"command-launcher","title":"Command Agent Launcher","optional":false,"version":"1.0","implied":true},{"name":"jdk-tool","title":"Oracle Java SE Development Kit Installer","optional":false,"version":"1.0","implied":true},{"name":"jaxb","title":"JAXB","optional":false,"version":"2.3.0","implied":true},{"name":"trilead-api","title":"Trilead API","optional":false,"version":"1.0.4","implied":true}],"maintainers":[{"id":"jieryn","name":"Jesse Farinacci","email":"jieryn@gmail.com"},{"id":"halkeye","name":"Gavin Mogan","email":"halkeye@gmail.com"}],"excerpt":"The HTML5 Notifier Plugin provides W3C Web Notifications support for builds.","gav":"org.jenkins-ci.plugins:html5-notifier-plugin:1.5","labels":["notifier","page-decorator"],"name":"html5-notifier-plugin","previousTimestamp":"2014-08-02T05:39:42.00Z","previousVersion":"1.3","releaseTimestamp":"2015-03-06T07:49:55.00Z","requiredCore":"1.455","scm":{"issues":null,"link":"https://github.com/jenkinsci/html5-notifier-plugin","inLatestRelease":null,"sinceLatestRelease":null,"pullRequests":null},"sha1":"Ip/RVzN3uevTRt1MX/dBH/iW8A0=","stats":{"installations":[{"timestamp":1325376000000,"total":163},{"timestamp":1328054400000,"total":183},{"timestamp":1330560000000,"total":237},{"timestamp":1333238400000,"total":290},{"timestamp":1335830400000,"total":352},{"timestamp":1338508800000,"total":385},{"timestamp":1341100800000,"total":454},{"timestamp":1343779200000,"total":494},{"timestamp":1346457600000,"total":518},{"timestamp":1349049600000,"total":552},{"timestamp":1351728000000,"total":587},{"timestamp":1354320000000,"total":593},{"timestamp":1356998400000,"total":653},{"timestamp":1359676800000,"total":697},{"timestamp":1362096000000,"total":767},{"timestamp":1364774400000,"total":812},{"timestamp":1367366400000,"total":855},{"timestamp":1370044800000,"total":863},{"timestamp":1372636800000,"total":950},{"timestamp":1375315200000,"total":905},{"timestamp":1377993600000,"total":900},{"timestamp":1380585600000,"total":960},{"timestamp":1383264000000,"total":916},{"timestamp":1385856000000,"total":875},{"timestamp":1388534400000,"total":950},{"timestamp":1391212800000,"total":970},{"timestamp":1393632000000,"total":983},{"timestamp":1396310400000,"total":1011},{"timestamp":1398902400000,"total":998},{"timestamp":1401580800000,"total":1023},{"timestamp":1404172800000,"total":1048},{"timestamp":1406851200000,"total":1095},{"timestamp":1409529600000,"total":1132},{"timestamp":1412121600000,"total":1128},{"timestamp":1414800000000,"total":1103},{"timestamp":1417392000000,"total":1131},{"timestamp":1420070400000,"total":1190},{"timestamp":1422748800000,"total":1179},{"timestamp":1425168000000,"total":1260},{"timestamp":1427846400000,"total":1240},{"timestamp":1430438400000,"total":1240},{"timestamp":1433116800000,"total":1290},{"timestamp":1435708800000,"total":1295},{"timestamp":1438387200000,"total":1292},{"timestamp":1441065600000,"total":1305},{"timestamp":1443657600000,"total":1331},{"timestamp":1446336000000,"total":1353},{"timestamp":1448928000000,"total":1339},{"timestamp":1451606400000,"total":1374},{"timestamp":1454284800000,"total":1173},{"timestamp":1456790400000,"total":1160},{"timestamp":1459468800000,"total":1254},{"timestamp":1462060800000,"total":1307},{"timestamp":1464739200000,"total":1330},{"timestamp":1467331200000,"total":1362},{"timestamp":1470009600000,"total":1404},{"timestamp":1472688000000,"total":1398},{"timestamp":1475280000000,"total":1391},{"timestamp":1477958400000,"total":1447},{"timestamp":1480550400000,"total":1404},{"timestamp":1483228800000,"total":1475},{"timestamp":1485907200000,"total":1461},{"timestamp":1488326400000,"total":1542},{"timestamp":1491004800000,"total":1470},{"timestamp":1493596800000,"total":1503},{"timestamp":1496275200000,"total":1498},{"timestamp":1498867200000,"total":1476},{"timestamp":1501545600000,"total":1463},{"timestamp":1504224000000,"total":1468},{"timestamp":1506816000000,"total":1424},{"timestamp":1509494400000,"total":1484},{"timestamp":1512086400000,"total":1437},{"timestamp":1514764800000,"total":1498},{"timestamp":1517443200000,"total":1445},{"timestamp":1519862400000,"total":1505},{"timestamp":1522540800000,"total":1486},{"timestamp":1525132800000,"total":1532},{"timestamp":1527811200000,"total":1521},{"timestamp":1530403200000,"total":1550},{"timestamp":1533081600000,"total":1574},{"timestamp":1535760000000,"total":1545},{"timestamp":1538352000000,"total":1672},{"timestamp":1541030400000,"total":1674},{"timestamp":1543640400000,"total":1614},{"timestamp":1546318800000,"total":1644},{"timestamp":1548997200000,"total":1650},{"timestamp":1551416400000,"total":1681},{"timestamp":1554091200000,"total":1680},{"timestamp":1556683200000,"total":1685},{"timestamp":1559361600000,"total":1652},{"timestamp":1561953600000,"total":1691},{"timestamp":1564632000000,"total":1637},{"timestamp":1567310400000,"total":1661}],"installationsPercentage":[{"timestamp":1325376000000,"percentage":0.4646919633948171},{"timestamp":1328054400000,"percentage":0.48880816282921097},{"timestamp":1330560000000,"percentage":0.5915682799590645},{"timestamp":1333238400000,"percentage":0.7136177961513854},{"timestamp":1335830400000,"percentage":0.8206658584351394},{"timestamp":1338508800000,"percentage":0.8846710632137686},{"timestamp":1341100800000,"percentage":1.004224822491097},{"timestamp":1343779200000,"percentage":1.0508178936844568},{"timestamp":1346457600000,"percentage":1.0754920687650527},{"timestamp":1349049600000,"percentage":1.055247562607532},{"timestamp":1351728000000,"percentage":1.0993950517858146},{"timestamp":1354320000000,"percentage":1.1523289481354813},{"timestamp":1356998400000,"percentage":1.1477484444756916},{"timestamp":1359676800000,"percentage":1.215683538563505},{"timestamp":1362096000000,"percentage":1.2422460845763892},{"timestamp":1364774400000,"percentage":1.2653099386044193},{"timestamp":1367366400000,"percentage":1.3094417643004825},{"timestamp":1370044800000,"percentage":1.3131267022717243},{"timestamp":1372636800000,"percentage":1.376691881865345},{"timestamp":1375315200000,"percentage":1.3244742349514846},{"timestamp":1377993600000,"percentage":1.2868356710848026},{"timestamp":1380585600000,"percentage":1.2939226072540537},{"timestamp":1383264000000,"percentage":1.2392613136711088},{"timestamp":1385856000000,"percentage":1.213575401173354},{"timestamp":1388534400000,"percentage":1.2328376028446106},{"timestamp":1391212800000,"percentage":1.23379844566835},{"timestamp":1393632000000,"percentage":1.187915407854985},{"timestamp":1396310400000,"percentage":1.209880089035686},{"timestamp":1398902400000,"percentage":1.17198050613587},{"timestamp":1401580800000,"percentage":1.1875188633250529},{"timestamp":1404172800000,"percentage":1.1459688795092453},{"timestamp":1406851200000,"percentage":1.1987519842355903},{"timestamp":1409529600000,"percentage":1.180064007005327},{"timestamp":1412121600000,"percentage":1.1394054485398843},{"timestamp":1414800000000,"percentage":1.1168263097142626},{"timestamp":1417392000000,"percentage":1.146279911216516},{"timestamp":1420070400000,"percentage":1.1554295479260526},{"timestamp":1422748800000,"percentage":1.1349961974258016},{"timestamp":1425168000000,"percentage":1.1201692700230257},{"timestamp":1427846400000,"percentage":1.1096594061532403},{"timestamp":1430438400000,"percentage":1.110156138089099},{"timestamp":1433116800000,"percentage":1.09725600939047},{"timestamp":1435708800000,"percentage":1.0705841503943387},{"timestamp":1438387200000,"percentage":1.077438831162333},{"timestamp":1441065600000,"percentage":1.0563807827741125},{"timestamp":1443657600000,"percentage":1.0558799263819254},{"timestamp":1446336000000,"percentage":1.0652788385075074},{"timestamp":1448928000000,"percentage":1.0550368356774218},{"timestamp":1451606400000,"percentage":1.0831690973590855},{"timestamp":1454284800000,"percentage":1.0882573965320492},{"timestamp":1456790400000,"percentage":1.0590705742718889},{"timestamp":1459468800000,"percentage":1.0162815764520914},{"timestamp":1462060800000,"percentage":1.0032238256063863},{"timestamp":1464739200000,"percentage":0.9887814198306433},{"timestamp":1467331200000,"percentage":1.0460106444255006},{"timestamp":1470009600000,"percentage":1.0619469026548674},{"timestamp":1472688000000,"percentage":1.047151792067713},{"timestamp":1475280000000,"percentage":1.047842168302586},{"timestamp":1477958400000,"percentage":1.0599257246244111},{"timestamp":1480550400000,"percentage":1.0498295148651073},{"timestamp":1483228800000,"percentage":1.0462254314349957},{"timestamp":1485907200000,"percentage":1.0471466865440575},{"timestamp":1488326400000,"percentage":1.0272466857637732},{"timestamp":1491004800000,"percentage":1.0199055026330213},{"timestamp":1493596800000,"percentage":0.9963209704683306},{"timestamp":1496275200000,"percentage":0.9930789424836255},{"timestamp":1498867200000,"percentage":0.9816179404644729},{"timestamp":1501545600000,"percentage":0.9476861688345338},{"timestamp":1504224000000,"percentage":0.9478305785123967},{"timestamp":1506816000000,"percentage":0.915573101182401},{"timestamp":1509494400000,"percentage":0.9207497533706018},{"timestamp":1512086400000,"percentage":0.9412951487600058},{"timestamp":1514764800000,"percentage":0.9392261729354894},{"timestamp":1517443200000,"percentage":0.9419142043269387},{"timestamp":1519862400000,"percentage":0.9159459804882205},{"timestamp":1522540800000,"percentage":0.9083129584352079},{"timestamp":1525132800000,"percentage":0.9233309828171238},{"timestamp":1527811200000,"percentage":0.8987980570361528},{"timestamp":1530403200000,"percentage":0.8668903803131991},{"timestamp":1533081600000,"percentage":0.8590015062542296},{"timestamp":1535760000000,"percentage":0.8020849015953443},{"timestamp":1538352000000,"percentage":0.7761221742561388},{"timestamp":1541030400000,"percentage":0.7494895948995308},{"timestamp":1543640400000,"percentage":0.7363205868666685},{"timestamp":1546318800000,"percentage":0.7062553430966118},{"timestamp":1548997200000,"percentage":0.7210750573582432},{"timestamp":1551416400000,"percentage":0.6671614483078865},{"timestamp":1554091200000,"percentage":0.6638138476310144},{"timestamp":1556683200000,"percentage":0.6538534669755494},{"timestamp":1559361600000,"percentage":0.6563316938284162},{"timestamp":1561953600000,"percentage":0.6358194588578562},{"timestamp":1564632000000,"percentage":0.6240065259570705},{"timestamp":1567310400000,"percentage":0.6248166176393142}],"installationsPerVersion":[{"version":"1.2","total":30},{"version":"1.3","total":35},{"version":"1.5","total":1595},{"version":"1.6-SNAPSHOT (private)","total":1}],"installationsPercentagePerVersion":[{"version":"1.2","percentage":0.011285068349897306},{"version":"1.3","percentage":0.01316591307488019},{"version":"1.5","percentage":0.59998946726954},{"version":"1.6-SNAPSHOT (private)","percentage":3.761689449965769E-4}],"currentInstalls":1661,"trend":24},"title":"HTML5 Notifier","url":"http://updates.jenkins-ci.org/download/plugins/html5-notifier-plugin/1.5/html5-notifier-plugin.hpi","version":"1.5","securityWarnings":null,"wiki":{"content":"HTML5 Notifier Plugin \n
\nProvides W3C Web Notifications support for builds.
\nBrowser compatibility \nThis plugin is compatible with Google Chrome, Safari, and Firefox
\nOther browsers do not support HTML5 notifications right now. You can check this website for details : http://caniuse.com/#feat=notifications
\nScreenshots \n\n
\n \n \n Safari Notification
\n
\n \n \n System Configuration
\n
\n \n \n Job Configuration
\n
\n \n \n
\n
\n
\n \n
\nChangelog \n1.5 (released 2015-03-06) \n \n JENKINS-27222 - Fixes global configuration not saving/loading. \n \n1.3 (released 2014-08-01) \n \n JENKINS-16236 - upgrade to use current html5 notification spec. Removes html in the notifications but now works again. \n \n1.2 (released 2012-04-06) \n \n updated minimum required core to v1.455 to pick up prototype.js:1.7 \n JENKINS-13138 - Verify action doesn't work with CSRF option \n JENKINS-13322 - Configure tab freezes when using both the HTML5 notifier plugin and the Android Emulator Plugin \n JENKINS-12538 - java.lang.String cannot be cast to net.sf.json.JSONArray \n JENKINS-13038 - HTML5 notifier plugin breaks Jenkins with CSRF protection \n \n1.1 (released 2012-02-02) \n \n JENKINS-11618 - prototype.js \n added per-job job property to skip notifications \n added ability to only notify on different build result than previous \n cleaned up the notification area html \n \n1.0 (released 2011-10-19) \n \n initial implementation \n fully I18N compliant \n ","url":"https://wiki.jenkins-ci.org/display/JENKINS/HTML5+Notifier+Plugin"}}
--------------------------------------------------------------------------------
/__testData/github.json:
--------------------------------------------------------------------------------
1 | {"firstRelease":"2011-02-14T23:44:41.00Z","buildDate":"2019-10-07","categories":[],"dependencies":[{"name":"credentials","title":"Credentials","optional":false,"version":"2.1.13","implied":false},{"name":"display-url-api","title":"Display URL API","optional":false,"version":"2.0","implied":false},{"name":"git","title":"Git","optional":false,"version":"3.4.0","implied":false},{"name":"github-api","title":"GitHub API","optional":false,"version":"1.90","implied":false},{"name":"plain-credentials","title":"Plain Credentials","optional":false,"version":"1.1","implied":false},{"name":"scm-api","title":"SCM API","optional":false,"version":"2.2.0","implied":false},{"name":"structs","title":"Structs","optional":false,"version":"1.17","implied":false},{"name":"token-macro","title":"Token Macro","optional":false,"version":"1.12.1","implied":false},{"name":"command-launcher","title":"Command Agent Launcher","optional":false,"version":"1.0","implied":true},{"name":"jdk-tool","title":"Oracle Java SE Development Kit Installer","optional":false,"version":"1.0","implied":true},{"name":"jaxb","title":"JAXB","optional":false,"version":"2.3.0","implied":true},{"name":"trilead-api","title":"Trilead API","optional":false,"version":"1.0.4","implied":true}],"maintainers":[{"id":"lanwen","name":"Merkushev Kirill","email":null},{"id":"KostyaSha","name":"Kanstantsin Shautsou","email":null}],"excerpt":"This plugin integrates GitHub to Jenkins.","gav":"com.coravy.hudson.plugins.github:github:1.29.5","labels":["external"],"name":"github","previousTimestamp":"2019-02-17T16:01:28.00Z","previousVersion":"1.29.4","releaseTimestamp":"2019-10-07T20:59:25.00Z","requiredCore":"2.60.3","scm":{"issues":null,"link":"https://github.com/jenkinsci/github-plugin","inLatestRelease":null,"sinceLatestRelease":null,"pullRequests":null},"sha1":"XY+jexPOjHaxoI4CO9cDXhU6Uas=","stats":{"installations":[{"timestamp":1241136000000,"total":1},{"timestamp":1243814400000,"total":36},{"timestamp":1246406400000,"total":67},{"timestamp":1249084800000,"total":99},{"timestamp":1251763200000,"total":107},{"timestamp":1254355200000,"total":135},{"timestamp":1257033600000,"total":167},{"timestamp":1259625600000,"total":170},{"timestamp":1262304000000,"total":201},{"timestamp":1264982400000,"total":242},{"timestamp":1267401600000,"total":309},{"timestamp":1270080000000,"total":351},{"timestamp":1272672000000,"total":361},{"timestamp":1275350400000,"total":391},{"timestamp":1277942400000,"total":471},{"timestamp":1280620800000,"total":269},{"timestamp":1283299200000,"total":428},{"timestamp":1285891200000,"total":558},{"timestamp":1288569600000,"total":676},{"timestamp":1291161600000,"total":708},{"timestamp":1293840000000,"total":868},{"timestamp":1296518400000,"total":984},{"timestamp":1298937600000,"total":1103},{"timestamp":1301616000000,"total":1204},{"timestamp":1304208000000,"total":1280},{"timestamp":1306886400000,"total":1481},{"timestamp":1309478400000,"total":1623},{"timestamp":1312156800000,"total":1807},{"timestamp":1314835200000,"total":2041},{"timestamp":1317427200000,"total":2261},{"timestamp":1320105600000,"total":2471},{"timestamp":1322697600000,"total":2599},{"timestamp":1325376000000,"total":2964},{"timestamp":1328054400000,"total":3266},{"timestamp":1330560000000,"total":3598},{"timestamp":1333238400000,"total":3704},{"timestamp":1335830400000,"total":4014},{"timestamp":1338508800000,"total":4027},{"timestamp":1341100800000,"total":4489},{"timestamp":1343779200000,"total":4731},{"timestamp":1346457600000,"total":4946},{"timestamp":1349049600000,"total":5588},{"timestamp":1351728000000,"total":5636},{"timestamp":1354320000000,"total":5618},{"timestamp":1356998400000,"total":6386},{"timestamp":1359676800000,"total":6392},{"timestamp":1362096000000,"total":7004},{"timestamp":1364774400000,"total":7397},{"timestamp":1367366400000,"total":7718},{"timestamp":1370044800000,"total":7860},{"timestamp":1372636800000,"total":8341},{"timestamp":1375315200000,"total":8706},{"timestamp":1377993600000,"total":8852},{"timestamp":1380585600000,"total":9448},{"timestamp":1383264000000,"total":9415},{"timestamp":1385856000000,"total":9402},{"timestamp":1388534400000,"total":10096},{"timestamp":1391212800000,"total":10583},{"timestamp":1393632000000,"total":11107},{"timestamp":1396310400000,"total":11376},{"timestamp":1398902400000,"total":11763},{"timestamp":1401580800000,"total":12065},{"timestamp":1404172800000,"total":12710},{"timestamp":1406851200000,"total":12961},{"timestamp":1409529600000,"total":13601},{"timestamp":1412121600000,"total":14151},{"timestamp":1414800000000,"total":14394},{"timestamp":1417392000000,"total":14389},{"timestamp":1420070400000,"total":15101},{"timestamp":1422748800000,"total":15511},{"timestamp":1425168000000,"total":16876},{"timestamp":1427846400000,"total":17011},{"timestamp":1430438400000,"total":17174},{"timestamp":1433116800000,"total":17713},{"timestamp":1435708800000,"total":18672},{"timestamp":1438387200000,"total":18624},{"timestamp":1441065600000,"total":19249},{"timestamp":1443657600000,"total":19815},{"timestamp":1446336000000,"total":19973},{"timestamp":1448928000000,"total":20194},{"timestamp":1451606400000,"total":20228},{"timestamp":1454284800000,"total":16992},{"timestamp":1456790400000,"total":17353},{"timestamp":1459468800000,"total":25008},{"timestamp":1462060800000,"total":36196},{"timestamp":1464739200000,"total":39234},{"timestamp":1467331200000,"total":42499},{"timestamp":1470009600000,"total":48516},{"timestamp":1472688000000,"total":52376},{"timestamp":1475280000000,"total":55332},{"timestamp":1477958400000,"total":59769},{"timestamp":1480550400000,"total":61562},{"timestamp":1483228800000,"total":69711},{"timestamp":1485907200000,"total":70597},{"timestamp":1488326400000,"total":78789},{"timestamp":1491004800000,"total":78840},{"timestamp":1493596800000,"total":85591},{"timestamp":1496275200000,"total":87191},{"timestamp":1498867200000,"total":89103},{"timestamp":1501545600000,"total":93224},{"timestamp":1504224000000,"total":94456},{"timestamp":1506816000000,"total":96175},{"timestamp":1509494400000,"total":101574},{"timestamp":1512086400000,"total":96827},{"timestamp":1514764800000,"total":101926},{"timestamp":1517443200000,"total":98955},{"timestamp":1519862400000,"total":108394},{"timestamp":1522540800000,"total":109385},{"timestamp":1525132800000,"total":112120},{"timestamp":1527811200000,"total":116357},{"timestamp":1530403200000,"total":125525},{"timestamp":1533081600000,"total":130518},{"timestamp":1535760000000,"total":140360},{"timestamp":1538352000000,"total":159660},{"timestamp":1541030400000,"total":167745},{"timestamp":1543640400000,"total":166140},{"timestamp":1546318800000,"total":177779},{"timestamp":1548997200000,"total":176001},{"timestamp":1551416400000,"total":196077},{"timestamp":1554091200000,"total":197211},{"timestamp":1556683200000,"total":202302},{"timestamp":1559361600000,"total":197778},{"timestamp":1561953600000,"total":210256},{"timestamp":1564632000000,"total":208339},{"timestamp":1567310400000,"total":211392},{"timestamp":1569902400000,"total":213030}],"installationsPercentage":[{"timestamp":1241136000000,"percentage":0.010495382031905962},{"timestamp":1243814400000,"percentage":0.3320726870214925},{"timestamp":1246406400000,"percentage":0.5724538619275461},{"timestamp":1249084800000,"percentage":0.8327024981074943},{"timestamp":1251763200000,"percentage":0.8396107972379159},{"timestamp":1254355200000,"percentage":1.0252904989747096},{"timestamp":1257033600000,"percentage":1.1102985173858122},{"timestamp":1259625600000,"percentage":1.0957138253303256},{"timestamp":1262304000000,"percentage":1.2184033460629204},{"timestamp":1264982400000,"percentage":1.3659968390155792},{"timestamp":1267401600000,"percentage":1.5658254788689572},{"timestamp":1270080000000,"percentage":1.723037651563497},{"timestamp":1272672000000,"percentage":1.7237263047318914},{"timestamp":1275350400000,"percentage":1.7901291090559472},{"timestamp":1277942400000,"percentage":2.0639789658194565},{"timestamp":1280620800000,"percentage":3.113065617405393},{"timestamp":1283299200000,"percentage":3.3508181319971815},{"timestamp":1285891200000,"percentage":3.485539384096446},{"timestamp":1288569600000,"percentage":3.671518574842494},{"timestamp":1291161600000,"percentage":3.5599356395816573},{"timestamp":1293840000000,"percentage":3.876903836705525},{"timestamp":1296518400000,"percentage":4.410775920032274},{"timestamp":1298937600000,"percentage":4.778201351585514},{"timestamp":1301616000000,"percentage":5.313561940067964},{"timestamp":1304208000000,"percentage":5.341568251053708},{"timestamp":1306886400000,"percentage":5.921394586381992},{"timestamp":1309478400000,"percentage":6.439709558385906},{"timestamp":1312156800000,"percentage":6.6632250451712824},{"timestamp":1314835200000,"percentage":7.094688542825361},{"timestamp":1317427200000,"percentage":7.4512259425257055},{"timestamp":1320105600000,"percentage":7.683457711442786},{"timestamp":1322697600000,"percentage":8.19666961019301},{"timestamp":1325376000000,"percentage":8.449981469338883},{"timestamp":1328054400000,"percentage":8.72375661093007},{"timestamp":1330560000000,"percentage":8.980855153133815},{"timestamp":1333238400000,"percentage":9.11462178256804},{"timestamp":1335830400000,"percentage":9.358388510677981},{"timestamp":1338508800000,"percentage":9.253429536524276},{"timestamp":1341100800000,"percentage":9.929438828551836},{"timestamp":1343779200000,"percentage":10.063602135670376},{"timestamp":1346457600000,"percentage":10.269080641142763},{"timestamp":1349049600000,"percentage":10.68246989103422},{"timestamp":1351728000000,"percentage":10.555690820894124},{"timestamp":1354320000000,"percentage":10.917005110666329},{"timestamp":1356998400000,"percentage":11.22438218441312},{"timestamp":1359676800000,"percentage":11.148707573167753},{"timestamp":1362096000000,"percentage":11.343796057852712},{"timestamp":1364774400000,"percentage":11.526474896375479},{"timestamp":1367366400000,"percentage":11.820200627919442},{"timestamp":1370044800000,"percentage":11.959647601223354},{"timestamp":1372636800000,"percentage":12.087354722777729},{"timestamp":1375315200000,"percentage":12.74129578948909},{"timestamp":1377993600000,"percentage":12.656743733825191},{"timestamp":1380585600000,"percentage":12.734354993058645},{"timestamp":1383264000000,"percentage":12.737604004599879},{"timestamp":1385856000000,"percentage":13.040041053522142},{"timestamp":1388534400000,"percentage":13.10181940875704},{"timestamp":1391212800000,"percentage":13.461122629389843},{"timestamp":1393632000000,"percentage":13.422356495468279},{"timestamp":1396310400000,"percentage":13.613843613125583},{"timestamp":1398902400000,"percentage":13.813633961599436},{"timestamp":1401580800000,"percentage":14.005293339214822},{"timestamp":1404172800000,"percentage":13.898153109315372},{"timestamp":1406851200000,"percentage":14.189063440801357},{"timestamp":1409529600000,"percentage":14.178489893356407},{"timestamp":1412121600000,"percentage":14.294083778624026},{"timestamp":1414800000000,"percentage":14.574431461493287},{"timestamp":1417392000000,"percentage":14.583396677713926},{"timestamp":1420070400000,"percentage":14.662303868261613},{"timestamp":1422748800000,"percentage":14.932083136786776},{"timestamp":1425168000000,"percentage":15.003156032467128},{"timestamp":1427846400000,"percentage":15.2229162565103},{"timestamp":1430438400000,"percentage":15.37566251253402},{"timestamp":1433116800000,"percentage":15.066430770801082},{"timestamp":1435708800000,"percentage":15.436252707461847},{"timestamp":1438387200000,"percentage":15.531130643627934},{"timestamp":1441065600000,"percentage":15.581818917715626},{"timestamp":1443657600000,"percentage":15.71920416322904},{"timestamp":1446336000000,"percentage":15.725657236888724},{"timestamp":1448928000000,"percentage":15.911436788401685},{"timestamp":1451606400000,"percentage":15.946393378005519},{"timestamp":1454284800000,"percentage":15.764424281221297},{"timestamp":1456790400000,"percentage":15.843147995982836},{"timestamp":1459468800000,"percentage":20.267280433743142},{"timestamp":1462060800000,"percentage":27.783236106846793},{"timestamp":1464739200000,"percentage":29.16830844032741},{"timestamp":1467331200000,"percentage":32.63906488798777},{"timestamp":1470009600000,"percentage":36.69616519174041},{"timestamp":1472688000000,"percentage":39.2314894573237},{"timestamp":1475280000000,"percentage":41.68166991841746},{"timestamp":1477958400000,"percentage":43.780719167295395},{"timestamp":1480550400000,"percentage":46.032481904647966},{"timestamp":1483228800000,"percentage":49.44638715306101},{"timestamp":1485907200000,"percentage":50.59918865841946},{"timestamp":1488326400000,"percentage":52.48750915994937},{"timestamp":1491004800000,"percentage":54.700237977950614},{"timestamp":1493596800000,"percentage":56.73726426038249},{"timestamp":1496275200000,"percentage":57.802100182970484},{"timestamp":1498867200000,"percentage":59.25820010108803},{"timestamp":1501545600000,"percentage":60.387625019433074},{"timestamp":1504224000000,"percentage":60.986570247933884},{"timestamp":1506816000000,"percentage":61.836547054927955},{"timestamp":1509494400000,"percentage":63.021722000583225},{"timestamp":1512086400000,"percentage":63.42573790465211},{"timestamp":1514764800000,"percentage":63.90625293900046},{"timestamp":1517443200000,"percentage":64.50319729354479},{"timestamp":1519862400000,"percentage":65.96880306248516},{"timestamp":1522540800000,"percentage":66.86124694376528},{"timestamp":1525132800000,"percentage":67.57432754142032},{"timestamp":1527811200000,"percentage":68.75834682613782},{"timestamp":1530403200000,"percentage":70.20413870246085},{"timestamp":1533081600000,"percentage":71.22945272762995},{"timestamp":1535760000000,"percentage":72.86772607632525},{"timestamp":1538352000000,"percentage":74.11224063500906},{"timestamp":1541030400000,"percentage":75.10342419141087},{"timestamp":1543640400000,"percentage":75.79448717597788},{"timestamp":1546318800000,"percentage":76.37309528003196},{"timestamp":1548997200000,"percentage":76.91510980006555},{"timestamp":1551416400000,"percentage":77.81975925036612},{"timestamp":1554091200000,"percentage":77.9234480387857},{"timestamp":1556683200000,"percentage":78.50199648432498},{"timestamp":1559361600000,"percentage":78.57625287045792},{"timestamp":1561953600000,"percentage":79.05668606837222},{"timestamp":1564632000000,"percentage":79.41655199228474},{"timestamp":1567310400000,"percentage":79.51910562071637},{"timestamp":1569902400000,"percentage":79.41383693751794}],"installationsPerVersion":[{"version":"0.4","total":1},{"version":"0.5","total":1},{"version":"0.7","total":8},{"version":"0.8","total":1},{"version":"1.0","total":4},{"version":"1.1","total":1},{"version":"1.10","total":100},{"version":"1.11","total":29},{"version":"1.11-SNAPSHOT (private)","total":1},{"version":"1.11.1","total":5},{"version":"1.11.2","total":13},{"version":"1.11.3","total":156},{"version":"1.12.0","total":27},{"version":"1.12.1","total":28},{"version":"1.13.0","total":11},{"version":"1.13.1","total":1},{"version":"1.13.2","total":2},{"version":"1.13.3","total":83},{"version":"1.14.0","total":179},{"version":"1.14.0-SNAPSHOT (private)","total":1},{"version":"1.14.1","total":11},{"version":"1.14.2","total":21},{"version":"1.15.0","total":12},{"version":"1.16.0","total":21},{"version":"1.17.0","total":43},{"version":"1.17.1","total":57},{"version":"1.18.0","total":2},{"version":"1.18.1","total":39},{"version":"1.18.2","total":139},{"version":"1.19.0","total":150},{"version":"1.19.1","total":485},{"version":"1.19.2","total":268},{"version":"1.19.3","total":55},{"version":"1.2","total":5},{"version":"1.20.0","total":317},{"version":"1.21.0","total":68},{"version":"1.21.1","total":602},{"version":"1.22.0","total":41},{"version":"1.22.1","total":156},{"version":"1.22.2","total":100},{"version":"1.22.3","total":233},{"version":"1.22.4","total":172},{"version":"1.23.0","total":52},{"version":"1.23.1","total":175},{"version":"1.24.0","total":273},{"version":"1.25.0","total":555},{"version":"1.25.1","total":596},{"version":"1.26.0","total":478},{"version":"1.26.1","total":908},{"version":"1.26.2","total":438},{"version":"1.27.0","total":3604},{"version":"1.28.0","total":3073},{"version":"1.28.1","total":3634},{"version":"1.29.0","total":9010},{"version":"1.29.1","total":1668},{"version":"1.29.2","total":12202},{"version":"1.29.3","total":19938},{"version":"1.29.3.webhookfix2","total":1},{"version":"1.29.4","total":104968},{"version":"1.29.5","total":47552},{"version":"1.29.5-SNAPSHOT (private)","total":2},{"version":"1.3","total":2},{"version":"1.30.0-SNAPSHOT (private)","total":2},{"version":"1.4","total":21},{"version":"1.5","total":16},{"version":"1.6","total":18},{"version":"1.6-SNAPSHOT (private)","total":1},{"version":"1.7","total":17},{"version":"1.8","total":85},{"version":"1.9","total":9},{"version":"1.9.1","total":82},{"version":"2.0.1","total":1}],"installationsPercentagePerVersion":[{"version":"0.4","percentage":3.727824106347366E-4},{"version":"0.5","percentage":3.727824106347366E-4},{"version":"0.7","percentage":0.002982259285077893},{"version":"0.8","percentage":3.727824106347366E-4},{"version":"1.0","percentage":0.0014911296425389464},{"version":"1.1","percentage":3.727824106347366E-4},{"version":"1.10","percentage":0.03727824106347366},{"version":"1.11","percentage":0.010810689908407362},{"version":"1.11-SNAPSHOT (private)","percentage":3.727824106347366E-4},{"version":"1.11.1","percentage":0.001863912053173683},{"version":"1.11.2","percentage":0.004846171338251576},{"version":"1.11.3","percentage":0.05815405605901891},{"version":"1.12.0","percentage":0.010065125087137888},{"version":"1.12.1","percentage":0.010437907497772625},{"version":"1.13.0","percentage":0.004100606516982103},{"version":"1.13.1","percentage":3.727824106347366E-4},{"version":"1.13.2","percentage":7.455648212694732E-4},{"version":"1.13.3","percentage":0.030940940082683138},{"version":"1.14.0","percentage":0.06672805150361785},{"version":"1.14.0-SNAPSHOT (private)","percentage":3.727824106347366E-4},{"version":"1.14.1","percentage":0.004100606516982103},{"version":"1.14.2","percentage":0.007828430623329469},{"version":"1.15.0","percentage":0.004473388927616839},{"version":"1.16.0","percentage":0.007828430623329469},{"version":"1.17.0","percentage":0.016029643657293674},{"version":"1.17.1","percentage":0.021248597406179986},{"version":"1.18.0","percentage":7.455648212694732E-4},{"version":"1.18.1","percentage":0.014538514014754728},{"version":"1.18.2","percentage":0.05181675507822839},{"version":"1.19.0","percentage":0.05591736159521049},{"version":"1.19.1","percentage":0.18079946915784725},{"version":"1.19.2","percentage":0.09990568605010941},{"version":"1.19.3","percentage":0.020503032584910513},{"version":"1.2","percentage":0.001863912053173683},{"version":"1.20.0","percentage":0.1181720241712115},{"version":"1.21.0","percentage":0.02534920392316209},{"version":"1.21.1","percentage":0.22441501120211144},{"version":"1.22.0","percentage":0.0152840788360242},{"version":"1.22.1","percentage":0.05815405605901891},{"version":"1.22.2","percentage":0.03727824106347366},{"version":"1.22.3","percentage":0.08685830167789363},{"version":"1.22.4","percentage":0.0641185746291747},{"version":"1.23.0","percentage":0.019384685353006303},{"version":"1.23.1","percentage":0.0652369218610789},{"version":"1.24.0","percentage":0.1017695981032831},{"version":"1.25.0","percentage":0.20689423790227882},{"version":"1.25.1","percentage":0.22217831673830302},{"version":"1.26.0","percentage":0.1781899922834041},{"version":"1.26.1","percentage":0.33848642885634084},{"version":"1.26.2","percentage":0.16327869585801463},{"version":"1.27.0","percentage":1.3435078079275908},{"version":"1.28.0","percentage":1.1455603478805456},{"version":"1.28.1","percentage":1.3546912802466329},{"version":"1.29.0","percentage":3.358769519818977},{"version":"1.29.1","percentage":0.6218010609387407},{"version":"1.29.2","percentage":4.548690974565056},{"version":"1.29.3","percentage":7.432535703235379},{"version":"1.29.3.webhookfix2","percentage":3.727824106347366E-4},{"version":"1.29.4","percentage":39.13022407950703},{"version":"1.29.5","percentage":17.726549190502997},{"version":"1.29.5-SNAPSHOT (private)","percentage":7.455648212694732E-4},{"version":"1.3","percentage":7.455648212694732E-4},{"version":"1.30.0-SNAPSHOT (private)","percentage":7.455648212694732E-4},{"version":"1.4","percentage":0.007828430623329469},{"version":"1.5","percentage":0.005964518570155786},{"version":"1.6","percentage":0.006710083391425259},{"version":"1.6-SNAPSHOT (private)","percentage":3.727824106347366E-4},{"version":"1.7","percentage":0.006337300980790522},{"version":"1.8","percentage":0.03168650490395261},{"version":"1.9","percentage":0.0033550416957126294},{"version":"1.9.1","percentage":0.0305681576720484},{"version":"2.0.1","percentage":3.727824106347366E-4}],"currentInstalls":213030,"trend":1638},"title":"GitHub","url":"http://updates.jenkins-ci.org/download/plugins/github/1.29.5/github.hpi","version":"1.29.5","securityWarnings":[{"versions":[{"firstVersion":null,"lastVersion":"1.29.0"}],"id":"SECURITY-799","message":"Server-side request forgery","url":"https://jenkins.io/security/advisory/2018-06-04/#SECURITY-799","active":false},{"versions":[{"firstVersion":null,"lastVersion":"1.29.0"}],"id":"SECURITY-804","message":"CSRF vulnerability and lack of permission checks allows capturing credentials","url":"https://jenkins.io/security/advisory/2018-06-04/#SECURITY-804","active":false},{"versions":[{"firstVersion":null,"lastVersion":"1.29.1"}],"id":"SECURITY-915","message":"CSRF vulnerability and insufficient permission checks allow capturing credentials","url":"https://jenkins.io/security/advisory/2018-06-25/#SECURITY-915","active":false}],"wiki":{"content":"
\n\n \n \n Plugin Information
\n \n \n View GitHub on the plugin site for more information.
\n \n \n
\n \n
\nGithub Plugin \nThis plugin integrates Jenkins with Github projects. The plugin currently has three major functionalities:
\n\n Create hyperlinks between your Jenkins projects and GitHub \n Trigger a job when you push to the repository by groking HTTP POSTs from post-receive hook and optionally auto-managing the hook setup. \n Report build status result back to github as Commit Status (documented on SO ) \n Base features for other plugins \n \n
\n \n
\n
\nHyperlinks between changes \nThe Github plugin decorates Jenkins \"Changes\" pages to create links to your Github commit and issue pages. It adds a sidebar link that links back to the Github project page.
\n
\nWhen creating a job, specify that is connects to git. Under \"Github project\", put in: git@github.com:Person /Project .git Under \"Source Code Management\" select Git, and put in git@github.com:Person /Project .git
\nGitHub hook trigger for GITScm polling \nThis feature enables builds after post-receive hooks in your GitHub repositories . This trigger only kicks git-plugin internal polling algo for every incoming event against matched repo.
\n\nTo be able to use this feature:
\nManual Mode \nIn this mode, you'll be responsible for registering the hook URLs to GitHub. Click the icon (under Manage Jenkins > Configure System > GitHub) to see the URL in Jenkins that receives the post-commit POSTs — but in general the URL is of the form $JENKINS_BASE_URL/github-webhook/ — for example: https://ci.example.com/jenkins/github-webhook/.
\nOnce you have the URL, and have added it as a webhook to the relevant GitHub repositories, continue to Step 3 .
\nAutomatic Mode (Jenkins manages hooks for jobs by itself) \nIn this mode, Jenkins will automatically add/remove hook URLs to GitHub based on the project configuration in the background. You'll specify GitHub OAuth token so that Jenkins can login as you to do this.
\nStep 1. Go to the global configuration and add GitHub Server Config.
\n
\nStep 2.1. Create your personal access token in GitHub.
\nPlugin can help you to do it with all required scopes. Go to Advanced -> Manage Additional GitHub Actions -> Convert Login and Password to token
\n
\n\nYou can create \"Secret text\" credentials with token in corresponding domain with login and password directly, or from username and password credentials.
\nStep 2.2. Select previously created \"Secret Text\" credentials with GitHub OAuth token.
\n\n\n
\nStep 3. Once that configuration is done, go to the project config of each job you want triggered automatically and simply check \"Build when a change is pushed to GitHub\" under \"Build Triggers\". With this, every new push to the repository automatically triggers a new build.
\nNote that there's only one URL and it receives all post-receive POSTs for all your repositories. The server side of this URL is smart enough to figure out which projects need to be triggered, based on the submission.
\nSecurity Implications \nThis plugin requires that you have an HTTP URL reachable from GitHub, which means it's reachable from the whole internet. So it is implemented carefully with the possible malicious fake post-receive POSTS in mind. To cope with this, upon receiving a POST, Jenkins will talk to GitHub to ensure the push was actually made.
\nJenkins inside a firewall \nIn case your Jenkins run inside the firewall and not directly reachable from the internet, this plugin lets you specify an arbitrary endpoint URL as an override in the automatic mode. The plugin will assume that you've set up reverse proxy or some other means so that the POST from GitHub will be routed to the Jenkins.
\nTrouble-shooting hooks \nIf you set this up but build aren't triggered, check the following things:
\n\n Click the \"admin\" button on the GitHub repository in question and make sure post-receive hooks are there.\n \n If it's not there, make sure you have proper credential set in the Jenkins system config page. \n \n Also, enable logging for the class names\n \n com.cloudbees.jenkins.GitHubPushTrigger \n org.jenkinsci.plugins.github.webhook.WebhookManager \n com.cloudbees.jenkins.GitHubWebHook and you'll see the log of Jenkins trying to install a post-receive hook. \n \n Click \"Test hook\" button from the GitHub UI and see if Jenkins receive a payload. \n \nUsing cache to GitHub requests \nEach GitHub Server Config creates own GitHub client to interact with api. By default it uses cache (with 20MB limit) to speedup process of fetching data and reduce rate-limit consuming. You can change cache limit value in \"Advanced\" section of this config item. If you set 0, then this feature will be disabled for this (and only this) config.
\n\nPossible Issues between Jenkins and GitHub \nWindows: \n\n In windows, Jenkins will use the the SSH key of the user it is running as, which is located in the %USERPROFILE%\\.ssh folder ( on XP, that would be C:\\Documents and Settings\\USERNAME\\.ssh, and on 7 it would be C:\\Users\\USERNAME\\.ssh). Therefore, you need to force Jenkins to run as the user that has the SSH key configured. To do that, right click on My Computer, and hit \"Manage\". Click on \"Services\". Go to Jenkins, right click, and select \"Properties\". Under the \"Log On\" tab, choose the user Jenkins will run as, and put in the username and password (it requires one). Then restart the Jenkins service by right clicking on Jenkins (in the services window), and hit \"Restart\". \n Jenkins does not support passphrases for SSH keys. Therefore, if you set one while running the initial Github configuration, rerun it and don't set one. \n \nPipeline examples \nSetting commit status \nThis code will set commit status for custom repo with configured context and message (you can also define same way backref)
\n\n
\n
void setBuildStatus(String message, String state) {\n step([\n $class: \"GitHubCommitStatusSetter\",\n reposSource: [$class: \"ManuallyEnteredRepositorySource\", url: \"https://github.com/my-org/my-repo\"],\n contextSource: [$class: \"ManuallyEnteredCommitContextSource\", context: \"ci/jenkins/build-status\"],\n errorHandlers: [[$class: \"ChangingBuildStatusErrorHandler\", result: \"UNSTABLE\"]],\n statusResultSource: [ $class: \"ConditionalStatusResultSource\", results: [[$class: \"AnyBuildResult\", message: message, state: state]] ]\n ]);\n}\n\nsetBuildStatus(\"Build complete\", \"SUCCESS\");\n \n
\n
\nMore complex examle (can be used with multiply scm sources in pipeline)
\n\n
\n
def getRepoURL() {\n sh \"git config --get remote.origin.url > .git/remote-url\"\n return readFile(\".git/remote-url\").trim()\n}\n\ndef getCommitSha() {\n sh \"git rev-parse HEAD > .git/current-commit\"\n return readFile(\".git/current-commit\").trim()\n}\n\ndef updateGithubCommitStatus(build) {\n // workaround https://issues.jenkins-ci.org/browse/JENKINS-38674\n repoUrl = getRepoURL()\n commitSha = getCommitSha()\n\n step([\n $class: 'GitHubCommitStatusSetter',\n reposSource: [$class: \"ManuallyEnteredRepositorySource\", url: repoUrl],\n commitShaSource: [$class: \"ManuallyEnteredShaSource\", sha: commitSha],\n errorHandlers: [[$class: 'ShallowAnyErrorHandler']],\n statusResultSource: [\n $class: 'ConditionalStatusResultSource',\n results: [\n [$class: 'BetterThanOrEqualBuildResult', result: 'SUCCESS', state: 'SUCCESS', message: build.description],\n [$class: 'BetterThanOrEqualBuildResult', result: 'FAILURE', state: 'FAILURE', message: build.description],\n [$class: 'AnyBuildResult', state: 'FAILURE', message: 'Loophole']\n ]\n ]\n ])\n}\n \n
\n
\nChange Log \nGitHub Releases
\nOpen Issues \n
\n \n
\n
\n
\n
\n
\n \n \n \n \n T \n Key \n Summary \n Status \n Updated \n Created \n \n \n
\n
\n
\n
\n \n Loading... \n
Refresh type,key,summary,status,updated,created true https://issues.jenkins-ci.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=component+%3D+github-plugin+AND+status+in+%28Open%2C+%22In+Progress%22%2C+Reopened%29+ORDER+BY+updated+DESC&tempMax=1000 columns=type,key,summary,status,updated,created|anonymous=true|url=https://issues.jenkins-ci.org/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=component+%3D+github-plugin+AND+status+in+%28Open%2C+%22In+Progress%22%2C+Reopened%29+ORDER+BY+updated+DESC&tempMax=1000 BLOCK \" data-pageid=\"37749162\"> \n
\n
\n
\n
\n
\n
","url":"https://wiki.jenkins-ci.org/display/JENKINS/Github+Plugin"}}
--------------------------------------------------------------------------------
/public/vendor/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v4.3.1 (https://getbootstrap.com/)
3 | * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active",Wn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',qn=".dropdown-toggle",Mn="> .dropdown-menu .active",Kn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Pn)||g(this._element).hasClass(Ln))){var t,i,e=g(this._element).closest(xn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Un:Fn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(On.HIDE,{relatedTarget:this._element}),a=g.Event(On.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(On.HIDDEN,{relatedTarget:n._element}),e=g.Event(On.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,wn),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Fn):g(e).find(Un))[0],r=n&&o&&g(o).hasClass(jn),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=_.getTransitionDurationFromElement(o);g(o).removeClass(Hn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Pn);var i=g(e.parentNode).find(Mn)[0];i&&g(i).removeClass(Pn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Pn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(jn)&&t.classList.add(Hn),t.parentNode&&g(t.parentNode).hasClass(kn)){var o=g(t).closest(Rn)[0];if(o){var r=[].slice.call(o.querySelectorAll(qn));g(r).addClass(Pn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(wn);if(e||(e=new i(this),t.data(wn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(On.CLICK_DATA_API,Wn,function(t){t.preventDefault(),Kn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Kn._jQueryInterface,g.fn.tab.Constructor=Kn,g.fn.tab.noConflict=function(){return g.fn.tab=Nn,Kn._jQueryInterface};var Qn="toast",Bn="bs.toast",Vn="."+Bn,Yn=g.fn[Qn],zn={CLICK_DISMISS:"click.dismiss"+Vn,HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn},Xn="fade",$n="hide",Gn="show",Jn="showing",Zn={animation:"boolean",autohide:"boolean",delay:"number"},ti={animation:!0,autohide:!0,delay:500},ei='[data-dismiss="toast"]',ni=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(zn.SHOW),this._config.animation&&this._element.classList.add(Xn);var e=function(){t._element.classList.remove(Jn),t._element.classList.add(Gn),g(t._element).trigger(zn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove($n),this._element.classList.add(Jn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Gn)&&(g(this._element).trigger(zn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Gn)&&this._element.classList.remove(Gn),g(this._element).off(zn.CLICK_DISMISS),g.removeData(this._element,Bn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},ti,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Qn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(zn.CLICK_DISMISS,ei,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add($n),g(t._element).trigger(zn.HIDDEN)};if(this._element.classList.remove(Gn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Bn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Zn}},{key:"Default",get:function(){return ti}}]),i}();g.fn[Qn]=ni._jQueryInterface,g.fn[Qn].Constructor=ni,g.fn[Qn].noConflict=function(){return g.fn[Qn]=Yn,ni._jQueryInterface},function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineProperty(t,"__esModule",{value:!0})});
7 | //# sourceMappingURL=bootstrap.min.js.map
--------------------------------------------------------------------------------