Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/freerange/webhooks

Bi-directional integration between Harmonia & Trello
https://github.com/freerange/webhooks

Add archival notice to README

2665c5c1a7aedfb4a4717ded223efacd7e02fc42 authored almost 7 years ago
Fix typo in README

604c7c839f6da36408de308b4494d1bf5633b138 authored over 7 years ago
Fix README formatting for code blocks

For some reason Github-flavoured markdown was confusing comments in code
blocks with markdown he...

9cce05f3408525d904abbe3c218da0bd854648e4 authored over 7 years ago
Stop sorting cards after new card creation

The sorting seems less relevant now that we have a separate Trello list
for Harmonia cards; putt...

24c8958acc050d7ec1834833cc52223c0de908e0 authored over 7 years ago
Merge pull request #26 from freerange/store-harmonia-session-cookie

Avoid signing in to Harmonia every time

1efd59ac9d6351e9d6787a25de80c8590cd9e0cb authored over 7 years ago
Avoid signing in to Harmonia every time

Prior to this we were signing in to Harmonia every time we wanted to
mark a task as done. Now we...

9edda9dd05795127f92253c2c73438efc6e15d18 authored over 7 years ago
Add instructions for adding a new user

09a8ad66a7e53dccff4a35ae3a30649efd412bda authored almost 8 years ago
Clarify testing webhook using AUTHENTICATION_TOKEN

The AUTHENTICATION_TOKEN set on the server needs to be used in the
command line test of the webh...

a21c44bf97eed3b43d3e64521665fb22024ff2ff authored almost 8 years ago
Describe the deploy:restart task

Adding a description makes the task discoverable when running `cap
-T`.

c79285c06fc56240899dd0abd3810280761ba00e authored almost 8 years ago
Log the raw JSON in the body of a Harmonia assignment request

This mirrors what we're doing for Trello event requests and it looks
as if printing to stdout me...

7ee14237153de3ccd0116b98a2ac8b88219a3a47 authored about 8 years ago
Update bundler to v1.13.1

6beb83ab0e4508683b07cbae86c6fc9b864ab19b authored over 8 years ago
Merge pull request #24 from freerange/upgrade-ruby-to-v2.2.5

Upgrade ruby to v2.2.5

ffd4355d43aeb81abc2affdaed5723e7ddfcf03a authored over 8 years ago
Upgrade Ruby from 2.1.9 to 2.2.5

All the tests are passing.

0c4068ed204c4ce683f36a149f13279d2ac83c5e authored over 8 years ago
Upgrade safe_yaml from 1.0.3 to 1.0.4 so app works in Ruby v2.2.5

I was seeing the problem described in dtao/safe_yaml#67.

Upgrading to v1.0.4 fixes this.

2bf3beab0ec001d3635014290111bc53cb068475 authored over 8 years ago
Handle Harmonia task re-assignment when card not in Harmonia list

Fixes #19.

When handling a web hook callback from Harmonia, the related Trello card
may not be ...

ce0ab335a4257a51a670dca57002000cdd77344c authored over 8 years ago
Extract add_member_to_card method to simplify code

332c01e94271aa2fe188da1aa8ceff707f28e659 authored over 8 years ago
Extract update_card method to simplify code

4b55feec08e1d2f719622eb06a7dee01dd5393a1 authored over 8 years ago
Extract create_webhook_for_card method to simplify code

f7ad27a50fda08e97cac5ccee8992f7515f45535 authored over 8 years ago
Extract create_card method to simplify code

7388b86c444241082956f1bbccf545cc00363c2b authored over 8 years ago
Extract remove_member_from_card method to simplify code

49593e1bf0a50e0da5ff8d5608726b3f4720c3fb authored over 8 years ago
Extract list method to simplify code

f56dd35ee44d291044c62f0bbf4661d4b10dabe8 authored over 8 years ago
Use guard condition to reduce indentation

This diff is best viewed using the `ignore-space-change` option.

6a6f178908a67ca56b8707d9423ff653f9d4cbdb authored over 8 years ago
Use single vs double quotes when the former is sufficient

696ff60fd8674a2c070504f92244ef153b64900f authored over 8 years ago
Specify Ruby version used in production

This is so our development environments are forced to use the same
version of Ruby.

9bb49ca12490feb70334996be8f0577e16f6876a authored over 8 years ago
Rescue Trello::Error exceptions and raise more meaningful exception

Trello card: https://trello.com/c/xIaIgvWd

It's a bit hard to know what's going on when a `Trel...

650554fc6dd619ec5457f5d592f3c161c507e228 authored over 8 years ago
Remove unused local variable

585c2e2553c38d713f9c0646e15900bcb92dc7cf authored over 8 years ago
Revert "Force Content-Type of incoming requests to application/json"

This reverts commit 1fb3674c1959503aa4f44f7864697e68b422c68c.

About 9 weeks ago, James A said h...

e8316eae1f4b5e68f43ecbb705019d4af3be6fa7 authored over 8 years ago
Allow triggering of exception for debugging

494e58b27afaeb08d23abdf73f2c7aa09e15a3dc authored over 8 years ago
Force Content-Type of incoming requests to application/json

Fixes #21.

This assumes that all incoming requests should be treated as having a JSON
content t...

1fb3674c1959503aa4f44f7864697e68b422c68c authored over 8 years ago
Move cards with earliest due dates nearest the top

The approach I was taking before didn't seem to be working correctly. I assume
this was because ...

6538b492a1b763fca56862ec95366ba2eef73d4d authored almost 9 years ago
Respond to Trello webhook request with 200 OK if card not found

If a Harmonia-related card is archived and then deleted immediately afterwards
it's possible for...

a82bbae04b644c426d8001e24a0a2364bbca4526 authored over 9 years ago
Refresh list so new card is included in sort

f450d8f7fc5bf284d314961b8afbf9aaa0d4ea66 authored over 9 years ago
Sort all cards chronologically by due date after adding new card

This is instead of always adding new cards at the top.

Cards without due dates will move to bel...

7ac7990bb6a662be6b3345386b572388a03da0e7 authored over 9 years ago
Update ruby-trello from 1.1.1 -> 1.2.1

This includes a fix [1] to allow the updating of a card's position.

[1]: https://github.com/jer...

7e6ccfa73a48687f0aed8eb5bcd297dba16c15c0 authored over 9 years ago
Upgrade rack from v1.5.2 -> v1.5.4

Fixes a potential denial of service vulnerability in rack [CVE-2015-3225]

[CVE-2015-3225]: http...

93718a94345ac633ae82bb55e5a2f954671c37f9 authored over 9 years ago
Revert "Output value of LANG environment variable."

This reverts commit 157da533ca2e1964ec7ec59ad6fd84b2d5a391e7.

I no longer need this debug infor...

1a554b76041922c1befc42a85bd84bbc7af503ed authored almost 10 years ago
Output value of LANG environment variable.

Temporary change for debugging purposes.

157da533ca2e1964ec7ec59ad6fd84b2d5a391e7 authored almost 10 years ago
Add a blank favicon.

This will reduce the noise in logs when the home page is requested from a
browser for diagnostic...

c49817dea9ee2089b52f0840021dda0ecf4c3aa0 authored almost 10 years ago
Ignore Sinatra::NotFound exceptions.

This results in a 404 response which is almost certainly ok, so there's no
need for us to be not...

172072da5e2af40c7145115ac5d2433c41735c1d authored almost 10 years ago
Add robots.txt disallowing access to all URLs.

This seemed like a sensible thing to do and is a simple way to avoid exceptions
like this one [1...

f985dcb15c5c8f8bb836dd1268ffc92d20cfa4d0 authored almost 10 years ago
Avoid creating the 'spec' task in production

I'm unable to run `rake` on production because 'rspec' is only
available in the 'test' group. I ...

f13e782870d5f34b1e573dd1b8f36e30e61c0698 authored over 10 years ago
Configure Airbrake to use SSL

This should prevent us from POSTing exception data to Errbit in plain
text.

10f651581babce066c3988a5dcaa76f51ee53a63 authored over 10 years ago
Dump Trello event request body to stdout.

Hopefully this will be captured by one of the Apache log files.

6891d0dc5b3fed07dc9c5b64f58e9f58c0609d33 authored over 10 years ago
Add new Trello cards to *top* of To Do list.

We tend to give Harmonia tasks priority over other cards, so doing this better reflects the way ...

8cfd264dc93b81e1bdfb26dee879c3ba9fc213b1 authored over 10 years ago
Explicitly set the downstream app to nil.

Previously the named argument was being passed to the superclass `#initialize`
method i.e. `{ ha...

aa2afc46cb816f2e3f056da1fd8139b81b9d83d9 authored over 10 years ago
Add & configure Airbrake to monitor exceptions in production.

d092a3b6baa7a8689d3f0c7fef2da1c07bc29213 authored over 10 years ago
Remove custom logger.

This has not been used since e572c8df470f4f7ad78bca6aaa86e17ce9fbda3d.

Also even if we do want ...

517863cae2a67c8bdfaaeae6dcca0e2dd2964cb6 authored over 10 years ago
Add comment to card when task is marked as done.

5146420972a8f5b9518277c20798ff78ed2854fc authored over 10 years ago
Move ancillary files into 'lib' directory.

83c94b2555d16b35458b855d50788ec854faf299 authored over 10 years ago
Unit test TrelloEvent to avoid combinatorial explosion.

7c3385808efc8aa8bd439131057f60cb56327845 authored over 10 years ago
Move TrelloEvent into a separate file.

b5b0dc44fa4e3ae9d65791692893ecbe5b70882c authored over 10 years ago
Extract Trello event logic into a TrelloEvent class.

9ab86fbea1a53327b635dedc42493a13ca0322cb authored over 10 years ago
Added specs for unhappy paths for Trello events.

405958e90645fcd75c36aec38a83b03111b8097c authored over 10 years ago
Capitalize 'head' HTTP method in spec name.

6fbbd43ec24c70906d53cc2bae4ff22ea00f0345 authored over 10 years ago
Move Harmonia class into its own file.

26d7ecdfbf4cb03bac91e7f2ae90b9c81e9d13ed authored over 10 years ago
Extract Harmonia class to encapsulate requests to Harmonia.

dfd99e2b243be4dd03b4c9da1dede8fd2868ab72 authored over 10 years ago
Move Sinatra application code into a WebhooksApp class.

This is so I can inject some dependencies into it.

e32b8a80921e386ed1e1d520a40207d9d6bbf4c9 authored over 10 years ago
Indent Sinatra app code prior to moving it into a class.

I think this will make it more obvious what's going on.

6938a907ef7a974acc419ff5f548c80710bfe855 authored over 10 years ago
Use Mechanize to mark Harmonia tasks as done.

Added specs for handling POST requests to Trello events action.

e572c8df470f4f7ad78bca6aaa86e17ce9fbda3d authored over 10 years ago
Add Harmonia task URL to Trello webhook callback URL.

d054dc14e3363d6b70dda5a12776a125ea01346d authored over 10 years ago
Use same authentication mechanism for Harmonia & Trello requests.

* Reject Trello event requests without authentication token using "410 Gone"
so old Trello webho...

03fd6f01b933ba838bbfe357d90c2e4a2670bf07 authored over 10 years ago
Add some specs around the Harmonia assignments action.

Note that I made some changes to the application code in this commit in order
to make it easier ...

0af3e38d392127faad3c8c710c756094c0a87c8d authored over 10 years ago
Prevent real HTTP requests when running specs.

0cb3c42072b9322dd0a6b4fdef6c6053d178548d authored over 10 years ago
Rubygems is included automatically in recent versions of Ruby.

9d9709624b4115df71d1db33fad64f699c3b032a authored over 10 years ago
Move location of log file into its own directory.

5f09db367aeab044d030c5a2cc5e3f843495faab authored over 10 years ago
Git ignore tmp directory.

07bdf75fa5778b3f46f06df2219a0492b00350b5 authored over 10 years ago
Add simple integration spec using Rack::Test.

f423fbcd6262e6f66e473e1b4a6a8e8c48a43125 authored over 10 years ago
Run specs as part of default rake task.

28be5a0d27c74b884ac8a0b002c3ad4e6ae297f9 authored over 10 years ago
Add sample RSpec integration spec.

82e6b6e1d2bf44a36e7414ccfd4bf20f7d1528f6 authored over 10 years ago
Add a default Rake task that does nothing.

69ee4f783ba57f27ab7c45f1a903bdd6478200b4 authored over 10 years ago
Entry for 'model' is at top level, not within 'action' entry.

40dd6b3f9a71e1b104e0b4ecd037efcd00748dc9 authored over 10 years ago
Hash entry for 'old' is within 'data' entry.

Also add parentheses for clarity.

5c7f7e3e3e13acd417fcc54d901c348c2428503c authored over 10 years ago
First stab at detecting Trello card being archived.

42f20cf0a1aac6ed857927dbdb3b0dc787ec5d13 authored over 10 years ago
Fix local variable name

5a525a3e67cce3ec37f4e13e2269fc0aef0e0bd0 authored over 10 years ago
Extract duplication

7baac8772690ca89b3453183ee3ff09c6bb24dab authored over 10 years ago
Remove newline from end of generated signature.

4a47862cd3cecb51d73918636f6b241f197fc040 authored over 10 years ago
Reject unauthorized calls based on Trello webhooks.

0f82a5bd41736897f1998bd1feee703437f1d9c1 authored over 10 years ago
Use raw digest instead of hex-encoded digest.

885bb1398a9f9c4c5567c70cc0e48c6dcd3151a5 authored over 10 years ago
Try a different way to generate signature.

Using OpenSSL is the preferred way.

Also display some intermediate results.

0b1cfc8657949f4c4098e050a84d7e3436df337e authored over 10 years ago
Use Trello secret to generate signature.

Also it needs to be Base 64 encoded.

1a48eb355b8fda6e9aab87bee4709506f5e0383a authored over 10 years ago
Use body *string* to generate hash.

1b31a6acfd8bc1d31ba7aa13b56b698ae910c0a9 authored over 10 years ago
Try generating hash based on signature header.

419336eb2701d256858c11c6bab6ba574853af83 authored over 10 years ago
Introduce a logger.

7560c5bc7dffeaa0b238ea3fbd5addda2ef72087 authored over 10 years ago
Trello webhooks spike.

20659a1b8f4a1cc97fd48ee2d27dbccb8af49dec authored over 10 years ago
Add mechanize to Gemfile.

9da06c66f73ea000d297196e7feb5d30cdb7ffb7 authored over 10 years ago
Remove unnecessary dependencies from Gemfile.

These dependencies were made _explicit_ in [1] in order to make things work in
Ruby 1.8.7, but t...

22aab5094bc36646b417f73ce390200d0db34233 authored over 10 years ago
Revert "Revert "Handle Harmonia task re-assignment.""

This reverts commit 9fa645e951709c382f95ee944eb995c661a3a6fd.

I've set `LANG=en_GB.UTF-8` in th...

442b888119e2c42e4e98d510baa12ac82f7987c2 authored over 10 years ago
Revert "Handle Harmonia task re-assignment."

This reverts commit de8fc182c6de70ffad791f806ef5f2a781a62efd.

I saw the following exception in ...

9fa645e951709c382f95ee944eb995c661a3a6fd authored over 10 years ago
Handle Harmonia task re-assignment.

Use the link to the Harmonia task to determine whether or not we've already
created a Trello car...

de8fc182c6de70ffad791f806ef5f2a781a62efd authored over 10 years ago
Use shorter form of Harmonia task URL.

145e4bb88c7babc4badd4d6eaee4a97d7f3eb6dd authored over 10 years ago
Append Harmonia task URL to created Trello cards.

1b016407507e57d6ce9ff3ad6335b9231504b1d4 authored over 10 years ago
Extract trello list ID into local variable.

64a5b9226bad3d0446ab908ec71d884f29cf668d authored over 10 years ago
Fail fast if environment variables are not present.

0aeb011e61bbe442ab4a075c8dae28364b94e2bb authored over 10 years ago
Remove another Ruby 1.8.7 Gemfile constraint.

This was introduced in 8a0a214b6a150231c2d88a5fda2cfe88b25c293d.

I ran `bundle update ruby-trel...

1713886604cc56104d6cde9c5344b2cc44311f83 authored over 10 years ago
Fix typo in README.

2be57c43e6a852a6ab9e714d25a2ab1cf14a0f3e authored over 10 years ago
Use guard condition instead of if/else for auth token.

7b962c366de32e9b00bd69ec6be3180cc3788ecd authored over 10 years ago
Prevent unwanted card creation by authenticating requests.

A simple token is enough to ensure that people stumbling across this
service cannot inadvertantl...

5946e6acb48d83580f4112d32dcd7dfa5a94ffe6 authored over 10 years ago
Merge branch 'migrating-to-another-server'

This webhooks app is now deployed and running on our new Linode
instance so these changes can be...

c12ad2531937483d74803f956a869108af531a29 authored over 10 years ago
Remove ServerAlias from Apache config

I was only using this alias to test that the webhooks app was running
correctly on the new serve...

ed9f7eb2660dbbebfe27e637f6522c320aca9eb9 authored over 10 years ago
Update Capfile to switch to deploying from master

This webhooks app is now running on our new Linode instance so we're
ready to merge this branch ...

559b850b5d78f0359f66394ef6704b6362914388 authored over 10 years ago