No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A github/gitlab webhook script written in Python inspired by ruby gem git-trello.


$pip -r requirements.txt

# Update these placeholders in
    'api_key': 'TRELLO_API_KEY',
    'oauth_token': 'TRELLO_OAUTH_TOKEN_FOR_BOARD',
    'board_id': 'BOARD_ID',
    'list_id_in_progress': 'LIST_ID',
    'list_id_done': 'LIST_ID',

    'host': '',
    'port': 7343

# Open your github/gitlab repo settings, add an webhook URL according to your configs.
e.g. For heroku deployment, add url
e.g. For self hosting, add url https://your-ip-address:port/webhook

$git commit -a -m "Fix [card #1]"
$git push

# git-trello will move Card #1(View Card, Card index is on the right bottom corner) from `list_id_in_progress` to `list_id_done` and append with your git commit url.


###OAUTH_TOKEN This is not so well explained in Trello, but I understood that you need to authorize the app with API_KEY to access each board separatelly. To do that:[BOARD+NAME+AS+SHOWN+IN+URL]&scope=read,write&expiration=never&key=[YOUR+API_KEY+HERE]

where [YOUR+API_KEY+HERE] is the one you entered in the previous step, while [BOARD+NAME+AS...] is, well, what it says. If your board url is

then you should type in "git-trello".

###TRELLO_BOARD_ID It is the end of the URL when viewing the board. For example, for, board_id is XLvlTFVA.

###LIST_ID_IN_PROGRESS and LIST_ID_IN_DONE List IDs seem to be a (board id + list index), where all are treated as hex numbers. However, this is undocumented.

Safe way to find a list ID is to open a card from the list, click the More link in the bottom-right corner, select Export JSON and find the idList.

Post receive will move all referenced cards to the LIST_ID_IN_PROGRESS, unless they are referenced by Close or Fix word, in which case it will move them to the LIST_ID_IN_DONE.


Example Trello board Example git repo


  • easy configuration
  • easy deployment