How to obtain list of Column-Sections within a User Task List

Four months ago, @anon29197465 made a post about Upcoming API changes. In it, the following was said:

Improvements:

  • Section endpoints will start working for all user task lists. Currently, the GET /sections/<section-id>/tasks endpoint only works in projects today because task-sections are not true containers in user task lists. Column-sections will replace task-sections in user task lists so you will be able to use section endpoints on user task lists. This includes the ability to fully customize the names, order, and number of column-sections in user task lists.
  • Moving a section will move all tasks in that section with it. This is similar to how you would move column-sections in a project today.

In the future, we will kick off migration of a small number of user task lists, then ramp it up gradually, and over the course of months, we will migrate all user task lists. This means that you will not be able to opt-in or opt-out to signify when you would like this change. Rest assured, we will give you all a heads up as we get closer to the date when we kick off the migration!

My questions are:

  1. Was the “heads-up” given? If so, where is it located? If not, then who/what do I follow in order to know when it is given?

  2. Given the age of the post and that the breaking changes are now rolled out, what is the current method to obtain a list of Column-Sections within a given user’s User Task List?

Thank you,

-Brandon

Having now continued to read through to the end of the aforementioned post, I see this:

I take that to be the “heads-up” that it has started and that it has not yet completed. I believe that answers my first question.

That may also mean that the answer to my second question is “there is no method”. But if I’m wrong and a method was released in the months since the aforementioned post was made, please let me know.

Thank you,

-Brandon

It will take months to migrate everyone.

Did you check the API documentation?

Indeed. That seems self-evident based on the statement “…over the next couple months…” included in my post above.

Yes. If that were not the case, I would not have posted.

I have spent hours reading and testing alternative API methods in an effort to restore functionality of a custom Slack integration that no longer works due to the recent deprecation of assignee_status without a replacement method. The two questions I posted are related to that ongoing effort.

Finally, I noticed you edited your post, @Bastien_Siebman. However, I do not see the edit function on my own posts, leading to having to repost to make edits. Is the edit function hidden?

I am really sorry for assuming you did not read the doc, many people don’t :slight_smile: I am calling @Phil_Seeman on this one, he is the best!

You can edit posts when you reach a certain level of experience on the forum I believe. This automatically unlocks.

Thank you. Continuing to look at it, I actually see what I believe is a similar question where Phil answered it, here. I think (?) this is actually the same question as mine (I have trouble following Asana’s terminology, despite a good deal of effort).

Based on that, it seems it’s not possible to replace the deprecated functionality we were relying on.

Hey @Brandon4,

Sorry (although this is really me apologizing on behalf of Asana); I feel like you’re in here somewhere
image
and I’m trying to find you in there and give you some info to help get you out.

Here’s some hopefully useful info:

  1. As of this writing, it’s not possible to directly retrieve what section a task is in within a user’s My Tasks list (known in technical API terms as a “user task list” or UTL) once they’ve been migrated to the new My Tasks model. In the old model, you could get this info from the memberships property of a task, but that property is not currently being populated for tasks in the new My Tasks. This is a bug; the API Team is aware of it and has formulated a plan to fix it; I don’t know any further details about exactly what the fix will be and when we’ll see it. I’m pushing. See also #3 below for more on this.

  2. It is still possible to obtain a list of the sections in a user’s My Tasks list; this hasn’t broken or changed in the new model. The endpoint GET /projects/{user-task-list-gid}/sections still works just as it did before.

  3. The reason I say in #1 above “not possible to directly retrieve” is that you can indirectly determine what UTL section a task lives in by using the GET /sections/{user-task-list-section-gid}/tasks endpoint; this will return a list of all tasks in a section, and it works just fine for UTL sections the same as it does for sections in a regular project. So by using the endpoint in #2 to get all of the sections in a UTL, then iterating through each section and for each section using the endpoint in #3 here to get the tasks in that section, you can know what section each UTL task is in. IMO it’s a pretty ugly and convoluted way of getting hte info you should be able to (and evenrtually will again be able to) get for a task directly, but it will work if needed.

2 Likes

Man, I wouldn’t have been able to get to that conclusion no matter how many more hours I sunk into it. I’m not sure if this info is anywhere else where I might have found it, but I searched high and low.

So, the API is treating the UTL (thanks for terminology) as a project. That was the missing link right there.

I tried it, and it works. It’ll take a bit of rewriting, but I’m happy to be able to get things working again with minimal down time.

I really appreciate you taking the time to write all that out and your willingness to share it.

Thank you very much,

-Brandon

1 Like

Yes, it’s not 100% the same but is very largely the same. That’s one of the main reasons why Asana made this big switch to the new My Tasks. The old one was wired up to be a pretty different kind of object than a regular project. The new one is much more of a regular project which I think is why they were able to add things like Board view, rules, etc. (And hopefully now custom fields at some point.)