<< Click to Display Table of Contents >> RayFlow PowerShell API > 7.3 > Implementation Guide > Working with RayFlow PowerShell API Getting Phases |
To enumerate all phases, start with Get-RayFlowProject first. For many cmdlets from RayFlow PowerShell API, you can either pipe the results or use variables. The Get-RayFlowPhase command let supports both. To show all available phases, use any of the following (they product the same output):
# Assumming $project contains a list of projects, for example from Get-RayFlowProject...
$allPhases = $projects[0] | Get-RayFlowPhase
$allPhases = Get-RayFlowPhase -Project $projects[0]
Note: this example takes just the first project from the list. You could also work on all of them, both pipeline and parameter supports arrays. And this is the result (formatted as a table for convenience):
$allPhase | Format-Table
Id Name ShortName Url
-- ---- --------- ---
35e5dd1c-7596-426f-a73d-8b9ff9b92f05 Order Interface PO http://win-d25fl6...
bebf313b-7d23-4031-865d-f126236fa7c4 Order Acceptance POA http://win-d25fl6...
54cefcf6-4a1d-4c69-a5ce-4bb818475aad Compatibility assesment COMP http://win-d25fl6...
c4877972-8d41-423d-876b-abea2bcbbf83 Evaluation EVAL http://win-d25fl6...
bfe8b600-fe71-4cd8-9147-8d3916f05079 Packaging PKG http://win-d25fl6...
eea3095c-0f3e-4813-9c91-b2065115fbfe Quality Assurance QA http://win-d25fl6...
348c85f5-4dbe-4824-b46c-eacced113f7e User Acceptance UAT http://win-d25fl6...
8281b4a5-1879-4504-a730-971a0e7c9d3f Software Deployment DEP http://win-d25fl6...
You can also select a specific phase by its name (both short or long). The following snippet does twice the same, once asking for phase POA and once for Order Acceptance. Both results are the same:
$phasePOA = $projects[0] | Get-RayFlowPhase -PhaseName POA
$phasePOA
Id : a66db031-88fa-40b7-a19b-715da7d3552f
Name : Order Acceptance
ShortName : POA
Url : http://ame2017/RayFlow/Phase?phaseid=a66db031-88fa-40b7-a19b-715da7d3552f
ParentProject : {f164be99-84de-4cea-a7d4-db102c3ac738} Packaging
ParentPhase :
$phasePOA = $projects[0] | Get-RayFlowPhase -PhaseName "Order Acceptance"
$phasePOA
Id : a66db031-88fa-40b7-a19b-715da7d3552f
Name : Order Acceptance
ShortName : POA
Url : http://ame2017/RayFlow/Phase?phaseid=a66db031-88fa-40b7-a19b-715da7d3552f
ParentProject : {f164be99-84de-4cea-a7d4-db102c3ac738} Packaging
ParentPhase :
By default, only root phases are returned. You can include sub-phases when querying for a phase by adding the -Recursive switch.
## Returns all top-level phases
$phasePOA = $projects[0] | Get-RayFlowPhase
## Returns all top-level phases and their children
$phasePOA = $projects[0] | Get-RayFlowPhase -Recursive
If you want to get a phase by its unique identifier, call Get-RayFlowPhase with parameter -PhaseId. Please note, that it is not possible to include -PhaseId and -PhaseName in the same time. You should still include the -Recursive switch to make sure that all phases (including sub-phases) will be scanned for your identifier.