How to add parameters to Task Groups - azure-devops

We are creating deployments with TFS 2018.3. If I click on tasks in a deployment and create a Task Group out if it, it recognizes the used parameters but if I change parameter usage in an already existing Task Group, or edit the newly create group, parameter changes are not applied to the parameter list in the group.

Related

How can we add calculated custom fields on a process in Azure Devops Boards

How can we add calculated custom fields on a process in Azure DevOps Boards. Is there any extensions that can be used for creating a Calculated custom field?
Azure DevOps support rollups in the backlogs only: Display rollup progress or totals.
To use your own logic, you can:
Create an extension (for example WSJF (Weighted Shortest Job First)).
Use az boards work-item to get, calculate, and update fields.
Use Excel to create calculated columns and publish fields: Bulk add or modify work items with Excel
If you mean creating a custom field Calculated to your project process. You can follow below steps.
1, Go to organization settings -->Process-->Select the process which your project is currently using.
If your project is using the System processes: Agile, Basic, Scrum, and CMMI. You need to create Inherited processes. For System processes are locked from being changed. See System versus inherited processes.
After you select your project process. You can select work item types to add the custom field. See Add a custom field.
2, If your project was using System processes. After you created the Inherited process, and added the custom field. You need to change your project process to this newly created inherited process. See Change the project process.

Build task groups: Choose which build variables are listed under parameters

We are using a task group for all of our builds. Some of the steps pick variables from variable groups and some variables are just system varibles like $(Get-Date).
When editing the task group all variables detected in the build steps are listed under the parameter section and concequently all builds will also show this list of varibles for the corresponding task group.
However in our case we would only like to display three of the variables. We would like variables such as $(Get-Date), some configuration variables and variables from the library variable group not to be listed since the user should not be able to edit these parameters.
Is there a way to choose which parameters will be listed under the task group or in the corresponding builds?
It seems that there is no way to control which parameter should be listed under task groups.
But there is way to control who have the permission to edit these parameters.
If it is acceptable to you, You can modify the security of the task group, which allows you to control the edit permission for individual user and also groups.
After you deny a user's permission to edit the task group. User will get an error when he tries to change the parameter.

How to create single pipeline(s) for all projects in an organization

I have more than 35 projects in an organization in Azure DevOps. These are the solutions of a Single product. Right now I am creating build and release pipelines for each project one by one.
If I create a pipeline for a single project and release the build, I want devops to create pipeline & releases builds for all the other projects(in the same organization) together at once.
For eg, There are projects A,B,C & D. If I create a release pipeline for Project A, will Devops automatically Release build for other projects "B,C & D" in the same organization at the same time.
We need to avoid creating pipelines for each projects one by one. Is this possible and is there any scripting or configuration to achieve this?
Thanks in Advance.
The process of setting up multiple release definitions with the exact same tasks can be very time consuming and difficult to manage -- fortunately, our team solved this problem using Task Groups!
Task Groups allow you to bundle multiple steps into a single "group", parameterize them, and then invoke them like a single step. You can also edit the Task Group at any time which will cascade to all places where it's used.
The other consideration is that you can bundle your custom variables into Variable Groups and reuse them between Release Definitions. Having your configuration reusable also has the benefit of only having to edit a single item.
I'd recommend:
Create a single release definition as a golden reference example.
Add your build steps for a single stage/environment
Once you're happy with this release definition, multi-select the steps you want to bundle into a group, open the context menu and select the option to convert to a Task Group. This will remove the steps from your release and move them to the Task Group.
Customize the Task Group with the appropriate parameters and then save it.
Modify your release definition to use the Task group parameters.
Add the additional stages to your environment, and add your custom Task Group to each parameterizing with configuration specific to the environment.
Once you're happy with the Release Definition -- use the Clone feature to create 34 more instances.
The same approach can be applied to builds.

Adding paramters to VSTS Task Group

I have a Task Group that I created out of a set of build tasks. I am able to edit the tasks quite well, but i now realise i will need to add another parameter to the task group. How do I go about doing that?
Task group parameters are automatically created based on the variables used in the tasks. If you reference a new variable in a task that's within a task group, it will pop up.
In addition to the accepted answer, if you want to add parameters that are not directly referenced by tasks within the tasks group (e.g. to use in a config file token replacement task) then you can export your task group, edit the .json file then import it back in. The parameters are in an inputs array near the end of file. You can also hide parameters here if you only want to use them internally to the task group by setting a default value and adding a 'visibleRule' property, see this article for details: https://medium.com/objectsharp/how-to-hide-a-task-group-parameter-b95f7c85870c
This will create a new task group rather than updating your current task group. If you want to update the task group, you can use this REST API:
https://learn.microsoft.com/en-us/rest/api/azure/devops/distributedtask/taskgroups/update?view=azure-devops-rest-5.1

Workfront Custom Filtering

I'm trying to create a filter to find a missing task in several Workfront plans. I have tried system filters with no luck.
I can filter if missing a field but not a task.
I am using the web interface. I am looking for a task with a specific name (i.e. Identify External Resources), that should be in multiple project plans, and I want to find plans without that task listed.
Your requirements are:
Find all projects
Filter for projects that do not contain the task 'identify external resources'
My assumptions are:
You want ALL projects that don't contain the named task
Your criteria is that the project either has the task or doesn't (you don't care if has 1 task of that name or 100)
The solution is:
Create a project-level report
Go into the filter tab
Switch to text mode and add the following:
tasks:name=identify external resources
tasks:name_Mod=cinotcontains
This will find all projects that don't have a task named 'identify external resources'. You can combine this with additional filter to add other tasks and/or status filters.