{"id":20593748,"url":"https://github.com/robertcsapo/cisco-devnet-community-webex-bot","last_synced_at":"2026-04-11T17:03:06.609Z","repository":{"id":139954345,"uuid":"259316200","full_name":"robertcsapo/cisco-devnet-community-webex-bot","owner":"robertcsapo","description":"Posting latest update from Cisco DevNet sources to a specific Cisco Webex Teams Room","archived":false,"fork":false,"pushed_at":"2020-09-09T16:27:02.000Z","size":1894,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-06T14:33:39.867Z","etag":null,"topics":["aws","blog","brighttalk","cisco","devnet","docker","dynamodb","github","meetup","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robertcsapo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-27T12:46:51.000Z","updated_at":"2021-02-21T21:52:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"af35773f-b68a-4d65-a98e-398437c58134","html_url":"https://github.com/robertcsapo/cisco-devnet-community-webex-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/robertcsapo/cisco-devnet-community-webex-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertcsapo%2Fcisco-devnet-community-webex-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertcsapo%2Fcisco-devnet-community-webex-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertcsapo%2Fcisco-devnet-community-webex-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertcsapo%2Fcisco-devnet-community-webex-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robertcsapo","download_url":"https://codeload.github.com/robertcsapo/cisco-devnet-community-webex-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertcsapo%2Fcisco-devnet-community-webex-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31687882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","blog","brighttalk","cisco","devnet","docker","dynamodb","github","meetup","python"],"created_at":"2024-11-16T07:49:37.540Z","updated_at":"2026-04-11T17:03:06.603Z","avatar_url":"https://github.com/robertcsapo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cisco DevNet community Webex bot\n\nCisco Webex Teams Bot that fetches the latest from blog, github and meetup.\nRuns every hour (default) and stores the latest URL also in a database.\n\n## Demo\n\n![](demo-webexteams.gif)\n#### Python script\n![](demo-script.gif)\n\n## Features\n\nModules supported\n\n- Cisco DevNet Blog\n  - https://blogs.cisco.com/developer\n- Github Orgs\n  - https://api.github.com/orgs/\n- Meetup\n  - https://api.meetup.com/\n\nDatabase used\n\n- AWS DynamoDB\n  - Cloud\n    - https://aws.amazon.com/dynamodb/\n  - Local Dev / Private Cloud\n    - https://hub.docker.com/r/amazon/dynamodb-local/\n\n## default config\n_(for the modules)_\n\n```\n# Enable modules to fetch data and create Webex Adaptive Cards\n# Comment module if you want to disable a module\nmodules:\n    # URL to Cisco DevNet blog\n    blog:\n      - https://blogs.cisco.com/developer\n    # Github.com org name\n    github:\n        orgs:\n          - ciscodevnet\n    # BrightTALK\n    brighttalk:\n      - 17628\n    # Meetup group name\n    meetup:\n      - cisco-developers-club-stockholm\n```\nIf you want to edit these URLs, for the modules.  \nThen clone this repo and edit ```config.yaml```\n\n## Technologies \u0026 Frameworks Used\n\n**Cisco Products \u0026 Services:**\n\n- Cisco Webex Teams\n\n**Third-Party Products \u0026 Services:**\n\n- REST API\n  - Github\n  - Meetup\n  - BrightTALK\n\n**Tools \u0026 Frameworks:**\n\n- python\n- docker\n- webexteamssdk\n\n## Installation\n\n### Prerequisites\n* AWS DynamoDB\n  * https://aws.amazon.com/dynamodb/\n  * Local\n    * https://hub.docker.com/r/amazon/dynamodb-local/\n      * with UIs\n        * https://hub.docker.com/r/aaronshaf/dynamodb-admin\n        * https://hub.docker.com/r/boogak/dynamodb-admin\n\nYou can create the DynamoDB Table with ```--init``` flag\n\n* Database structure\n```\n{\n    \"AttributeName\": \"type\",\n    \"KeyType\": \"HASH\"\n},\n{\n    \"AttributeName\": \"link\",\n    \"KeyType\": \"RANGE\"\n}\n```\n\n### docker\n\n###### Start service\n```\ndocker run -d \\\n-e AWS_ACCESS_KEY_ID=changeme \\\n-e AWS_SECRET_ACCESS_KEY=changeme \\\n-e AWS_DEFAULT_REGION=eu-north-1 \\\n-e WEBEX_TEAMS_ACCESS_TOKEN=changeme \\\n-e WEBEX_TEAMS_ROOM_ID=changeme \\\nrobertcsapo/cisco-devnet-sweden-community-webex-bot\n```\n\n###### OS Environment and help section\n\n```\nusage: run.py [-h] [--config CONFIG] [--table TABLE] [--init] [--delay DELAY] [--force] [--dry] [--debug] [--version]\n\nCisco DevNet community Webex bot\n\noptional arguments:\n  -h, --help       show this help message and exit\n  --config CONFIG  Read different config file (default: config.yaml)\n  --table TABLE    AWS DynamoDB Table (default: cisco-devnet-webex-bot)\n  --init           Initialize database (default: False)\n  --delay DELAY    Change delay in seconds (default: 3600)\n  --force          Force update on latest from modules (default: False)\n  --dry            Dry-run doesn't post anything to Webex (default: False)\n  --debug          Display OS/ARGs settings (default: False)\n  --version        show program's version number and exit\n```\n\n###### Example\n```\ndocker run -it --rm robertcsapo/cisco-devnet-sweden-community-webex-bot --config config.yaml --debug\n```\n\n### docker-compose\n\n###### Clone the repo\n```\ngit clone https://github.com/robertcsapo/cisco-devnet-community-webex-bot\n```\n\n###### Edit config.yaml\n```\nvim config.yaml\n```\n\n###### Start service (cloud image)\n```\ndocker-compose -f docker-compose.yaml up\n```\n\n###### Start service (local image build)\n```\ndocker-compose -f docker-compose-build.yaml up\n```\n\n## Customization\n\n### Cisco Webex Teams Adaptive Card\n\nWarning!\n\nChanging the Cisco Webex Teams Adaptive Card template could cause this script to not work properly.\n\n#### Design\n\nYou can design your own Adaptive Cards, to be used with Cisco Webex Teams [here](https://developer.webex.com/buttons-and-cards-designer)  \n_(More details about how adaptive cards works can be found [here](https://docs.microsoft.com/en-us/adaptive-cards/))_\n\n#### Edit the source code\n\nReplace your own designed adaptive card in the ```card.json``` file.  \nThen you need to match all the data objects in the ```cisco/webex.py``` file.  \n\n```\n    ''' Read in Adaptive Card template '''\n    with open('card.json') as file:\n        data = json.load(file)\n\n    ''' Below changes the data on Adaptive Card Template '''\n```\n\nEdit from here\n\n```\n''' Avatar Image URL for Card '''\ndata[\"content\"][\"body\"][0][\"columns\"][0][\"items\"][0][\"url\"] = value[\"avatar\"]\n```\n...   \nStop editing here\n```\n''' ActionURL for Card '''\ndata[\"content\"][\"body\"][3][\"actions\"][0][\"url\"] = value[\"url\"]\n```\nSave the ```cisco/webex.py``` file. \n\n#### Build with local changes\n[Local image build](#start-service-local-image-build)\n\n## Authors \u0026 Maintainers\n\nSmart people responsible for the creation and maintenance of this project:\n\n- Robert Csapo \u003crcsapo@cisco.com\u003e\n\n## License\n\nThis project is licensed to you under the terms of the [Cisco Sample\nCode License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertcsapo%2Fcisco-devnet-community-webex-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobertcsapo%2Fcisco-devnet-community-webex-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertcsapo%2Fcisco-devnet-community-webex-bot/lists"}