{"id":18546187,"url":"https://github.com/huksley/github-trello-commit-message","last_synced_at":"2025-07-16T15:35:43.522Z","repository":{"id":145828138,"uuid":"142443153","full_name":"huksley/github-trello-commit-message","owner":"huksley","description":"Adds commit message to Trello card using GitHub WebHooks via Serverless AWS Lambda hook","archived":false,"fork":false,"pushed_at":"2019-08-25T19:01:00.000Z","size":6,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-15T06:41:12.570Z","etag":null,"topics":["aws","github","nodejs","serverless","trello"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/huksley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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":"2018-07-26T13:14:31.000Z","updated_at":"2019-08-25T19:01:02.000Z","dependencies_parsed_at":"2023-04-24T00:15:25.666Z","dependency_job_id":null,"html_url":"https://github.com/huksley/github-trello-commit-message","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/huksley/github-trello-commit-message","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huksley%2Fgithub-trello-commit-message","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huksley%2Fgithub-trello-commit-message/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huksley%2Fgithub-trello-commit-message/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huksley%2Fgithub-trello-commit-message/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/huksley","download_url":"https://codeload.github.com/huksley/github-trello-commit-message/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huksley%2Fgithub-trello-commit-message/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265521635,"owners_count":23781545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","github","nodejs","serverless","trello"],"created_at":"2024-11-06T20:23:58.171Z","updated_at":"2025-07-16T15:35:43.476Z","avatar_url":"https://github.com/huksley.png","language":"JavaScript","readme":"# Serverless Github comment to Trello card comment\n\nThis service will listen to github webhooks fired by a given repository.\nUpon Push event (https://developer.github.com/v3/activity/events/types/#pushevent)\nit will try to find card ID in comment and add comment to that card.\n\nOnly one card can be referenced in commit message.\n\nSupported commit formats:\n\n```\n[prefix-NUM] My nice commment\n[prefix#NUM] Better comment\nprefix-NUM: Even better comment\nprefix#NUM: Pretty self-explanatory\n```\n\n## Links\n\nhttps://github.com/serverless/examples/tree/master/aws-node-github-webhook-listener\nhttps://github.com/norberteder/trello/blob/master/main.js\nhttps://developer.github.com/v3/activity/events/types/#commitcommentevent\n\n## How it works\n\nThis project is build using serverless framework (https://serverless.com)\n\n```\n┌───────────────┐               ┌───────────┐\n│               │               │           │\n│  Github repo  │               │   Github  │\n│   activity    │────Trigger───▶│  Webhook  │\n│               │               │           │\n└───────────────┘               └───────────┘\n                                      │\n                     ┌────POST────────┘\n                     │\n          ┌──────────▼─────────┐\n          │ ┌────────────────┐ │\n          │ │  API Gateway   │ │\n          │ │    Endpoint    │ │\n          │ └────────────────┘ │\n          └─────────┬──────────┘\n                    │\n                    │\n         ┌──────────▼──────────┐\n         │ ┌────────────────┐  │\n         │ │                │  │\n         │ │     Lambda     │  │\n         │ │    Function    │  │\n         │ │                │  │\n         │ └────────────────┘  │\n         └─────────────────────┘\n                    │\n                    │\n                    ▼\n         ┌────────────────────┐\n         │                    │\n         │ Trello - find card │\n         │   and add comment  │\n         │                    │\n         └────────────────────┘\n```\n\n## Setup\n\n1. Copy file deploy-env-template to deploy-env and populate it with following values:\n\n  * Generate WebHook secret (for example using pwgen 16)\n  * Obtain Trello key\n  * Obtain Trello token (personal)\n  * Find out board ID (it is not a slug, see XHR requests when you are visit Trello Board)\n  * Define prefix you will use\n  \n2. Configure Trello\n  \n  * Enable Card Number powerup in Trello\n  * Set __same__ prefix in Card Number powerup settings\n\n3. Deploy the service\n\n  ```bash\n  npm install -g serverless\n  yarn install\n  yarn run deploy\n  ```\n\n  After the deploy has finished you should see something like:\n  ```bash\n  Service Information\n  service: github-webhook-listener\n  stage: dev\n  region: us-east-1\n  api keys:\n    None\n  endpoints:\n    POST - https://abcdefg.execute-api.us-east-1.amazonaws.com/dev/webhook\n  functions:\n    github-webhook-.....github-webhook-listener-dev-githubWebhookListener\n  ```\n\n4. Configure your webhook in your github repository settings. [Setting up a Webhook](https://developer.github.com/webhooks/creating/#setting-up-a-webhook)\n\n  **(1.)** Plugin your API POST endpoint. (`https://abcdefg.execute-api.us-east-1.amazonaws.com/dev/webhook` in this example). Run `sls info` to grab your endpoint if you don't have it handy.\n\n  **(2.)** Plugin your secret from `GITHUB_WEBHOOK_SECRET` environment variable\n\n  **(3.)** Choose the Push event for the github webhook to listen to\n\n  ![webhook-steps](https://cloud.githubusercontent.com/assets/532272/21461773/db7cecd2-c922-11e6-9362-6bbf4661fe14.jpg)\n\n5. Watch for logs \n\n  You can tail the logs of the lambda function with the below command to see it running.\n  \n  ```bash\n  yarn run logs\n  ```\n\n  You should see the event from github in the lambda functions logs.\n\n5. Start developing, mentioning trello cards and will automagically appear on comments in cards.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuksley%2Fgithub-trello-commit-message","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuksley%2Fgithub-trello-commit-message","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuksley%2Fgithub-trello-commit-message/lists"}