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.4k 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

      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

        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

          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

            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 Reply Quote 0
            • B Offline
              BeatIdo @roramirez
              last edited by

              @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

                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

                  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

                    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 Reply Quote 0
                    • B Offline
                      BeatIdo
                      last edited by BeatIdo

                      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

                        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 Reply Quote 0
                        • 1
                        • 2
                        • 1 / 2
                        • First post
                          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