🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

github.com/olegsu/rss-sync

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/olegsu/rss-sync

v0.0.0-20201117044611-13e4a6d01c3d
Source
Go
Version published
Created
Source

RSS-Sync

RSS-Sync will sync you rss feed into support targets (Trello atm). I use it as to sync my favourite podcasts and add them to my Trello board so I dont forget to listen.

  • The input to the program is feed.yaml file that describes the rss, targets and the binding between them [FEED].
  • It uses go template as templat engine together with gomplate to extend the functionality
    • {{ .feed }} - to access the feed tol level properties as it parsed using gofeed (items are removed)
    • {{ .item }} - to access the current rss item that matched to the filters
    • {{ .source }} - to access the current source from feed.yaml
    • {{ .binding }} - to access the current binding from feed.yaml
    • {{ .target }} - to access the current target from feed.yaml
  • open-integration pipeline - read more about open-intergration

For example:

targets:
# Unique name of the target
- name: This Week List
    trello:
    # Trello API token - https://trello.com/app-key
    token: '{{ env.Getenv "TRELLO_TOKEN" }}'
    # Trello application ID - https://trello.com/app-key
    application-id: '{{ env.Getenv "TRELLO_APP_ID" }}'
    # Trello board id - get it from the URL
    board-id: '{{ env.Getenv "TRELLO_BOARD_ID" }}'
    # Trello list id - get if from https://trello.com/b/{board-id}.json
    list-id: '{{ env.Getenv "TRELLO_LIST_ID" }}'
    
    # Data about the card to be created
    card:
        title: '[{{ .source.name }}] Listen to: {{ .item.title }}'
        description: "{{ .feed.title }}\nLink: {{ .item.link }}\nDescription: {{ .item.description }}"
        # Lables ID's
        labels: []


sources:
# Unique name of the target
- name: Making History
  # RSS feed url 
  url: https://www.ranlevi.com/feed/mh_network_feed
  # set of filter to run on each RSS item
  # all the filter must to pass in order to pass the item to the target
  filter:
    
    # name of the filter can be anything
    # the value must be "true" at the end of the templating process in order to consider the filter as successful
    # only items that been released in the last 24 hours
    just-released: '{{ ((time.Now).Add (time.Hour -24)).Before (time.Parse "Mon, 02 Jan 2006 15:04:05 -0700" .item.published) }}'

#  In some cased the RSS feed is username-password protected  
#  auth:
#    username: '{{ env.Getenv "USERNAME" }}'
#    password: '{{ env.Getenv "PASSWORD" }}'    

# binding between rss and target 
bindings:
- name: Making History
  rss: Making History
  target: This Week List

FAQs

Package last updated on 17 Nov 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts