Commit Graph

557 Commits

Author SHA1 Message Date
Tim Abbott 44386b3615 api: Document options required for use with Zulip Enterprise.
(imported from commit 59f136cf0f1a5d9509bec054b060ab44695b77e0)
2013-12-04 16:30:51 -05:00
Tim Abbott 4e52ecce0f api: Update documentation on ZULIP_SITE option.
(imported from commit 82109dc08847240440f90524343c0f9562e4a0bf)
2013-12-04 15:14:15 -05:00
Tim Abbott 02304ca4a0 Remove api/examples/curl-examples.
It's out of date and we've never distributed it anyway.

(imported from commit 884e302ea4f55f9b3f986694a786cc5c17128e71)
2013-12-04 15:10:54 -05:00
Waseem Daher ca85e5bc51 Link to our API page from the Github repo README.md
(imported from commit 2dfa7a3bf27a15f1f43ee2ecef5d501c17669bde)
2013-12-02 13:18:04 -05:00
Jessica McKellar 3459962e69 API release 0.2.3.
(imported from commit 80591f61785b492b2ec8897bb2a2e5eff8e089fc)
2013-11-27 13:15:21 -05:00
Luke Faraone 1202cacffd setup.cfg to run install_data on API install
Previously, users of setuptools would get our data embedded in eggs.
Eggs are horrible things, but more importantly our package data should
be free, in a well-known albeit system-dependant path that is
independent of the package.

By specifying [install_data][1] as an alias of install, we assure that
our data (examples, integrations, etc) are placed in $data/share as
$DEITY intended.

Alternative suggestions included force-adding "--old-and-unmanageable",
which would invoke the distutils-style install command, but that had the
unfortunate side effect of turning off eggs and dependency resolution
altogether.

We could also use "--single-version-externally-managed", but I think
that was designed to be used by package managers, not by us.

In any case, both of the above were fragile and might break if the user
specified additional options to setup.py.

In closing, Python module management is horrible. See [this][2],
[this][3], and [this][4] for info about the status quo, and [this][5]
for information about crack to be smoked later down the road. Don't even
get me started about [PEP 427 -- Python wheels][6].

[1]: http://docs.python.org/2/distutils/commandref.html#install-data
[2]: http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/
[3]: http://stackoverflow.com/a/6522905/90777
[4]: http://python-notes.boredomandlaziness.org/en/latest/pep_ideas/core_packaging_api.html
[5]: https://python-packaging-user-guide.readthedocs.org/en/latest/future.html
[6]: http://www.python.org/dev/peps/pep-0427/

(imported from commit 6cf1bd2b8f5a60b2f02f5d11094e4a41cc5e48aa)
2013-11-26 13:26:31 -05:00
Jessica McKellar 5b01dadfd3 rss-bot: handle feeds that don't have a title.
(imported from commit 2d95ee0cd85ac25a7c0241ce1747509e2f9c6be6)
2013-11-22 11:28:19 -05:00
Tim Abbott 630cfd72f1 Deregister event queues when done in our Nagios scripts.
(imported from commit a1f73403163323e1dd9eda2f5269e94c60abdd1a)
2013-11-20 18:34:16 -05:00
Tim Abbott 968c393826 Use the new !avatar syntax in our git integration.
(imported from commit e00bc63f6fb1944ed206b3ede5431ac2b1ae1ac2)
2013-11-20 13:10:43 -05:00
Jessica McKellar 1e1a0ee0e9 Add basic Asana integration.
Due to limitations in their API, we have to poll and check for
creation and completion events.

(imported from commit be65e507fac16a7f8ad3dc57b2af9c4b98aacf39)
2013-11-19 13:30:34 -05:00
Tim Abbott be48e6ab15 Update paths to rss-bot.
(imported from commit ab6ea5e881593c8533680323bf525faacc2ddfec)
2013-11-18 08:11:06 -05:00
Tim Abbott 6971a0f4cc Fix rss-bot parsing of feeds that don't specify a post ID.
(imported from commit 67fdb8b92b39fc14c81b87b7fa8089964c07be8b)
2013-11-18 08:11:06 -05:00
Tim Abbott fce97df972 api: Fix our handling of the --site option.
Tested that the following all do the same thing after this patch:

--site=https://ls-dev.zulip.net
--site=https://ls-dev.zulip.net/
--site=https://ls-dev.zulip.net/api
--site=https://ls-dev.zulip.net/api/

(imported from commit 785c005e4b4be3621d7d330a0173023ab2c77a4d)
2013-11-15 11:10:25 -05:00
Tim Abbott 68dcc760c3 Clean up some unused imports.
(imported from commit 0c5d8e2a55ba1b8909ba807fee3afe863dcdc226)
2013-11-04 11:51:17 -05:00
Luke Faraone c71166f116 api: Include MANIFEST.in
This should have been included in an earlier commit.

(imported from commit 683f3dbbe8730cc588836b7b27a881a50caa284d)
2013-11-01 12:08:04 -04:00
Luke Faraone 7b6e584336 Remove accidentally left-in import of zulip in setup.py.
This is **actually** 0.2.2 :)

(imported from commit 4ae69809b550d76b7c3bdf7b1420b25b6e41f73b)
2013-10-31 16:27:59 -04:00
Luke Faraone 3be10e50ef API 0.2.2 release.
(imported from commit 891ab7549e96c30dceb70bb18add1cd533fafd36)
2013-10-31 16:23:03 -04:00
Luke Faraone e872cae552 Increment copyright year.
(imported from commit d42dfd080807a11d898a1c7b96b9f048e20bccf8)
2013-10-31 16:23:03 -04:00
Luke Faraone de42c2a86c Switch to four-spaces indentation in setup.py
(imported from commit 621e5755e8cfd7117e012f4245de0916e45060bb)
2013-10-31 16:23:03 -04:00
Luke Faraone 8f6e4c4163 Update support email address
(imported from commit 3265ea2ec037093bd883a440fe9f8c6d72642a31)
2013-10-31 16:22:51 -04:00
Rory Kirchner b33819c16e Added a stream class for use with the logging module.
License assent:
    https://github.com/zulip/python-zulip/pull/3#issuecomment-18182458

(imported from commit 9faf9dd147032b1e56b113bc0f0d729a653e1e49)
2013-10-31 16:22:51 -04:00
Luke Faraone cb00186c6a Optionally use setuptools if it is installed.
Thanks to to github.com/roryk for the suggestion.

(imported from commit 9e4365dc56f1bc2f1a1a49be4a7b662d94bf42a9)
2013-10-31 16:22:51 -04:00
Rory Kirchner aa17018a38 Parse __version__ from __init__.py
This way we don't crash if dependencies aren't installed.

License assent:
    https://github.com/zulip/python-zulip/pull/3#issuecomment-18182458

(imported from commit f1aa37e97c60a06234c004ada48e08984a085d6f)
2013-10-31 16:22:51 -04:00
Jessica McKellar b7fa44bed3 Add a first pass at Mercurial changegroup (hg push) integration.
(imported from commit 94c91aed6282a2fffcd7753a06dc68a298b7bdc7)
2013-10-29 09:58:04 -04:00
Tim Abbott 901a5c342c Use os.path directly rather than sometimes importing it separately.
(imported from commit 48486c4ea64d02a15faeebb0f490d31e9b113d62)
2013-10-28 15:44:13 -04:00
Tim Abbott 924c5fea24 api: Add support for specifying client using zulip.init_from_options.
(imported from commit f92db44af606d67d5a1dcc9c978cee0d079d466d)
2013-10-21 14:37:36 -04:00
Jessica McKellar 387bdb01c2 twitter-search-bot: update the path to the bot in the help.
(imported from commit c1097685870029d9f6e7d0ba5a9e61912cf00885)
2013-10-16 21:26:01 -04:00
Jessica McKellar 6e6e054024 twitter-search-bot: add the version requirement for twitter-python to the help.
(imported from commit dbee40c3081e50b07a80a297691acf98f4aaf89a)
2013-10-16 21:26:01 -04:00
Jessica McKellar 8bc6e61071 twitter-search-bot: Consistently capitalize Twitter.
(imported from commit 1c8f0b526d0112c05c91b69a77081ec361da538c)
2013-10-16 21:26:01 -04:00
Leo Franchi eb23464eaa Add support for discussion comments in Codebase mirror
(imported from commit 9b37cbf4209ad607966053af9c1ef9979c2d6205)
2013-10-15 09:38:38 -04:00
Zev Benjamin 46350c5dd8 codebase: Truncate subjects to 60 characters
(imported from commit db5ba1a8af80f2060aec03b3ba1d9e0f3e75c0b3)
2013-10-08 18:54:03 -04:00
Zev Benjamin 4dbedaf1fb codebase: Fix URLs
(imported from commit 664de2e6ad78d07498c7ad8813049d1e07c5b379)
2013-10-08 18:53:42 -04:00
Tim Abbott ac01b0ed19 git integration: Linkify our commits to point to GitLab.
(imported from commit e8d3c107842680dec9bc6aa84f9548c0f879785d)
2013-10-08 17:21:57 -04:00
Tim Abbott 70c666c3c6 [manual] Rename humbug@humbughq.com to zulip@zulip.com.
This requires renaming the account in Google Apps at the time we
deploy this; we'll probably want to do this during off hours to avoid
any user-visible downtime.

This also updates some related email addresses.

(imported from commit fce7629b359a4f278bbf7815c8d177a8fa0484fe)
2013-10-08 08:57:29 -04:00
Tim Abbott b8b0eb4508 Some zulip => humbug updates in comments and print statements.
(imported from commit 9253569a1df7f96fda81ab162d710cdda03f30ca)
2013-10-08 08:57:29 -04:00
Leo Franchi cd60b8992d Bump API tarball to 0.2.1
(imported from commit d9b0f12a7ad28e8ab3e457737d3bcf1e0b9f7152)
2013-10-02 17:41:21 -04:00
Leo Franchi 8b11b835ae Remove demos/ from setup.py install as it's no longer there
(imported from commit 5a0deb8fcf3ebdb79115d4c573b5770ad4a6ca52)
2013-10-02 17:41:21 -04:00
Steve Howell f26a23a5fa Have Jira Groovy client send client=jira-groovy to our API.
(imported from commit 9186c5a8ac9ac910e914eaa342040f595b38a052)
2013-10-02 15:28:36 -04:00
Leo Franchi 8a1b904a2d Move RSS and Twitter bots to integrations/
(imported from commit a8105d5161eae6708d6322037cd6a45bef237050)
2013-10-02 11:37:05 -04:00
Leo Franchi 54d83a3a36 Add a Codebase integration
(imported from commit d1ea870cd6ac6bf5d00c03d8859d66638d3242e8)
2013-10-02 10:55:17 -04:00
Tim Abbott e5b3f08b04 trac: Include ticket summaries in body if they were truncated.
(imported from commit df1bd5e765725d077cc30ce92eac8bf694145044)
2013-10-01 17:41:30 -04:00
acrefoot c5f8ffc767 Make call_on_each_{message,event} examples more clear
Before these examples weren't obviously blocking calls (they seemed
more like a callback registration, which may make more sense in the future)

(imported from commit 78fdf98d791b19843526437c710901d8dff62e8c)
2013-09-24 16:19:54 -04:00
acrefoot 9e690e8625 Fixup 484bc12681a43cd01fe0189c072ab4230eb32c22 typo
(imported from commit ff4043b6ea0c2389560114dcda6269fd64932cd5)
2013-08-29 18:07:49 +00:00
acrefoot dc175c9427 Basecamp mirroring script
This mirrors all the "events" in a Basecamp account onto a stream in Zulip
(default "basecamp"); it sets the topic as the calendar or project that the
event belongs to.

Unfortunately, Basecamp will not host hooks, and neither do we, so this script
is currently intended to be run by our customers, much like the Trello mirror.

(imported from commit 484bc12681a43cd01fe0189c072ab4230eb32c22)
2013-08-30 20:00:07 +00:00
Tim Abbott f5f95e5f43 [manual] Extend /api/v1/streams API endpoint.
Previously it only provided the list of all public streams; now it
allows one to specify any union of some of the following:
* all public streams
* all streams the user subscribed to

(the most relevant being the union of those two, which is what we want
for the "streams" page).

Or:
* all streams in realm (superuser only)

The manual task required is that when this is pushed to prod, we need
to also deploy the new sync-public-streams version to zmirror.

(imported from commit 27848b8bd136e2777f399b7d05b2fdcec35e4e21)
2013-08-22 12:29:04 -04:00
Tim Abbott c5fcbe103c zephyr_mirror: Handle syncing subs with invite-only streams.
(imported from commit ec8d0c0d13ff0a81fa4a5e1225e94e6dad997356)
2013-08-20 15:02:04 -04:00
Tim Abbott 06d6d14fd7 [manual] Bump API version to 0.2.0.
When we deploy this, we'll need to of course actually build and deploy
the new API tarball.

(imported from commit 03c853e8a9424a63f1c74bb83637d5a1e50a159a)
2013-08-09 15:34:57 -04:00
Waseem Daher b9db604c79 rss-bot: Linkify RSS entry title.
This makes our life a bit nicer if the message is super-long,
because then even when it's "condensed", we still get a link
to the actual article.

(imported from commit 32e70d29cb702ce73f6cd0c04dbc58457cd2e6b5)
2013-08-09 14:09:09 -04:00
Waseem Daher 25f5d240da Fix argument parsing for Twitter bots.
Even though we support a command-line option of --user=,
it gets stored in a field called 'email'.

(imported from commit f2956524517a93187ed182caf8e2d85ccbc1a0f4)
2013-08-09 14:09:09 -04:00
Steve Howell 509c3b4dc3 Send the full first line of the commit message to Zulip.
(imported from commit accafb1cd2fa64ad1377d0fc72ff8f89c1806d3b)
2013-08-09 10:45:20 -04:00
Tim Abbott b4d74b4fbc Rename /usr/local/share/humbug/ to /usr/local/share/zulip/.
(imported from commit 6b5d13b36f96c7174e70ce1391f1d66724c45a62)
2013-08-08 10:22:32 -04:00
Tim Abbott 1fcb389494 Rename Humbug-based variables/paths in twitter search plugin.
(imported from commit a5e1df1f6c58321974c34bacb7515672be55e88e)
2013-08-08 10:22:32 -04:00
Tim Abbott c2acea78cc Rename Humbug-based variables/paths in twitter plugin.
(imported from commit fcb6332d0d1293044f17e841cd78e4f91de5dd30)
2013-08-08 10:22:31 -04:00
Tim Abbott 848e5258c7 Rename Humbug-based variables/paths in rss plugin.
(imported from commit 40b71946752dc323eff8bfe9a03b167bd83c563d)
2013-08-08 10:22:31 -04:00
Tim Abbott f137fa833b Rename Humbug-based variables/paths in jira plugin.
(imported from commit a4596acc5c2d8da5cecad772e9cda5a371189299)
2013-08-08 10:22:31 -04:00
Tim Abbott aba11be192 Rename Humbug-based variables/paths in svn plugin.
(imported from commit 43a9282ad86546fb59e91c36e97a595e51789d07)
2013-08-08 10:22:31 -04:00
Tim Abbott 94f8933b8d Rename Humbug-based variables/paths in git plugin.
(imported from commit e153c7a1a68e82dd3fa45251644be74c62770a9d)
2013-08-08 10:22:31 -04:00
Tim Abbott 53a47e8534 Rename Humbug-based variables/paths in Nagios plugin.
(imported from commit fe8e33241215ea880f7351c3c86b0fb546faf8d3)
2013-08-08 10:22:31 -04:00
Tim Abbott 3005792734 Rename Humbug-based variables in Trac plugin.
(imported from commit 5d406cb6c5fe7b1fbd4da706f7ac6bb6e381cadb)
2013-08-08 10:22:31 -04:00
Tim Abbott 6550134b3e Rename humbug_*_config.py to zulip_*_config.py.
(imported from commit a1d4dd22c59f812f0eb4875dc70c89ce96a4b90c)
2013-08-08 10:22:31 -04:00
Tim Abbott 03293b7be9 Rename humbug-send to zulip-send.
(imported from commit 61400841f8fffe4c706d867aaa012059bcba271d)
2013-08-08 10:22:31 -04:00
Tim Abbott 747a9c536f Rename the 'humbug' API module to 'zulip'.
(imported from commit b3a3d7c05459cbb0110cd0fbe2197d779f3a6264)
2013-08-08 10:22:31 -04:00
Tim Abbott 2ea1bb05a5 Rename ~/.humbugrc to ~/.zuliprc.
(imported from commit a0d53dd20097a56971874dc1d84c6f95267e84f2)
2013-08-08 10:22:31 -04:00
Tim Abbott 1f1af26048 Change Humbug => Zulip in text/comments.
(imported from commit 2f9d73431ae40e1b9e9e11bc2f4f62f566ae758a)
2013-08-07 10:00:07 -04:00
Tim Abbott 802b3dc3b2 Add API endpoint to render some message content without sending a message.
(imported from commit e1604b3bf4fc65e958db22f280eba1b5d2ba1e90)
2013-08-01 14:01:58 -04:00
Tim Abbott 102b495609 api: Fix error reporting when result is not JSON.
Previously, we would return a JSONDecodeError to the user in the event
that the server returned a 500 error (or other non-JSON content).

(imported from commit 1624dfec6ac65d34216f4de91e33116a54e414fa)
2013-07-30 16:32:13 -04:00
Scott Feeney 409c495c78 Move API readme to README.md to match GitHub repo
(imported from commit ca30e948c158a4a285bcd002d45725ff13d47cc7)
2013-07-29 16:45:06 -04:00
Tim Abbott 975f4aa59f api: Fix path in send_message example.
(imported from commit 6aab581bf00736986ffcd11042c757eff0c78653)
2013-07-25 17:27:46 -04:00
Tim Abbott 0d077e7f41 [manual] Use api.zulip.com to access the Humbug API.
This needs to be deployed after the nginx configuration is deployed.

(imported from commit 167a3d9d27595d40883bb400ebcc44c4ad9b6a2f)
2013-07-25 17:27:46 -04:00
Tim Abbott 438739f6cc More miscellaneous humbughq.com=>zulip.com updates.
(imported from commit 9a3dbc4268f251c2c0b20d8b6a7e1dc672f1b385)
2013-07-25 17:27:45 -04:00
Tim Abbott bcf86cae98 Switch Humbug users in API examples to zulip.com email addresses.
(imported from commit 83abeafee8d7d146d950c3049568acbf51bb3a12)
2013-07-25 17:19:18 -04:00
Tim Abbott e2a74b0613 api: Fix using staging.humbughq.com as the base_url.
urlparse.urljoin(base_url, url) will drop any path inside base_url if
either the url has a leading "/" or base_url doesn't have a trailing
"/".  So adjust our API bindings to ensure that doesn't happen.

(imported from commit c080ee8c04b89127888609da28afc8b388af1911)
2013-06-28 15:57:28 -04:00
Tim Abbott ea8a80603a [manual] Change API URLs to be based on api.humbughq.com/api.
This must be deployed after we update our running nginx configuration
to serve api.humbughq.com.

(imported from commit b5c34ebdd595f55eecd6dca6a18a37f105107bd5)
2013-06-28 15:57:27 -04:00
Scott Feeney 83cd963c49 Remove unused imports
(imported from commit 9e3050c72a2d1137b9096c6cfa1c3945341b9a56)
2013-06-27 16:22:39 -04:00
Tim Abbott 84b073b05c API: Release several additional API calls to users.
(imported from commit 8b32fa126ab76dc80ee775482a9749dff17edf37)
2013-06-25 16:34:45 -04:00
Tim Abbott 1ec0ee0fd6 [manual] API add_subscriptions: Change arguments to support options.
Since in the future we might want requests to add subscriptions to
include things like colors, in_home_view, etc., we're changing the
data format for the add_subscriptions API call to pass each stream as
a dictionary, giving a convenient place to put any added options.

The manual step required here is updating the API version in AFS
available for use with the zephyr_mirror.py system.

(imported from commit 364960cca582a0658f0d334668822045c001b92c)
2013-06-25 16:34:45 -04:00
Tim Abbott 2a9498dfd3 API: Use humbug.init_from_options in send-message example.
(imported from commit d44cd5fafa565b2f4709714c2777ad9ce513d953)
2013-06-25 16:34:44 -04:00
Tim Abbott ce50812bca API get_members: Return a dictionary of users, not a list of tuples.
I believe this should require no special work on deploy, since some
grepping of logs suggests we are not currently using this API query.

(imported from commit 240086f900c6680cbc90bf6a2f334a9e1f172df6)
2013-06-25 16:34:43 -04:00
Tim Abbott 49a26b9c75 api: Don't require 'https://' in site option.
The --site= option is really only for internal developer use, so I
don't think we gain anything from being strict about it.

(And it doesn't help that the error message one gets pre-this-patch is
super confusing).  Fixes Trac #937.

(imported from commit 8d699982aa6830f9eae2bccd6d0c7a1e0e53dd56)
2013-06-18 14:59:07 -04:00
acrefoot b20eb5621f [api version bump] Update API documentation in the example scripts
Give better examples, and rewrite options parsing to be more consistent across examples.
Make it more obvious that you can use "--user" and "--api-key" with our python examples.

This bumps our python bindings to v0.1.9

(imported from commit 297468088f864b7d585e567dc45523ea681f1856)
2013-06-05 17:34:41 -04:00
Tim Abbott b753eb0c1e [manual] Include the events API in the API tarballs.
Previously our receive API bindings were broken in our API tarballs
because we weren't including the receive API bindings which they used.

This requires our deploying the built API tarball to the prod server
when we deploy it so that the link on /api isn't broken.

(imported from commit 14ecaab34556f4e29c72f4f567d8af73c89d6297)
2013-06-04 15:53:36 -04:00
Jessica McKellar 53de71c0b3 api: bump version to 0.1.7.
(imported from commit 71d1af3806dea82a55ff7f620a92ffb7f1b63a56)
2013-05-29 15:23:26 -04:00
Tim Abbott 880a74eea9 Fix too-long subjects sent by git and nagios integrations
(imported from commit 9bf3af613b07fb7c72125eee0d08fd4a16dfa88a)
2013-05-22 10:17:15 -04:00
Tim Abbott d467a93877 Add support for updating messages after they've been received.
Currently the interface for editing messages is limited to a
command-line API tool; it's great for testing with e.g.:

./api/examples/edit-message --message=348135 --content="test $(date +%s)" --site=http://localhost:9991 --subject="test"

The next commit will add a user interface for actually doing the editing.

(imported from commit bdd408cec2946f31c2292e44f724f96ed5938791)
2013-05-20 23:40:26 -04:00
Luke Faraone 4828c90c64 Implement Humbug SVN integration.
This post-commit hook depends on pysvn. After a transaction is completed,
a Humbug is sent to a configurable stream with the repo modified, actor,
and commit message.

(imported from commit 75cab82d5fe993ea7c4c05be07a7b61e770aff81)
2013-05-01 11:37:07 -07:00
Luke Faraone e3b72155b8 Bump API version
(imported from commit 2366dbabbb0395676bfe7ad908ce362c3aca84c2)
2013-04-18 09:57:54 -07:00
Luke Faraone 8e1268c8fa Update README so as not to lie about min requests version :)
(imported from commit 074adaa6d15014caad83b19f234dd291025fc667)
2013-04-18 09:57:53 -07:00
Zev Benjamin 130c94a2b1 Make the API bindings method for removing subscriptions have the same name we use in our example
(imported from commit de330caa997a02a9122f9d1d9fa0a3891f18f99f)
2013-04-01 13:05:57 -04:00
Zev Benjamin d12a6b8506 Remove the use of "--site" from the example scripts' usage text
Now that we're distributing these examples, we shouldn't be promoting
the use of the "--site" option.

(imported from commit 01ded4a851dc799fa6c7e902e937c4331ed92bf8)
2013-04-01 13:05:57 -04:00
Zev Benjamin a326eb2c48 Fix subscribe/unsubscribe example help text
(imported from commit 886066daa80b377b71b19f992d6733d87bc4d9d3)
2013-04-01 13:05:57 -04:00
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
Jessica McKellar d30c8b857e Only include send_message-related examples in API release.
(imported from commit 058a121b4b3c6b2829396c3c7a1007656a9e09da)
2013-02-05 14:09:29 -05:00
Luke Faraone 8e0ed8eb07 Update README to document new layout and installation instructions.
(imported from commit ba4d8c4db31ef572b53f49b6792b926236bea553)
2013-02-01 15:52:28 -05:00
Luke Faraone 0e4f1b6d24 Basic setup.py script for API
Refer to the API version via an import.

(imported from commit ef28f4edc0d519b4c6a49ef414279685a3d38202)
2013-02-01 15:52:28 -05:00
Luke Faraone 57e0d37249 Move files around in the API.
Bots are not part of what we distribute, so put them in the repo root.

We also updated some of the bots to use relative path names.

(imported from commit 0471d863450712fd0cdb651f39f32e9041df52ba)
2013-02-01 15:52:28 -05:00
Leo Franchi 6e9b8d895c Add munin plugin for send-receive timing
(imported from commit e2ae0775379ce59ab43213e68ade4d3f88b578e6)
2013-01-31 13:02:57 -05:00
Leo Franchi 6e3e6f00bd Add a proof of concept polling twitter bot
(imported from commit ededca33bc74404075de343aad1ec3358f07fe92)
2013-01-31 13:02:29 -05:00
Leo Franchi 6a755c2126 Convert to []-style list comprehensions to quiet pyflakes
(imported from commit d81ec98552846d8af71394c7c530aadc53f77127)
2013-01-30 15:24:49 -05:00
Luke Faraone 6b9f688ba4 Require requests version to be >= 0.12.1.
My previous commit (fbdc092029bbafea716e27fbb99fec58a6f24392)
incorrectly specified that you must have a version of python-requests
greater than 0.12.1, when it should be a >= relation since 0.12.1 is
sufficient.

(imported from commit 9f716af6dfe0ce17d982fc22d507f144e9543bec)
2013-01-17 13:54:41 -05:00
Luke Faraone ca8c759bef Document more specific dependency for humbug API on python-requests
(imported from commit fbdc092029bbafea716e27fbb99fec58a6f24392)
2013-01-16 16:57:38 -05:00
Luke Faraone 4463f267b3 Move the API into a subdirectory for ease of imports.
Previously, if users of our code put the API folder in their pyshared
they would have to import it as "humbug.humbug". By moving Humbug's API
into a directory named "humbug" and moving the API into __init__, you
can just "import humbug".

(imported from commit 1d2654ae57f8ecbbfe76559de267ec4889708ee8)
2013-01-16 16:55:22 -05:00