Commit Graph

367 Commits

Author SHA1 Message Date
Tim Abbott 9d82bb5318 event_queue: Add requests 1.x compatibility.
The previous version of our code only worked with python-requests <
1.0 (as is the case on our servers), the new version will work with
any python-requests new enough to have a .json at all.

(imported from commit 77ffe3e0d890fe88776c313e0e3289aee1bb30ea)
2013-03-29 16:18:37 -04:00
Zev Benjamin c4ed67b2d1 Raise the API polling timeout so it is greater than the heartbeat frequency
(imported from commit 3a6921a9b5c2c9cdf3ce279291de31d4657d9ae0)
2013-03-29 11:11:34 -04:00
Zev Benjamin 25e69b7e86 Add call_on_each_event() to our Python bindings
call_on_each_message() is now implemented in terms of
call_on_each_event().

(imported from commit b4f74ccf46e9cafd9a6ca28dce975492c2d0b29f)
2013-03-28 16:57:48 -04:00
Zev Benjamin cc16746219 Make python bindings use the event system
(imported from commit 5f47054bff4846018f8d606331de104a4ed2de0d)
2013-03-28 16:57:48 -04:00
Luke Faraone b1b88d22d7 Alternatively send request data using "params" if request method is GET
Previously we sent it always as "data", which caused problems for GET
requests where there is no request body.

(imported from commit 20084d1da1b8228cc484536ca4d6f77f547a9d78)
2013-03-28 12:53:42 -07:00
Luke Faraone e0cf6494ed Update API bindings to support new API URIs.
We also switch the Python client to use a client string of "API: Python"
to allow us to determine more easily which bindings our users are using.

(imported from commit 7216c3d150b371835f14d1bc8d81979a92e44925)
2013-03-28 07:59:31 -07:00
Luke Faraone a59d5b9ce6 Use 'Python API' as the API client string
(imported from commit 5c1f8a9c089aaed1c82729f81819b8373d796c2a)
2013-03-28 07:53:37 -07:00
Leo Franchi 6573a4ebb0 Bump API version to 0.1.5
(imported from commit 7c8c66369971e44405219eddac7e8bb3ddb44063)
2013-03-26 18:20:08 -04:00
Leo Franchi 360ded396e Include folders with subfolders when creating api tarball
(imported from commit b9d564a6cc4ee6e2afa0108b6d9f18af039fc8cf)
2013-03-26 18:20:02 -04:00
Leo Franchi dc2d8ece9f Add a groovy file for JIRA integration
(imported from commit 6336206e75389d3f52a868b54bfa79077337a24a)
2013-03-26 14:14:47 -04:00
Waseem Daher 4280affd1f Revert "Special CUSTOMER4 API release."
This reverts commit 47a8590a8b821cb1e2c8930f02a6bfbd42174af1.

(imported from commit fe336cce0bff798e9961ad2a66d942722ebbba86)
2013-03-15 00:27:42 -04:00
Waseem Daher 8ae102a99b Revert "Ship all of our examples in the API update tarball."
This reverts commit 4162114707f69bcfb6ecea95d7bdf4c080b4b168.

(imported from commit a4d68bc2a68209bed8e00e6d58dd5f5d3a3187f9)
2013-03-15 00:27:42 -04:00
Waseem Daher 7b801cbdfe Special CUSTOMER4 API release.
After this commit, we built an API tarball and sent it to
CUSTOMER4, and then promptly reverted the commit so that
we could continue as we had been before.

(imported from commit 662519a79edd508e7c115b451a7ec6fbdf1fc0a4)
2013-03-15 00:27:16 -04:00
Waseem Daher 226378304c Ship all of our examples in the API update tarball.
(imported from commit 4162114707f69bcfb6ecea95d7bdf4c080b4b168)
2013-03-15 00:22:49 -04:00
Jessica McKellar 4cfd486e67 twitter-bot: Fix hyphen typo in usage string.
(imported from commit a0da133bead740f60553a868c286e9eae461e861)
2013-03-08 15:58:45 -05:00
Jessica McKellar 0dd94f9913 demos: add a Twitter search bot.
(imported from commit 00c0c7b59616473ab2aec2a24b41798f7c8af322)
2013-03-08 15:58:45 -05:00
Jessica McKellar bd2807d3b7 Move twitter-bot to api/demos/.
(imported from commit eb0a9466b9064f89322ab593134af0761caeea8a)
2013-03-08 15:58:45 -05:00
Tim Abbott a64dd5a712 api: Fix version number check.
This fixes Trac #790.

(imported from commit 4bc82ac52298308bdb7d068ed6eee740e211aa56)
2013-03-06 14:19:32 -05:00
Tim Abbott 3be748ad25 [manual] Bump API version to 0.1.4.
To incorporate the site parsing fix from a couple weeks ago.

Before deploying this to prod we need to run build-api-tarball and
deploy the code to humbughq.com as for usual API releases.

(imported from commit f6711f5cc07d174c30866029032a595ecee785a3)
2013-03-05 10:17:57 -05:00
Jessica McKellar ad71168f77 Add an example RSS bot that runs out of cron.
(imported from commit 81d7e010f6316dfbe0ce7b645a7b61dde2881483)
2013-02-22 17:00:42 -05:00
Jessica McKellar 7202c50271 Install the demos directory in /usr/local/share/ as well.
(imported from commit 7516e5318f9e30544f53703ead4bca60f2dd7828)
2013-02-22 17:00:42 -05:00
Keegan McAllister 56d183ea06 Remove lurk mode from web client and API examples
See #796.

(imported from commit e238ce571c3f30d8312b630df7048ad1d9cad6d2)
2013-02-21 15:11:10 -05:00
Keegan McAllister 75704ad1e8 Consistently use #!/usr/bin/env python
At Ksplice we used /usr/bin/python because we shipped dependencies as Debian /
Red Hat packages, which would be installed against the system Python.  We were
also very careful to use only Python 2.3 features so that even old system
Python would still work.

None of that is true at Humbug.  We expect users to install dependencies
themselves, so it's more likely that the Python in $PATH is correct.  On OS X
in particular, it's common to have five broken Python installs and there's no
expectation that /usr/bin/python is the right one.

The files which aren't marked executable are not interesting to run as scripts,
so we just remove the line there.  (In general it's common to have libraries
that can also be executed, to run test cases or whatever, but that's not the
case here.)

(imported from commit 437d4aee2c6e66601ad3334eefd50749cce2eca6)
2013-02-20 16:02:30 -05:00
Keegan McAllister 8f5031687c post-receive: Send a notification to @everyone on non-fastforward
(imported from commit 8fc232dbef4b9b87f30f0b68c6407c43fd8553ba)
2013-02-19 17:39:55 -05:00
Tim Abbott 3a2ece7496 api: Fix reading in default value for api/site.
(imported from commit 7e698015599aee4f7b9176381b2ef2d29f3836af)
2013-02-19 15:40:18 -05:00
Tim Abbott c73ec65a2f git integration: Fix handling of new/removed branches.
(imported from commit f87ba78dbc292a05d82aedc74a90de6cbefee3e2)
2013-02-19 15:40:18 -05:00
Tim Abbott 346d16c034 api: Fix need to manually update list of integrations.
(imported from commit 6842230f939483d32acb023ad38c53cb627df149)
2013-02-19 10:17:06 -05:00
Tim Abbott 8c2c65f718 [manual]: API: bump version to 0.1.3.
We need to run build-api-tarball and release it on prod when pushing
this commit to prod.

(imported from commit 09e86500d2d208b1972c87444b4c2d56faafc8e6)
2013-02-19 09:17:08 -05:00
Tim Abbott 4caafd66ce Rewrite git hook for distribution and document it.
(imported from commit c3238bc5b5e29727cddb43bc55ab418326226acd)
2013-02-19 09:17:06 -05:00
Tim Abbott f0be25ec9d [manual] Bump API version to 0.1.2.
Before pushing this to prod, we need to build the 0.1.2 API tarball
and deploy it to the appropriate place on our servers.

(imported from commit ec1a07b3cc2a3e360dac32823ff7cd9de9de1da2)
2013-02-14 17:50:00 -05:00
Tim Abbott 6e1842d5fa trac: Add owner to list of fields that notify by default.
(imported from commit 48084ff341e4cce6164bfbfde9105768303d185c)
2013-02-14 17:50:00 -05:00
Tim Abbott 63827c2301 Make the Nagios integration configurable, available, and documented.
(imported from commit 1208fc08ed366a892763c3b29b9aeafa90b29981)
2013-02-14 17:50:00 -05:00
Tim Abbott 61369c87ec Move trac integration to a subdirectory.
(imported from commit fea539e275a5c81d9fde7f66ef8396d77f8d8b6d)
2013-02-14 17:50:00 -05:00
Tim Abbott 4ed2ffb4ce api: Fix installation of example and integrations.
Previously we were installing data files to e.g. /usr/local/example
and /usr/local/integrations, which is really not OK.

(imported from commit 0efb50412f93efabfe55443d5cac57a8ebb9fe06)
2013-02-14 17:50:00 -05:00
Tim Abbott 2b12dbae9c api: Make site settable via configuration files.
This works much better for working with staging, since rather than
needing to tell each individual tool that you're using staging, you
just specify that along with your API (which at the moment implies
whether you should be using staging or prod).

(imported from commit c1de8e72c24f35ef2160bce5339a5f03c6e1da95)
2013-02-14 17:50:00 -05:00
Tim Abbott c213e3f147 humbug_trac: Make sure we import humbug_trac_config from cwd.
It doesn't matter for this script, but I worry the code will be
copy-pasted into other new plugins.

(imported from commit 0fe5280af5aa05a7efc3d146f1570f9a72c62027)
2013-02-14 17:50:00 -05:00
Tim Abbott bf52fcff8a humbug_trac: Make notifications for comments configurable.
(imported from commit 8eeea4051194d0038b039befd9b9a0ee4099a30c)
2013-02-14 11:14:48 -05:00
Tim Abbott 818bf4d6e9 humbug_trac: Make which field changes cause notifications customizable.
(imported from commit 91b138a0eaf3c3773752ae3a4c4599bd5c095497)
2013-02-13 16:30:30 -05:00
Tim Abbott be57fa8a76 Split out Trac plugin configuration (and de-duplicate the plugin).
(imported from commit aa3cd2c5a376315a463bf564ba57d751e36431d6)
2013-02-13 16:30:30 -05:00
Tim Abbott bedf1dd563 api: Make call_on_each_message restart if 'last' is too old.
This should fix the symptoms of the problem we've been having where a
few API clients using the MIT Zephyr mirroring system sometimes seem
to end up with a too-old value of last.

(imported from commit 9f2426fa6a7e8365e8d3443bfd2cce3238cc9510)
2013-02-13 08:14:09 -05:00
Zev Benjamin ae97854d17 Bump API version number for addition of integrations/ directory
(imported from commit c5990ef963b5e7b7919fdef9f461a75e82015113)
2013-02-12 16:11:20 -05:00
Jessica McKellar 73331f1e18 api: Add a list-members example script for the /get_members query.
(imported from commit 2fc213b746eb032b98d86f933ce69e7cbe9822d1)
2013-02-11 13:45:47 -05:00
Jessica McKellar 8bbb88fc29 api: Add get_members to the Python bindings.
(imported from commit 446453e0cd355f37876a2233bbfa024a96f3a6a8)
2013-02-11 13:45:46 -05:00
Waseem Daher 2660db7e18 api: Move integrations into their own subdirectory.
(imported from commit e1a64fbbc64e64e7a2c2fdda4cc9bc77ff3bc852)
2013-02-07 14:15:44 -05:00
Waseem Daher 8f573fac4c Simplify the Trac integration plugin options slightly.
(imported from commit 4588d70f4e7664a9ba85be7003e17d4e8f55a333)
2013-02-06 17:37:44 -05:00
Zev Benjamin b0b304e58b Add a copy of our Trac integration (with example constants) to the API examples
(imported from commit 4e7bfaf92842ae0bb24c28ae1187d83ca5c44b0e)
2013-02-06 11:45:43 -05:00
Luke Faraone 71e98baad4 We no longer require requests<<1
(imported from commit 2ddfca4f969a4f0cba3851c8123b1a3427f63509)
2013-02-05 16:35:45 -05:00
Luke Faraone 61d8183a71 Be more explicit as to where .humbugrc goes
(imported from commit 3e229d61ebfef64e29ca45cc57eca04ec207ae86)
2013-02-05 16:35:45 -05:00
Luke Faraone fc7b6e9fb0 Invert check for .json() vs .json in requests.
dd74cadb incorrectly used .json when it should have used .json(), and
vice-versa.

(imported from commit 2a1d0bbaece77e6765c430ddf3e8de5d987194ae)
2013-02-05 16:34:16 -05:00
Tim Abbott a5f2bec873 api: Fix running with requests 1.0.x.
I would prefer to be testing the attribute itself rather than the
version, but it's not easy to access without an actual request object,
and I'd prefer to compute this once-and-for-all on startup, rather
than on each request, since the latter just seems fragile.

(imported from commit dd74cadb1b2359faeb3e1b482faeee4003dfad77)
2013-02-05 16:08:46 -05:00