commit 291249f9b3ef9c235134e7e2eda61105777aafa1 Author: a.jurcenko Date: Wed Sep 6 16:36:53 2023 +0200 initial commit diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/asana_test.iml b/.idea/asana_test.iml new file mode 100644 index 0000000..74d515a --- /dev/null +++ b/.idea/asana_test.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..3358d3f --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..45f77b1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..63d11aa --- /dev/null +++ b/main.py @@ -0,0 +1,58 @@ +import datetime +import asana +from asana.rest import ApiException +from pprint import pprint + +# Configure OAuth2 access token for authorization: +configuration = asana.Configuration() +configuration.access_token = '1/1205189706569240:c740a97f0374fcb3d11581c9ccbc92c5' +api_client = asana.ApiClient(configuration) + +# create an instance of the API class +tasks_api_instance = asana.TasksApi(api_client) +workspaces = asana.WorkspacesApi(api_client) +task_list = asana.UserTaskListsApi(api_client) +tasks_api = asana.TasksApi(api_client) +users = asana.UsersApi(api_client) +limit = 50 +timestamp = str(datetime.datetime.utcnow()).replace(' ','T') +timestamp = ''.join([timestamp, 'Z']) +opt_fields = ["actual_time_minutes","approval_status","assignee","assignee.name","assignee_section","assignee_section.name","assignee_status","completed","completed_at","completed_by","completed_by.name","created_at","created_by","custom_fields","custom_fields.asana_created_field","custom_fields.created_by","custom_fields.created_by.name","custom_fields.currency_code","custom_fields.custom_label","custom_fields.custom_label_position","custom_fields.date_value","custom_fields.date_value.date","custom_fields.date_value.date_time","custom_fields.description","custom_fields.display_value","custom_fields.enabled","custom_fields.enum_options","custom_fields.enum_options.color","custom_fields.enum_options.enabled","custom_fields.enum_options.name","custom_fields.enum_value","custom_fields.enum_value.color","custom_fields.enum_value.enabled","custom_fields.enum_value.name","custom_fields.format","custom_fields.has_notifications_enabled","custom_fields.is_formula_field","custom_fields.is_global_to_workspace","custom_fields.is_value_read_only","custom_fields.multi_enum_values","custom_fields.multi_enum_values.color","custom_fields.multi_enum_values.enabled","custom_fields.multi_enum_values.name","custom_fields.name","custom_fields.number_value","custom_fields.people_value","custom_fields.people_value.name","custom_fields.precision","custom_fields.resource_subtype","custom_fields.text_value","custom_fields.type","dependencies","dependents","due_at","due_on","external","external.data","followers","followers.name","hearted","hearts","hearts.user","hearts.user.name","html_notes","is_rendered_as_separator","liked","likes","likes.user","likes.user.name","memberships","memberships.project","memberships.project.name","memberships.section","memberships.section.name","modified_at","name","notes.txt","num_hearts","num_likes","num_subtasks","offset","parent","parent.created_by","parent.name","parent.resource_subtype","path","permalink_url","projects","projects.name","resource_subtype","start_at","start_on","tags","tags.name","uri","workspace","workspace.name"] # list[str] | This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include. (optional) + + +def get_tasks(): + global data + try: + # GET - get multiple tasks + api_response = tasks_api_instance.get_tasks( + limit=limit, assignee="1205189706569240" + ) + data = api_response.data + # res = users.get_users(workspace='296289166596219') + # res = workspaces.get_workspaces() + # pprint(res) + for d in data: + if d.name.find("Mit MG wegen LKW Verkauf reden") > -1: + print(d) + # pprint(api_response) + except ApiException as e: + print("Exception when calling TasksApi->get_tasks: %s\n" % e) + + + + +def get_user_task_lists(): + try: + # result = task_list.get_user_task_list_for_user(user_gid="1205189706569240") + # result = task_list.get_user_task_list_for_user(user_gid="1205189706569240", workspace='296289166596219') + # result = task_list.get_user_task_list(user_task_list_gid='1205189707543486') + result = tasks_api.get_tasks_for_user_task_list(user_task_list_gid='1205189707543486', opt_fields=opt_fields) + # print(result) + for d in result.data: + if d.name.find("Kos Milorad") > -1: + print(d) + except ApiException as e: + print(e) + +if __name__ == '__main__': + get_user_task_lists() diff --git a/notes.txt b/notes.txt new file mode 100644 index 0000000..f1dee91 --- /dev/null +++ b/notes.txt @@ -0,0 +1 @@ +workspace='296289166596219', \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1b3a5ac Binary files /dev/null and b/requirements.txt differ