{"id":15653838,"url":"https://github.com/olebedev/hook-to-trello","last_synced_at":"2025-08-22T00:43:13.352Z","repository":{"id":8734977,"uuid":"10410049","full_name":"olebedev/hook-to-trello","owner":"olebedev","description":"Github \u0026 Bitbucket web hooks handler for Trello","archived":false,"fork":false,"pushed_at":"2014-11-09T16:47:40.000Z","size":318,"stargazers_count":28,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T23:18:08.717Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"LiveScript","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/olebedev.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}},"created_at":"2013-05-31T17:52:47.000Z","updated_at":"2023-06-22T20:19:14.000Z","dependencies_parsed_at":"2022-09-19T07:41:23.277Z","dependency_job_id":null,"html_url":"https://github.com/olebedev/hook-to-trello","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olebedev%2Fhook-to-trello","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olebedev%2Fhook-to-trello/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olebedev%2Fhook-to-trello/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olebedev%2Fhook-to-trello/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olebedev","download_url":"https://codeload.github.com/olebedev/hook-to-trello/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250472042,"owners_count":21436070,"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":[],"created_at":"2024-10-03T12:47:16.388Z","updated_at":"2025-04-23T16:41:56.784Z","avatar_url":"https://github.com/olebedev.png","language":"LiveScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hook-To-Trello\n\nIt allows you to manage or reference your [Trello](https://trello.com) board through commits to Github or Bitbucket.  \nThis is simple web app, which handle _POST_ request and work with [Trello API](https://trello.com/docs/api). It writen in [node.js](http://nodejs.org) and [LiveScript](http://livescript.net).  \nFor more information about webhooks you can read at [github](https://help.github.com/articles/post-receive-hooks) and [bitbucket](https://confluence.atlassian.com/display/BITBUCKET/POST+Service+Management) examples.\n\n### Example\n\n```\n$ git commit -m 'Finalized details done #124'\n```\n\nIt will update `card #124`: add commit message + link as comment and move it to a list `done`.  \n\n### Deploy\n\nBelow is script for heroku cloud. But you can host at any hosting for node.js.\n\n```\n$ git clone https://github.com/olebedev/hook-to-trello.git myhooks\n$ cd myhooks\n$ heroku create\n$ # Set configuration variables now. See Config App.\n$ git push heroku \u003ccurrent branch\u003e:master\n```\nIf deploy was good, you can find application url in stdout. Usual it look like this: `https://sheltered-brook-4402.herokuapp.com`. This _URL_ to be useful in the next step.  \nAfter that you need setup you repo for webhook. Read about it [here](https://help.github.com/articles/post-receive-hooks) or [here](https://confluence.atlassian.com/display/BITBUCKET/POST+Service+Management).  \n\n### Config App\n\nThe app needs at least one Trello key/token pair. How to get `token` \u0026 `key` see [below](#key--token).\n\n#### Basic Configuration\n\nSet the `TOKEN` and `KEY` environment variables. This uses the same Trello token and key for every commit. On Heroku:\n```\n$ heroku config:set KEY \u003cyour admin board key\u003e\n$ heroku config:set TOKEN \u003cyour admin board token\u003e\n```\n\n#### Per-User Tokens\n\nPut a file called `users.json` in the application root.\n\nThe file structure should look like this:\n\n```json\n{\n  \"olebedev\":{\n    \"key\":\"\u003ckey\u003e\",\n    \"token\":\"\u003ctoken\u003e\",\n    \"aliases\": [\"olebedev\", \"olebedev \u003cmail@olebedev.ru\u003e\"]\n  },\n  \"john\":{\n    \"key\":\"\u003ckey\u003e\",\n    \"token\":\"\u003ctoken\u003e\",\n    \"aliases\": [\"john\", \"john \u003cmail@john.com\u003e\"]\n  }\n}\n```\n\nIf aliases is not specified, application will be use each key of object as alias.\n\nThe location of this file can be customized by setting the `USERS` environment variable. This can also be set to a remote HTTP-accessible location and read on each POST hook run. For example you can host `users.json` in your dropbox, it very useful if you want to change users dynamically.\n\n```\n$ heroku config:set USERS \u003cyour JSON file (https://dl.dropboxusercontent.com/s/a1nwtlzdpf/users.json)\u003e\n```\n\n### Setup repo\nFor setup the repo simply add your heroku app _URL_ + \"/`\u003cprefix\u003e`/`\u003cboard_id\u003e`\" as a webhook url under \"admin\" for your repository. Where `\u003cprefix\u003e` is `g` for github or `b` for bitbucket. And `\u003cboard_id\u003e` you can get from the Trello board _URL_, for example https://trello.com/board/trello-development/4d5ea62fd76aa1136000000c the board id is 4d5ea62fd76aa1136000000ca  \n\nExample:  \n  * for github: `https://sheltered-brook-4402.herokuapp.com/g/4d5ea62fd76aa1136000000ca`\n  * for bitbucket: `https://sheltered-brook-4402.herokuapp.com/b/4d5ea62fd76aa1136000000ca`\n\n### Key \u0026 Token \n\nThis is a one-time operation for each user:  \n  - `key` - generate it here [https://trello.com/1/appKey/generate](https://trello.com/1/appKey/generate)\n  - `token` - generate it here https://trello.com/1/authorize?response_type=token\u0026name=Trello+Github+BitBucket+Integration\u0026scope=read,write\u0026expiration=never\u0026key=[your-key-here] replacing __[your-key-here]__ with the `key` from above. Authorize the request and get the token.\n\n\n### TODO\n\n- actions for checklists;\n- ~~simplify command notations~~.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folebedev%2Fhook-to-trello","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folebedev%2Fhook-to-trello","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folebedev%2Fhook-to-trello/lists"}