Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

RSS Feed to Record

Community Alums
Not applicable

I am trying to get an RSS feed to populate a table, however just cant seem to get it to work. Any help would be much appreciated!

The REST API has been set up and coming back with a code 200 and the connections there I just cant seem to get the records to import.

try {
    var rssFeed = new sn_ws.RESTMessageV2('RSS Feed Import', 'GET');
    var response = rssFeed.execute();
    var responseBody = response.getBody();
    var httpStatus = response.getStatusCode();

    // Log the raw response for debugging
    gs.info('RSS Feed XML Response: ' + responseBody);

    var xml = new XMLDocument2();
    xml.parseXML(responseBody);

    if (!xml.isValid()) {
        gs.error('Invalid XML response');
    }
    var items = xml.getNodeList('//item');
    
    if (items.getLength() == 0) {
        gs.error('No <item> nodes found in the RSS feed.');
    }
    for (var i = 0; i < items.getLength(); i++) {
        var item = items.item(i);

        var title = item.getNodeText('title') || '';
        var link = item.getNodeText('link') || '';
        var pubDate = item.getNodeText('pubDate') || '';
        var description = item.getNodeText('description') || '';

        gs.info('Item ' + (i+1) + ': ' + title + ' | ' + link);

        var grCheck = new GlideRecord('u_rss_sky_tech');
        grCheck.addQuery('u_url', link);
        grCheck.query();
        if (grCheck.next()) {
            continue; // Skip if the URL already exists
        }
        var gr = new GlideRecord('u_rss_sky_tech');
        gr.initialize();
        gr.u_title = title;
        gr.u_url = link;
        gr.u_published = pubDate;
        gr.u_article = description;
        gr.insert();
    }
} catch (error) {
    gs.error('RSS Feed Import - Sky Tech: Error occurred - ' + error.message);
}

 

0 REPLIES 0