Asana Task Logs - How to get it? - api

Asana lack of reporting is bugging my team, so we are trying to use the asana's API to generate at least basic reporting.
Is it possible to get the task logs that are shown in the task details?
In the task details I can see this:
User created task.Mar 25
User added to proj1.Mar 25
User moved from proj1 to label2 (proj1).Mar 25
User assigned to UserX.9:22am
How can I get it?

As mentioned in the documentation you can get what we call the "stories" for an object using GET /tasks/:id/stories. Note that the creation task we display in the app is actually displayed from the task data, and not a story in its own right: you can determine this by looking at the value of created_at for the task itself using GET /tasks/:id?opt_fields=created_at, for instance.

Related

How to Get All Tasks from a Story Using DevOps API

I'm trying to get all Tasks from a Story with the DevOps API but I only found a relation expand command which is not that what I want.
So how can I "expand" a Story to see all Tasks?
API REQ: https://----/----/----/_apis/wit/workitems/ID?api-version=5.1
With that I only get like the name, desc, state, reason, assignedto and so on.
Check with the related REST API and Azure CLI, it seems that currently we have no easy way to get the list of Tasks that have been linked to a User Story.
You can execute the API "Work Items - Get Work Item" and get the list of work items that have linked to the specified User Story from the Response body of this API.
GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?$expand={$expand}&api-version=6.1-preview.3
In the list you can get the URL of each linked work item. You can get the detailed information of each work item via sending request to the URL. From the detailed information, you can get the work item type of each item.

How to get zoom meeting details report with zoom API?

I am trying to get zoom meeting details report using API. The report should be same as "Active Hosts - Report Type "Meeting List with Details"- which I can get from UI.The sample report is here:
https://docs.google.com/spreadsheets/d/1rDxBuWk9lObZPmmgKrELrQHN5pcqq1L3LiNvg0SZ6kk/edit?usp=sharing
But instead of getting the report from UI manually, I want to get the report using ZOOM API with python script which should run as a job periodically.
SO my query is:
1)how can I get the same report using zoom API?
2) Should I call multiple API? if yes, which are APIs should I call to get the report?
Any kinds of help is greatly appreciated. Thank you.
*************** 2nd Part *******
I have explored a little after this post. I have tried this API endpoint. What I ended up is below:
Please check this document:
https://docs.google.com/spreadsheets/d/1rDxBuWk9lObZPmmgKrELrQHN5pcqq1L3LiNvg0SZ6kk/edit#gid=1137066976
Here I specified all the fields those I need to extract to get the target report which is named as UI report in the spreed sheet. To get this report I tried to call 3 APIs:
Get List meeting: https://api.zoom.us/v2/metrics/meetings
Get Active/Inactive host reports: "https://api.zoom.us/v2/report/users
Get Meeting Participants: https://api.zoom.us/report/meetings/{meetingId}/participants
To my understanding I thought to get all the field of UI report I need to call these 3 APIs. The first 2 API calls are working fine. But when I am in the 3rd call which is “Meeting participants” where I need to provide “meetingid” as a path key. Here in my educational institute (University) we have thousands of meetingid , for example for a single day I found there are 28,800 numbers of unique meeting ids. It might be more than 30,000 if I try with larger date range(for 7 days or 30 days). In this case the Meeting participants call will take each meetingid and execute the API call which will exceed the date limit. How to resolve this issue?
Is there any other better way or any straightforward API out there which can give me the almost the same report as the Target UI report? Please help.
Thank you.

Field seems to be missing in some responses in Active Collab 4 API

I am looking for fields in task called is_completed and completed_on.
When I do the /projects/#PROJECT-ID#/tasks API call I see is_completed but I do not see completed_on.
We are using the Cloud based version of Active Collab 4.
Any reason why I am not seeing completed_on?
In Active Collab 4, there is a difference between "brief" API responses (used when returning large lists of objects), and detailed responses (used when a single object is returned via API).
When you are listing a list of tasks, you will get all individual tasks in brief format, but when you fetch details of each task, you'll get a detailed response.
In brief task responses, completed_on timestamp is not included, only whether tasks is completed or not (is_completed). To get the timestamp of completed tasks, make an additional call to task API for each task that is completed:
https://activecollab.com/help-classic/books/api/tasks#s-task-id
PS: In Active Collab 5, we removed brief and detailed concept, so each object always returns a single set of properties.

How to consolidate API calls for the ASANA API

I'm a freelance web dev and I work with a lot of clients across many different workspaces in Asana. Not being able to get a consolidated view makes this a tedious and difficult thing to manage, so I'm putting together my own little utility to help me get a 'superview' of tasks assigned to me in order of the due date. In order to make this easier for me to scan, I need to have the project name next to the task details.
The easiest way, in my mind, would be a single API call for all tasks assigned to me and request the project name, task name, task id, due date, and workspace name all at once.
The API doesn't seem to allow this consolidated type of request, however, so instead, the workflow goes something like this;
API call to get all my workspaces
Loop through the workspaces, making an API call for each to get all tasks
Use PHP to sort those tasks accordingly
Loop through those tasks making an API call for the first instance of each project in order to get the project name (I cache the data as I
go so that I'm only making a call once per project)
The issue I'm getting is a 500 error when I start making API calls to get the project details. I doubt I'm hitting the 100 call per minute limit, but I'm still getting the errors none the less. In light of this, I'm looking for a way to make a consolidated call that contains all the data I need, but I can't seem to figure it out.
Anyone have some guidance on this?
Good news! We actually do support Input/Output options that allow you to specify which fields you want, including nested fields. So, while you still need to make separate calls for each workspace, you can do something like this:
workspaces = GET /workspaces
for id in workspaces
tasks = GET /workspaces/:id/tasks?assignee=me&opt_fields=name,due_on,projects.name
(If you're only interested in incomplete tasks, you can add &completed_since=now - or if you want incomplete and recently completed tasks, &completed_since=... with the timestamp you want to exclude any tasks that were completed before)
Additionally, 500 is not the code we send for rate limiting - it's likely an issue with the request itself. How are you requesting the project details?

Get all task information via API from asana

i'm writing a simple application to build a task dependency tree (i declare a dependency by commenting on a task "Depend on: ") using asana API, it is indeed a simple task and should also be a simple and quick script, but i got to a bottle neck here.
From the API documentation i get that i need to:
Query the project tasks using /project//tasks
iterate trough tasks to:
get complete task information, since i'm only getting id and name.
Get task stories.
what i would like to do is a simple api call to get all this information at once, like:
/project//tasks options.expand {task, stories}. Am i missing something or this it not possible?
Complete information about tasks you can get with one request thanks to "opt_fields" option (https://asana.com/developers/documentation/getting-started/input-output-options).
Unfortunately "stories" still need another request.
No. As seen in the asana queries are tree-like structure. To get the story you require workspace_id > project_id > task_id & task_id for story. I recommend that you use a loop. Tasks of the project for getting information on the tasks and history. Upon receipt of the task id - send two requests info task & stories. Thank you, Ruslan.