Fixed engagements API call, so that you can call
client.hr.get_engagements()
without any parameter to get all engagements for authorized user.oTask API strongly reworked, from now Task Codes are renamed to Activities and it's behavior is changed:
- Activity now is assigned to the engagement ID. It will appear it user's oDesk Team Client only if it was assigned to the user's engagement.
- You cannot delete activity. You can archive it and unarchive if necessary.
- Activities are created on the team level,
you can create a company level activities by
passing
team_id
that is equal tocompany_id
(which isparent__team_id
). There's a methods for this already, please see the reference documentation. Note that archived activity has empty engagements list, so if you decide to unarchive an activity, you need to do an extra update call to assign the activity to someone. - When creating/updating activities you can pass optional
engagements
parameter, that should be a list of engagements that will be assigned to the Activity. Otherwise the activity won't be assigned to anyone. If you want to assign created/updated activity to all engagements in the company, you can set theall_in_company
parameter. update_batch_tasks
call is marked as experimental, use it on your own risk. It will be reworked in future.
- Fixed bug preventing update (
PUT
method) for oTask codes that contained non-urlsafe characters, e.g. "space", "colon", etc.
October 2013
Backwards incompatibility changes:
- Old key-based authorization is completely removed, now the only way to authorize is oAuth 1.0
odesk.Client
class doesn't supportauth
keyword argument any more, as now there's only one way of doing authorization- Introduced V2 API calls for :py:meth:`Search Providers<odesk.routers.provider.Provider_V2.search_providers>` and :py:meth:`Search Jobs<odesk.routers.provider.Provider_V2.search_jobs>`. V1 API calls still work but to the end of 2013 will be switched off. So we greatly encourage you to use V2 API calls.
examples/
directory of the repository is updated with new examples for web and desktop application
Improvements:
- Clean up API to be consistent with official oDesk API documentation
- Now we use
urllib3
and all Http exceptions returned by API have meaningful messages - Real PUT and DELETE json calls
- Some parts of API are fixed with to work correctly. Please refer to the method's docstring to see comprehensive description
Nov 2012
- Add Metadata Api
- Fixed job posting issue
- Add advanced logging
May 2011
- Incompatibility with previous release Changed name of the otask router to the task
- Incompatibility with previous release Chaged name of the oticket router to the ticket ??
- Incompatibility with previous release Changed name of the time_report router to the timereport
- Incompatibility with previous release Changed name of the finreports router to the finreport
- Incompatibility with previous release "from odesk import *" now import only: "get_version", "Client", "utils"
- All routers moved from the __init__.py to the own files in the routers dir.
- All helper classes moved to own modules
- Added logging inside exceptions
- Added possiblity to switch off unused routers inside client class
- Added oconomy, finance routers
- Added oDesk oAuth support
October 2010
- All helpers classes moved to the utils.py, added Table helper class
- Incompatibility with previous release Changed names of the methods' params to reflect real oDesk params - e.g. company_reference vs company name
29 September 2010
Bug fix release
- Fixed check_token method
- Fixed KeyError on empty workdiaries
15 July 2010
Bug fix release
- Fixed HR2.get_user_role(user_id=None, team_id=None, sub_teams=False) method to correctly get user roles when both user reference and team reference were submitted - previously only one of them was used in the request
- Documentation fixes
08 July 2010
First public release