Asana developer - asana

we use Asana as our internal project management platform. We would like to use it to interact with our clients so they can see the progress of their projects - which is the same per year. We created the Kanaban view and move the cards through each process. We would like to show this to our clients, but have them only see their card.
Is there a way of doing this?
Thanks

There isn't a way that I'm aware of to have only certain tasks show up to certain people within a project - our access control is limited to the project level, so everyone who can see a project can see all tasks in a project.
One thing you might consider as a workaround is to multi-home the tasks into multiple projects (that is, add them into multiple projects). In this way you can limit membership to the second project to only the people in that set of clients, and have your original project as a master board with just your team in it.
You will have to keep these projects in sync, but this is possible in our API. Our tasks/addProject endpoint accepts both a project and a section (which is admittedly a bit unintuitive). If you maintain a mapping of each section, that is, "ID of Column A in the master board view maps to ID of Column B in the client board view", you can periodically iterate over all your tasks and re-insert each task in the client board view in the correct column based on where the task is in the master board view. (addProject is idempotent across requests, so re-insertions into a project are OK).
This is an interesting use case, thanks for sharing it! Hopefully this workaround will prove to be usable.

Related

Is there a way to show commits on subtasks of stories in a Jira scrum board?

We are migrating from an in-house tool to Jira for managing our scrum board, and we have concerns that I have been unable to resolve by searching the Internet. But you folks are smart, right? ;-)
Our current scrum board shows the usual swim lanes across state columns (for todo, progress, review, done). Each swim lane represents a user story, and has a link to (and a snippet of) the user story description in Jira. It also has a number of 'tickets' (these would be subtasks in Jira lingo) that start in 'todo' and move across to eventually end up in 'done'.
So far, Jira can do all of this, too (although creating sub-tasks is rather a lot more work in Jira than in our in-house tool). However:
When we commit code, we include a ticket ID in the commit message, and thus each ticket displays a list of commits that were done to complete that particular ticket / partial story. I haven't been able to find out how to do this in Jira -- if it's possible at all. Instead, it seems one must open a sub-task to see if there are any commits on it?
Each commit also shows its review state, which gives us an excellent overview of how close to done a ticket really is. I haven't been able to find out how to do this in Jira -- if it's possible at all. Instead, it seems one must open the sub-task, and drill down further into Fisheye(?) in order to see the review state?
In total, our tool provides a one-screen overview of the state of each user story, ticket, commit, and review state; and it's very lightweight to pull in new stories (from Jira) and add tickets. We fear that Jira is not able to provide such a one-screen overview, forcing us to open Fisheye in order to know whether a given commit has passed review.
Is it really true that Jira must be this cumbersome?
For reference, here is what a single ticket (subtask) looks like in our system:
And if you look at the whole scrum board, it's actually quite easy to get a feel for the number of commits on individual user stories and tickets, and the ratio of pending/passed/failed code reviews:
I agree with your fears when you say
We fear that Jira is not able to provide such a one-screen overview
In my experience (7+ years with Jira/Agile) I've not seen a such condensed view of information about a sigle user story even on a swimlane with relative cards.
Also in the Atlassian marketplace there seems to be no good plugin to solve your issue, even partially.
To make such move from your in-house tool to Jira retaining all you have there, I fear you should develop a custom Plug-in using Jira SDK to integrate with the agile boards.
It may be enough to start by developing a custom field to show what you need from a "ticket" (ie sub-issue) and trying to insert it into one of the three "slots" available for cards (I mean Rapidboard card layout configuration screen).
If you wanna try, start from here.
Another option to create a new custom field would be the Adaptavist Scriptrunner plugin. It will ease the building of custom fields: your new field can be written also in Groovy rather than plain Java. I've used it to build an extended status custom field (just to give the user an immediate big picture of it) that informs him in plain english and with stylish css colors why an issue is blocked or anything else relevant, getting data from other fields or linked issues that are not immediately visible to the user. IMHO, it is very similar to your problem.

Is there a way to setup custom triggers in Visual Studio Team Services/TFS?

I use VSTS/TFS for work and side projects and I wanted to setup a trigger/rule that would automatically move stories into a certain iteration when I move them from "New" to "Approved" or whatever column is associated with an active state. I know how to change the iteration manually but it would be way easier if there was a way to say something like this psuedocode:
if (workItem.State == "Active") {MoveToIterationActiveForTodaysDate();}
Ideally too, if this isn't too picky, I would like it to only run on initial move so I can reassign to a different iteration later if I wanted to.
If anyone has an easier way to do this too that accomplishes the same thing (moving items to an iteration without having to manually activate the story and move it to the desired iteration) that would work as well. I'm still figuring out the ideal way to manage VSTS/TFS. Thanks in advance
Using VSTS is able to customizable work item rules.
Whether it be automatically setting the value of certain work item
fields or defining the behavior of those fields in specific states,
project admins can now use rules to automate the behavior of work item
fields and ease the burden on their teams.
More details please refer this tutorial: Add a rule to a work item type
However, it works with fields in the work item, not able to move work item to different iteration or area directly.
There is no out of box feature could achieve your requirement with TFS and VSTS for now. You may have to customize TFS events/actions to achieve the same feature as right click the work item--select move iteration--choose iteration.
Moreover, you could also use some 3-rd party extensions/tools such as Giulio
suggested TFS Aggregator.
As of today, there is no built-in automation, so the community wrote some tools that react at TFS/VSTS events and run scripts.
I can suggest TFS Aggregator which is used by many organization throughout the world: I am one of the core contributor.

TFS task with more assignees

What is the best way to store a task for multiple users in TFS 2010 ? I can only assign one for one task.
(for example: when I plan a demo to all developers)
(this is a scrum Msf Agile project, where the task is part of a user story)
I'm sorry to tell you that you can't assign multiple users to a single work item out of the box; At the same time, I do not recommended trying as this, as it does not fit the model in TFS. The conventional / recommended way to handle this type of scenario is to create multiple tasks; one for each developer in this case. You can easily accomplish this by copying a set of tasks using MS Excel. Another option (given the example you used) is to create a "Meeting" work item that has multiple drop-downs - one for each person that would attend meetings like for a demo or a technical review.
Yet another option is to create a custom control to format and store a list of users. This would likely be relatively complex to maintain, as you have to distribute it to each user's machine (it will need to be installed locally), and last I checked you would need 2 versions; one for the Team Explorer user interface and another for the Web Access tool that most people use to create work items from a web page on their TFS server. Future updates to TFS could possibly break your custom control. It is rarely worth the effort. Another downside is the you would likely be limited by how you can use MS Excel to work with the data you store in the field that the custom control works with. If you want to look into this further you can find some examples in the following CodePlex project: http://witcustomcontrols.codeplex.com/
You might consider your true goals in tracking such things as meetings and other items you want to assign multiple people to. Tasks are the heart of tracking progress of user stories in the MSF Agile Template. Tracking meeting attendance does not typically relate directly to a User Story, for example; so it won't typically assist you to determine how much close you are to being "done" with a User Story. If you want to take advantage of the existing reports, then you should organize your tasks so that they roll up as child work items to User Story (or Bug) work items.
Short story: you can't. Work items in the Process Template of Microsoft are designed to target nobody or only one User.
Now you can customize the Process Template to change this.
Take this post for instance, the customization works for group. But I don't recommend you to do so because TFS is basically not designed for that and you may end up disappointed.

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.

Can TFS do "favorites" or user-defined groupings of team projects?

Is it possible for users to create their own list of team projects across collections?
An example of the proposed TFS structure:
Collection1\TeamProject1
Collection1\TeamProject2
Collection2\TeamProject3
Collection2\TeamProject4
If user1 wanted to view only TeamProject1 and TeamProject4, they would be able to create their own index of teamprojects that include just those two.
I know this is possible within a collection, as they just select the project(s) within the collection they wish to open. Is there a way to do this across collections?
I don't think that's possible. A single connection to one Team Collection is possible at a time, and then any number of Team Projects within this Collection can be selected to be viewed.I simply open two Visual Studio instances and open in each a connection to another Collection.
Hopefully this will be implemented in TFS11, according to this article the process will be streamlined a bit, so I'd hope people will be able to work across multiple collections easier.

Resources