OpenAssignment
Node Action:
The OpenAssignment node action opens a design for the given assignment. This will only open designs you own.
Parameters:
se_type
OpenAssignment
se_type = OpenAssignmentse_assignmentId
The assignment ID to open.
se_determineAssignmentId
A lambda to determine which assignment to open.
Example:
Open Assignment: The following workflow opens a design for a given assignment.
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\": \"Search\"
}
]
}"
se_promptCaption0 = "Search Design Name"
se_resultVariable0 = DesignNameResult
]
QueryDesign[
se_type0 = Api,
se_body0 = ""
se_method0 = "GET"
se_modifyRequest0 = "(request, ctx, log) => {
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;
}",
]
entry->GetDesignName->QueryDesign->QueryAssignment->OpenAssignment->exit
}