Getting all tasks to which user has access - asana

I'm developing a desktop app with a backend. In the desktop app I just retrieve all tasks assigned to user, but on the web I have to get all tasks (including archived) to which Asana user had an access. Is there a convenient way to do that?
It looks now I have to do so:
Get all workspaces
Cycle though all workspaces and get all tasks.
Get all projects in a workspace
Cycle through projects and get all tasks
? merge tasks from workspaces and projects. This should be done, because the task can be detached from a project.
EDIT:
It seems now is possible to have this way only:
/workspaces
cycle through workspaces to get all projects /workspaces/workspaces_id/projects
cycle through all projects to get tasks /tasks/?project=project_id
You get all tasks user has access to, but without tasks detached from projects (workspace tasks). How to get really all tasks, is a question
Regards,
Victor

Related

Is there a standard way to add some approval procedure/or at least notification for changes in task groups/builds/etc.?

We had a few cases when:
Someone changes a task group (or build/release/whatever).
Makes some mistake.
Then publishes/saves it.
But doesn't notify anyone that such changes were made.
Some hours later some dependent build breaks because of those changes.
And we have to spend even more time trying to find what and when has changed as it is not often that simple to find out with external task groups.
What we want to have:
Ideally - some approval process for such changes. Kind of like code review, but for task groups/builds.
If not - then at least some way to receive notifications about changes in task groups and etc. we are interested in?
I found neither, and, honestly, doubt that such features are present in the TFS version we use (TFS 2018.2), but perhaps I've missed something.
There isn't any workflow security or approval process for the groups. You could suggest that kind of feature on the developercommunity. Restrict access to edit Task Groups to only those who understand how to bump the Task Group version. That way at least you will keep backward compatibility across your builds unless that explicitly upgrade to that version.
There aren't any built in notifications, but you could create an automated process to send email notifications using PowerShell using the existing API.
Get the Id for the task group using the taskgroups list api
Use the revisions api to get the history _apis/distributedtask/taskgroups/{taskgroupid}/revisions
Send an update for anything that edited today

ASANA API - get only projects associated to me

when you query /projects I get every project in the organization(a-lot) ... is there anyway to just get projects that I am interested in (ie task assigned to me, mention of me, or one that I have flaged as following?)
I have also tried
users/me/projects
projects?followers=me
That's a really interesting idea. We don't currently have a way of doing that - even in the product! - in part because everyone's definition of "interesting to me" is a little different. For instance, there's no global way to look up, for a user, all the comments they're mentioned in - mentioning adds a user as a follower to the task, sure, but they might be removed from the followers list subsequently. Should projects with tasks that I hearted be included? What about projects with tasks that have comments that I hearted? Projects with tasks that I'm following, sure - but what if the last time I followed a task in that project was over a year ago, and the task I followed is long since complete? Since tasks can be in multiple projects, does it make sense to include a project that I may have never even seen, but includes a task that's also in a project I work on, and so I've touched it? It's a tricky question to get right for everyone, to be sure.
In the meantime, you can get tasks that are assigned to you in a workspace (GET /tasks?workspace=[id]&assignee=me) and then crawl all the tasks to find the projects they're in (I know, not terribly elegant).
We currently don't expose projects/tasks you're following or projects you've favorited (starred) via the API. And as far as I know there's no way to query stories/tasks you're mentioned in via the API or the app.

How to add same set of tasks (as child) to multiple user stories in tfs?

Suppose i have some set of tasks say:-
Analysing Code.
Coding.
Exception Handling.
View Integration
Deployment.
Bug Fixing.
How do i bulk create the same set of tasks under multiple user stories as its respective child objects?
Eg:- say i have
45678,45679,45670,45671,45672 as my user stories.
If i manually create the 6 listed tasks to the 1st user story, then how can i bulk create the same set of tasks to all other user stories as child objects?
There is no automation out of the box for this.
You can use excel to copy/paste the tasks as children of PBI's. There are also some third party tools out there that can do what you want. I built the TFS Event Handler in 2008 for an organization but have not had much call for it since.
http://nakedalm.com/tfs-event-handler-for-team-foundation-server-2010/
The reason I don't get much call for this sort of thing is that if you need it, then you are doing something wrong. Your list above is something that would make a lot more sense on a definition of done than a task list. If this was the DOD then the tasks should be the development teams plan to get them done...

Task Management using Silverlight and SignalR

I would like to develop a simple task management software with ASP.NET MVC (server side), Silverlight 5, JavaScript (client side - two different clients)
There are two types of users:
Team Lead
Team Member
They will have their own task list
There are more than one teams and notifications and updates should be sent to related team member.
Functionality:
Team lead will create a task and assigns to a team member. As soon as team lead assigns task to a member, his task list should be updated in realtime. Task should appear in team lead and team member task list.
When team member starts working he will update the status of task from "pending" to "working" and then "completed". Task status in team lead's list should be updated in realtime when assignee updates the status.
Any help, reference application or sample is highly appreciated.
It seems as though you're in the early stages of development/still learning SignalR so I'll point you to some good resources to get yourself started. Of course in addition to all the resources listed below there is plenty of information throughout StackOverflow to give you the basis of creating hubs/communicating with the server etc.
Info:
http://signalr.net/
https://github.com/SignalR/SignalR/wiki
https://github.com/SignalR/SignalR/wiki/Talks
Twitter: #SignalR, #davidfowl, #DamianEdwards, #NTaylorMullen, #StephenHaltR
Source:
https://github.com/SignalR/SignalR
Projects to take a peak at:
Take a peak at JabbR: https://github.com/davidfowl/JabbR
GittR (in progress): https://github.com/DamianEdwards/GittR
Lastly, feel free to stop by the SignalR chat channel in JabbR if you run into any issues: http://jabbr.net/#/rooms/signalr
That should be plenty to get you started, hope this helps!

Query for open tasks in Asana

We're looking at using Asana to combine CRM, administration and issue tracking in a web dev firm. The key feature we need is a view of the "next actions" or "top [1|2|3] priorities" across all projects in a workspace, irrespective of who they are assigned to. It seems Asana does not provide this out of the box (is that right?) so I am looking into writing API queries to pull this out into a dashboard of our own.
I understand you don't want to let people pull ALL tasks in one workspace, as it may grow, but is there a way to pull out the top few open tasks in each project, without having to specify the assignee?
(I work for Asana)
Currently, the API allows you to grab all tasks in a project, see https://asana.com/developers/api-reference/projects. It will return them in ranked order (the same as they would show up in the Asana UI), however it won't limit them to some number; you'll have to get them all. Limits and pagination are on our roadmap to enable developers to work more efficiently with larger projects and workspaces.
So, it seems like you'd want to grab all projects, then iterate through them and query all tasks - this will give you their name and ID by default. If you want more detail for the ones you're going to show, then I recommend querying the details on each of those tasks individually.

Resources