Read the statement by Michael Teeuw here.
Jenkins RSS feed
-
Hi,
I’m testing news feed default plugin to read a local Jenkins feed.
Looks good from a stand-alone reader but it seems I’ve got some parsing error retrieving the feed.
I also tested with MMM-RSS-FEED but I don’t even get an error message like the one I got with news feed plugin.
Has anyone tested this ?
Thanks.
Regards,
Fred.Here is the error message :
Create new news fetcher for url: http://xxx.xxx.xxx.xxx:8080/rssAll - Interval: 300000
Whoops! There was an uncaught exception…
TypeError: parser.close is not a function
at SAXStream.openf1 (/home/pi/MagicMirror/node_modules/feedme/lib/xmlfeedparser.js:107:14)
at emitOne (events.js:96:13)
at SAXStream.emit (events.js:188:7)
at Object.me._parser.(anonymous function) [as onopentag] (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:258:17)
at emit (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:640:35)
at emitNode (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:645:5)
at openTag (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:841:5)
at Object.write (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:1294:15)
at SAXStream.write (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:239:18)
at yoshi.write (/home/pi/MagicMirror/node_modules/feedme/lib/feedme.js:41:14)
MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues -
following this :
at SAXStream.openf1 (/home/pi/MagicMirror/node_modules/feedme/lib/xmlfeedparser.js:107:14)it seems I got through this …
parser.emit(‘error’, new Error(‘Feed type not recognized’));Feed format is xml version=“1.0” encoding="UTF-8
and main markup is feed xmlns=“http://www.w3.org/2005/Atom” -
Using console.log I got confirmation that node.name is recognized as “html” where it should be “channel”, “feed” or “rss” according to the following function.
I don’t know yet if Jenkins feed is malformed or if module parsing is mistaken.
var openf1 = function(node) {
var type;
if (node.name === ‘channel’ || node.name === ‘feed’) {
if (node.name === ‘feed’) {
type = ‘atom’;
obj.type = type;
this.emit(‘type’, type);
}
parser.removeListener(‘opentag’, openf1);
parser.on(‘text’, ontext);
parser.on(‘cdata’, ontext);
parser.on(‘opentag’, onopentag);
parser.on(‘closetag’, onclosetag);} else if (node.name === 'rss') { type = 'rss ' + node.attributes.version; obj.type = type; this.emit('type', type); } else { parser.emit('error', new Error('Feed type not recognized')); parser.close(); }
};
-
Please shared your configuration and RSS output. The rss is in http://xxx.xxx.xxx.xxx:8080/rssAll ?
-
@roramirez here is my configuration, considering I also obfuscated my server IP and I switched to Jenkins failed build RSS feed. I hoped to get some content but theses feeds only sends article titles …
Jenkins provides three global feeds respectively for all (rssAll), falied (rssFailed) and latest (rssLatest) builds at its base URL plus others for each configured job …
By the way I checked that read access is open for anonymous connection by using a local RSS reader (RSSOwl) and it works well.
Thanks for your help.
/* Magic Mirror Config Sample
*- By Michael Teeuw http://michaelteeuw.nl
- MIT Licensed.
*/
var config = {
port: 8080,
ipWhitelist: [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”,],language: 'en', timeFormat: 24, units: 'metric', modules: [ { module: 'alert', }, { module: "updatenotification", position: "top_bar" }, { module: 'newsfeed', position: 'top_bar', config: { feeds: [ { title: "Jenkins RSS Failed", url: "http://xxx.xxx.xxx.xxx:8080/rssFailed", } ] } } ]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== ‘undefined’) {module.exports = config;} -
I found a public RSS, its can be help for test
Can you test the follow URL?
https://hub.spigotmc.org/jenkins/rssAll -
Also, A rssFailed http://jenkins.movingblocks.net/rssFailed
-
Hi,
Retrieving MovinBlocks feed worked fine :)
On the other hand, SpigotMC feed prompted a certificate error. I’m not sure this may be caused by my proxy.
Of course I still got a parsing error accessing my own Jenkins feed.Thanks for you quick answer.
Regards,
Fred.Here is the error message I got from SpigotMC :
Ready to go! Please point your browser to: http://localhost:8080 Create new news fetcher for url: https://hub.spigotmc.org/jenkins/rssAll - Interval: 300000 Whoops! There was an uncaught exception... { Error: unable to get local issuer certificate at Error (native) at TLSSocket. (_tls_wrap.js:1079:38) at emitNone (events.js:86:13) at TLSSocket.emit (events.js:185:7) at TLSSocket._finishInit (_tls_wrap.js:603:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY' } MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues Whoops! There was an uncaught exception... { Error: socket hang up at createHangUpError (_http_client.js:254:15) at TLSSocket.socketCloseListener (_http_client.js:286:23) at emitOne (events.js:101:20) at TLSSocket.emit (events.js:188:7) at _handle.close (net.js:498:12) at Socket.done (_tls_wrap.js:325:7) at Socket.g (events.js:291:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at TCP._handle.close [as _onclose] (net.js:498:12) code: 'ECONNRESET' } MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues fatal: unable to access 'https://github.com/MichMich/MagicMirror/': Failed to connect to github.com port 443: Connection timed out
Here is also the configuration I used, commenting alternatively each feed :
{ module: 'newsfeed', position: 'top_bar', config: { feeds: [ //{ // title: "Jenkins SpigotMC RSS All", // url: "https://hub.spigotmc.org/jenkins/rssAll", //}, //{ // title: "Jenkins MovingBlocks RSS Failed", // url: "http://jenkins.movingblocks.net/rssFailed", //}, { title: "Jenkins RSS Failed", url: "http://10.195.154.232:8080/rssFailed", } ] } }
-
I’m wondering if the problem could be some entries have no content field ?
[Edit]
Actually is does not MovingBlocks feed has both entries with and without content field and all of them are well displayed.
-
Eventually “link” markups are formatted in a different order between terasology server and mine but I doubt that would be the problem …
alternate field at the end or the beginning …
link rel=“alternate” type=“text/html” href=“http://jenkins.terasology.org/”/
link type=“text/html” href=“http://xxx.xxx.xxx.xxx:8080/” rel=“alternate”/
also my URL contains an IP and not a server name …