What is the best way to auto-generate PBIs in TFS? - tfs

I am looking for advice.
I have a requirement to generate 5 PBIs under a Feature. We need the user to be able to trigger the process by populating a field for example.
Do I need code for this or is there a codeless method?
I can see that I can build Plugins for TFS. I saw an example or two (although they were related to code check-ins). I would be looking to investigate a trigger around the save of a feature and if a specific thing has occurred generate some child PBIs.
Ideally I would like a codeless method within TFS for this but am happy with investigating a Plugin if necessary.
We are on premise now but may move to online in six months or more.

If you`ll move to online, you have several options and they are not codeless:
Use existing solutions, example: TFS Aggregator
Create a custom web service to listen events and do some actions: Web Hooks
Create a custom application and use it as scheduled task: Automation of state changing for Azure DevOps work items

Related

Make Autotransition in Jira

PROBLEM: There are two Jira projects: A & B. When project A transitions, project B should as well. Issues from projects A & B are linked.
RESEARCH: There is an ILA plugin for Jira and in its Update Status Transition you can select issues with JQL and set their statuses.
I've conducted a JQL, but it is related to current issue, and I need it is a variable which is unavailable (find issues of project A, linked to issue B-3 from project B):
project = "A" AND issue IN LinkedIssuesByJQL("issue = B-3")
QUESTION: How to refer to a variable like $currentIssue? Any other free plugins? Maybe using Jira API?
I don't know the ILA plugin for Jira but it seems that it does not provide the functionality you require. You might want to reach out to them and ask if they can implement this feature for you. But based on their documentation, it's a rather simple plugin for smaller use cases.
However, your use case also sounds you might want to use some more automation than this. Here are three alternatives you might want to consider for your problem:
Jira Service Desk Automation
In case one of your projects is a Jira Service Desk project on Jira Cloud, then you could use Jira Service Desk Automations which is a free feature. It allows to define rules and actions to be performed. You can find more information here.
Automation Plugins
There are a few other plugins (or 'apps') available on the Atlassian marketplace to automate certain tasks in your projects. They work similar to the Jira Service Desk Automation but are much more powerful and can be used in more than only Jira Service Desk (of course they support regular Jira projects). Your use case should be possible with them as well. Popular apps are Automation for Jira (there is a lite/free version available) or ScriptRunner (here you have to write your own scripts).
Issue Synchronization Plugins
There are also specialized plugins in case you want to continuously make sure that the issues in your two projects have the same data and the issue updates are synchronized to the other side as soon someone updates an issue. They not only provide you with settings for workflow updates but also regular issue field updates. Popular ones are Exalate Jira Issue Sync or Backbone Issue Sync, but none of them is free to use. (Note: I'm currently working for the team behind Backbone Issue Sync).
Although neither of the unswers suggest free plugins as requested, I also had some helpful comments in Atlassian Community:
Sync fields is a plugin which is used to change and replicate all the data that is in a issue to another issue in other project ,may be this is similar plugin.
There are many options out there to do linked transitions:
Jira Misc Workflow Extensions has a transition linked issues post function
JSU Automation Suite for Jira Workflows also has one
You can also (partial list)
Automation for Jira, (this one was recently purchased by Atlassian)
one of the scripting addons (scriptrunner, power scripts)
Jira Workflow Toolbox
So there are many options. Take a look at each of the addons and see which one has the most features that you would use in addition to linked transitions. They are all good choices, and all have their pros and cons.

How do I set up different workflows for the same ticket type in different jira projects?

We have had a restructure of our engineering teams and a wide ranging change to process, as a result we have decided to start a new Jira Project.
We want to keep the existing Ticket Types but our new process will require changes to Jira Workflows. However as we dont want to lose our old project in case there are tickets we decide to Migrate over we want to ensure that the workflows etc for that board do not change.
Is it possible to have different workflows for the same ticket types in Jira at a project level, or am I going to have to create everything from scratch again (Tickets, workflows, screens).
In Jira you can reuse every mentioned thing.
Create another one workflow scheme for second project and make you own issue type<>workflow mapping inside it scheme. Create new workflow if you want make another process for your issues. You can do it a bit easy if changes is minor - just copy base workflow and make you changes instead creating new.
Docs

Developing proprietary open source using Team foundation server

In our work place we use Team foundation server as the main server used for source control, work tracking, build server etc.
We develop in house software with many teams working on different projects.
Sometimes we develop applications or libraries which can and should be shared in our company including the ability to have more than one team contributing. Unfortunately due to nature of the applications being developed they cannot be shared outside our company.
I would like to know if tfs can help in that respect or do I need to add other tools.
For instance if our teams work in different areas or team projects how can open source projects be shared without risking editing permissions or such. How can projects be shared, cataloged, published?
How can issues be published for the project? How can pull request be done as they are done in github?
Share projects or source code in TFS is accomplished mostly through a combination of using the Area hierarchy and Teams functionality.
Then we can use the Area field to filter all reports and queries. Each Team is tied to the related Area and is used to provide each Team/Sub-Project with it’s own Product Backlog. And Security can be granted based on Area and/or Source Control Path.
Update
Permission is a very important concept in TFS. The simplest and safe way is using permission to restrict and help other team contributing to the share projects. One main team/group which have all permissions for the contributing to the share project.
Most of the teams/groups which have visibility into the share projects. They need to create pull requests to review and merge code in project. Pull requests let your team give feedback on changes in feature branches before merging the code into the master branch. Reviewers can step through the proposed changes, leave comments, and vote to approve or reject the code. The same thing as GitHub.
And many times a request or issue fix will come from the share project managers , but they are not sure what team or project it should be assigned to. Then you could use share product backlog items (pbi, or user story if you are using agile template) across team projects within TFS. Since you are using a multiple team strategy under a single team project. You could collect the pbi’s and place them in an oversight queue that will be reviewed by either an individual or committee. Then these pbi’s will get moved as they get assigned to teams and projects. However, you also need to setup security in way so that the individual teams don’t have permissions to get in and monkey around with other teams backlog, queries, or code.
Otherwise, there are no built-in share project process or tool inside TFS, if you really need this, could add a uservoice.

Team Foundation Server rules and client side validation

We are trying to ensure that all users follow the rules of ALM when using Team Foundation Server. For example, to ensure that work items and their children have consistent states. Specifically, when transitioning a User Story to the "Closed" state, this should only be allowed if all of the children tasks are closed. Is there any way to implement this behavior with TFS?
You haven't specified which TFS and VS you are using so I am going to assume 2013, although explanations are the same for 2012.
I don't think you can achieve your goal by just configuration, you may need to write some code by using one of the extensibility hooks provided by TFS.
A good place to start is to see if you can leverage the TFS Power Tools - a collection of tools (policies, templates etc.) provided by the TFS team out of band with the product itself.

Set all workitems to inactive when one is set to active

I would like to know if it is possible to set other tasks to "pending" or "inactive" when the user (contributor) set one to active.
I was wondering if i can do that using Workflow or another kind of customization in TFS.
Regards
There's no way to do that if you use the product as it is...
Back in the days of TFS 2005/2008 I wrote a tool to do what you need with very complex possibilities of workflow between work items, but I didn't have the time to rewrite it for 2010 (the typed links introduced in 2010 would change a lot of things).
If you're not afraid to write a custom tool you can read this post and the source code of my codeplex project.

Resources