• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Jenkins RSS feed

Scheduled Pinned Locked Moved Troubleshooting
15 Posts 2 Posters 13.3k Views 2 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    BeatIdo
    last edited by BeatIdo Feb 21, 2017, 7:27 AM Feb 20, 2017, 10:05 PM

    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

    1 Reply Last reply Reply Quote 0
    • B Offline
      BeatIdo
      last edited by Feb 20, 2017, 10:15 PM

      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”

      1 Reply Last reply Reply Quote 0
      • B Offline
        BeatIdo
        last edited by BeatIdo Feb 21, 2017, 12:42 PM Feb 21, 2017, 9:34 AM

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

        };

        1 Reply Last reply Reply Quote 0
        • R Offline
          roramirez Core Contributors
          last edited by Feb 21, 2017, 5:03 PM

          Please shared your configuration and RSS output. The rss is in http://xxx.xxx.xxx.xxx:8080/rssAll ?

          Easy module development with MagicMirror Module Template

          B 1 Reply Last reply Feb 21, 2017, 5:30 PM Reply Quote 0
          • B Offline
            BeatIdo @roramirez
            last edited by Feb 21, 2017, 5:30 PM

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

            1 Reply Last reply Reply Quote 0
            • R Offline
              roramirez Core Contributors
              last edited by Feb 21, 2017, 9:32 PM

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

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

              Easy module development with MagicMirror Module Template

              1 Reply Last reply Reply Quote 0
              • R Offline
                roramirez Core Contributors
                last edited by Feb 21, 2017, 9:35 PM

                Also, A rssFailed http://jenkins.movingblocks.net/rssFailed

                Easy module development with MagicMirror Module Template

                1 Reply Last reply Reply Quote 0
                • B Offline
                  BeatIdo
                  last edited by yawns Feb 23, 2017, 10:29 AM Feb 22, 2017, 8:18 AM

                  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",
                                              }
                                              ]
                                      }
                              }
                  
                  R 1 Reply Last reply Feb 23, 2017, 10:06 PM Reply Quote 0
                  • B Offline
                    BeatIdo
                    last edited by BeatIdo Feb 22, 2017, 8:53 AM Feb 22, 2017, 8:44 AM

                    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.

                    1 Reply Last reply Reply Quote 0
                    • B Offline
                      BeatIdo
                      last edited by Feb 22, 2017, 8:58 AM

                      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 …

                      B 1 Reply Last reply Feb 23, 2017, 12:49 PM Reply Quote 0
                      • 1
                      • 2
                      • 1 / 2
                      1 / 2
                      • First post
                        4/15
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy