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 15.2k 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

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

                        So it seems I have proxy problems, sometimes I can access my local Jenkins sometimes I can access public MovingBlocks but not both … I have to look into that.

                        Thansk a lot for your support, I’ll come back to you whan I’m done :)

                        1 Reply Last reply Reply Quote 0
                        • R Offline
                          roramirez Core Contributors @BeatIdo
                          last edited by

                          @BeatIdo said in Jenkins RSS feed:

                          { 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’ }

                          That’s interesting.

                          What happens when you run?

                          curl -Iv https://hub.spigotmc.org/jenkins/rssAll
                          

                          Easy module development with MagicMirror Module Template

                          B 1 Reply Last reply Reply Quote 0
                          • B Offline
                            BeatIdo @roramirez
                            last edited by

                            @roramirez nice test, it seems it confirms my proxy problem.

                            When I run this command directly on my RPi which lacks proper proxy configuration I got a “Network unreachable” error.

                            Interestingly enough if I connect though SSH to the same RPi from my PC whcih has proxy configured the command gets proxy authorization and get answers from http server.

                            I’ll try to configure proxy accordingly and got through this.

                            HEAD /jenkins/rssAll HTTP/1.1
                            User-Agent: curl/7.38.0
                            Host: hub.spigotmc.org
                            Accept: /

                            < HTTP/1.1 200 OK
                            HTTP/1.1 200 OK
                            < Date: Fri, 24 Feb 2017 08:06:31 GMT
                            Date: Fri, 24 Feb 2017 08:06:31 GMT
                            < Content-Type: application/atom+xml;charset=UTF-8
                            Content-Type: application/atom+xml;charset=UTF-8
                            < Connection: close
                            Connection: close
                            < Set-Cookie: __cfduid=de5c9bf89dbae2ffefd003694243d657a1487923591; expires=Sat, 24-Feb-18 08:06:31 GMT; path=/; domain=.spigotmc.org; HttpOnly
                            Set-Cookie: __cfduid=de5c9bf89dbae2ffefd003694243d657a1487923591; expires=Sat, 24-Feb-18 08:06:31 GMT; path=/; domain=.spigotmc.org; HttpOnly
                            < X-Content-Type-Options: nosniff
                            X-Content-Type-Options: nosniff

                            • Server cloudflare-nginx is not blacklisted
                              < Server: cloudflare-nginx
                              Server: cloudflare-nginx
                              < CF-RAY: 33616b2f2e483c5f-CDG
                              CF-RAY: 33616b2f2e483c5f-CDG

                            <

                            • Closing connection 0
                            • SSLv3, TLS alert, Client hello (1):
                            1 Reply Last reply Reply Quote 0
                            • B Offline
                              BeatIdo
                              last edited by

                              Everything I tested this morning about proxy configuration did not work while starting MM through SSH connection using “node serveronly” command. Even accessing my local Jenkins server did not work …

                              Afterwards I tried starting MM directly from MM GUI using “npm start” command this worked for local servers access …

                              1 Reply Last reply Reply Quote 0
                              • B Offline
                                BeatIdo
                                last edited by

                                I can confirm now my problem came from proxy configuration, module just didn’t handle error response which was not feed formatted.

                                1 Reply Last reply Reply Quote 0

                                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                With your input, this post could be even better 💗

                                Register Login
                                • 1 / 1
                                • 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