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();
    }
    

    };


  • Core Contributors

    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

    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;}


  • Core Contributors

    I found a public RSS, its can be help for test

    Can you test the follow URL?
    https://hub.spigotmc.org/jenkins/rssAll


  • Core Contributors



  • 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 …


Log in to reply
 

Looks like your connection to MagicMirror Forum was lost, please wait while we try to reconnect.