SelectAssignment
Node Action:
The SelectAssignment node action selects the assignment in the backstage but doesn't open it. The assignment must be yours.
Parameters:
se_type
SelectAssignment
se_type = SelectAssignmentse_assignmentId
The assignment ID to select.
se_determineAssignmentId
A lambda to find an assignment ID.
Example:
Open Assignment: The following workflow allows you to open or select an assignment based on a design name.
digraph workflow {
entry[
se_type0 = BackstageToolTrigger,
se_displayName0 = "Open Assignment"
se_iconService0 = ""
se_iconUrl0 = ""
se_requiresConnection0 = false,
se_sortOrder0 = 0,
se_visibilityCondition0 = "(dynamicStateMachineContext, msLogger) => {
return true;
}",
]
GetDesignName[
se_type0 = PromptUser,
se_cardTemplate0 = "
{
\"type\": \"AdaptiveCard\",
\"$schema\": \"https://adaptivecards.io/schemas/adaptive-card.json\",
\"version\": \"1.5\",
\"body\": [
{
\"type\": \"Input.Text\",
\"label\": \"Design Name\",
\"placeholder\": \"Name\",
\"id\": \"DesignName\"
}
],
\"actions\": [
{
\"type\": \"Action.Submit\",
\"title\": \"Open\",
\"id\": \"Open\"
},
{
\"type\": \"Action.Submit\",
\"title\": \"Select\",
\"id\": \"Select\"
}
]
}"
se_promptCaption0 = "Search Design Name"
se_resultVariable0 = DesignNameResult
]
QueryDesign[
se_type0 = Api,
se_body0 = ""
se_method0 = "GET"
se_modifyRequest0 = "(request, ctx, log) => {
Debugger.Break();
var name = ctx.State.DesignNameResult.userInputs.DesignName;
var search = $\"select * from c where CONTAINS(c.name, '{name}',true)\";
var query = System.Net.WebUtility.UrlEncode(search);
var uri = new Uri($\"api/v1/query?q={query}&tenantId={ctx.User.TenantId}&pageSize=50&walkAncestry=False&walkReferenceDesigns=False\", UriKind.RelativeOrAbsolute);
request.RequestUri = uri;
}",
se_service0 = DesignerCoordination
se_resultVariable0 = Designs
]
QueryAssignment[
se_type0 = Api,
se_body0 = ""
se_method0 = "GET"
se_modifyRequest0 = "(request, ctx, log) => {
var designId = ctx.State.Designs.designs[0].id.ToString();
var search = $\"select * from c where c.designId = '{designId}'\";
var query = System.Net.WebUtility.UrlEncode(search);
var uri = new Uri($\"api/v1/query?q={query}&tenantId={ctx.User.TenantId}&pageSize=50&walkAncestry=False&walkReferenceDesigns=False\", UriKind.RelativeOrAbsolute);
request.RequestUri = uri;
}",
se_service0 = DesignerCoordination
se_resultVariable0 = Assignments
]
OpenAssignment[
se_type0 = OpenAssignment,
se_determineAssignmentId0 = "(ctx, msLogger) => {
var id = ctx.State.Assignments.assignments[0].id.ToString();
return id;
}",
]
SelectAssignment[
se_type0 = SelectAssignment,
se_assignmentId0 = ""
se_determineAssignmentId0 = "(ctx, msLogger) => {
return ctx.State.Assignments.assignments[0].id.ToString();
}",
]
entry->GetDesignName->QueryDesign->QueryAssignment
QueryAssignment->OpenAssignment[
weight=1;
constraint=false
se_type=Condition,
se_condition="(ctx, log) => {
return ctx.State.DesignNameResult.submittedAction.id == \"Open\";
}"
];
QueryAssignment->SelectAssignment[
weight=1;
constraint=false
se_type=Condition,
se_condition="(ctx, log) => {
return ctx.State.DesignNameResult.submittedAction.id == \"Select\";
}"
];
OpenAssignment->exit
SelectAssignment->exit
}