Hello All
Below is the JSON for my pipeline :
{
"name": "pipeline6",
"properties": {
"activities": [
{
"name": "Wait1",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Set variable1",
"type": "SetVariable",
"dependsOn": [
{
"activity": "Wait1",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"variableName": "dummy",
"value": {
"value": "@pipeline().parameters.Test",
"type": "Expression"
}
}
},
{
"name": "ForEach1",
"type": "ForEach",
"dependsOn": [
{
"activity": "Set variable1",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"items": {
"value": "2",
"type": "Expression"
},
"activities": [
{
"name": "Wait2",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait3",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait2",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "If Condition2",
"type": "IfCondition",
"dependsOn": [
{
"activity": "Wait3",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"expression": {
"value": "@equals(pipeline().parameters.Test,'1')",
"type": "Expression"
},
"ifFalseActivities": [
{
"name": "Wait10",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait11",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait10",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
],
"ifTrueActivities": [
{
"name": "Wait8",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait9",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait8",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}
}
]
}
},
{
"name": "If Condition1",
"type": "IfCondition",
"dependsOn": [
{
"activity": "ForEach1",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"expression": {
"value": "@equals(pipeline().parameters.Test,'1')",
"type": "Expression"
},
"ifFalseActivities": [
{
"name": "Wait5",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait7",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait5",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
],
"ifTrueActivities": [
{
"name": "Wait4",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
},
{
"name": "Wait6",
"type": "Wait",
"dependsOn": [
{
"activity": "Wait4",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}
},
{
"name": "Switch1",
"type": "Switch",
"dependsOn": [
{
"activity": "If Condition1",
"dependencyConditions": [
"Succeeded"
]
}
],
"userProperties": [],
"typeProperties": {
"on": {
"value": "@pipeline().parameters.Test",
"type": "Expression"
},
"cases": [
{
"value": "Case1",
"activities": [
{
"name": "Wait13",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}
],
"defaultActivities": [
{
"name": "Wait12",
"type": "Wait",
"dependsOn": [],
"userProperties": [],
"typeProperties": {
"waitTimeInSeconds": 1
}
}
]
}
}
],
"parameters": {
"Test": {
"type": "string",
"defaultValue": "1"
}
},
"variables": {
"dummy": {
"type": "String"
}
},
"annotations": [],
"lastPublishTime": "2022-08-26T14:31:34Z"
},
"type": "Microsoft.DataFactory/factories/pipelines"
}
I want to get the list of all activities within that pipeline .
I tried leveraging the below code but I am unable to parse/get the list of activity names within iteration/conditional activities. How can 1 get those details
@PRADEEPCHEEKATLA-MSFT @KranthiPakala-MSFT
$test=(Get-AzDataFactoryV2Pipeline -ResourceGroupName "<<RGName>>" -DataFactoryName “<<ADFName>>” -Name “Pipeline6” -ErrorAction Stop).Activities
$TEST.name
Output:
Note: we are missing the other activity names from the current output.
similar thread:
https://stackoverflow.com/questions/73525586/scan-a-json-for-particular-value