Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
The following table specifies the properties that can be updated.
The following is an example of a request.
PATCH https://graph.microsoft.com/beta/solutions/businessScenarios/c5d514e6c6864911ac46c720affb6e4d/planner/taskConfiguration
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.plannerTaskConfiguration",
"editPolicy": {
"rules": [
{
"defaultRule": "block",
"role": {
"@odata.type": "#microsoft.graph.plannerRelationshipBasedUserType",
"roleKind": "relationship",
"role": "defaultRules"
},
"propertyRule": {
"percentComplete": ["allow"],
"ruleKind": "taskRule",
"assignments": {
"defaultRules": ["addSelf"],
"overrides": []
}
}
},
{
"defaultRule": "block",
"role": {
"@odata.type": "#microsoft.graph.plannerRelationshipBasedUserType",
"roleKind": "relationship",
"role": "taskAssignees"
},
"propertyRule": {
"startDate": ["allow"],
"dueDate": ["allow"],
"percentComplete": ["allow"],
"order": ["allow"],
"ruleKind": "taskRule",
"references": {
"defaultRules": ["allow"],
"overrides": [
{
"name": "userCreated",
"rules": ["allow"]
},
{
"name": "applicationCreated",
"rules": ["block"]
}
]
},
"checkLists": {
"defaultRules": ["allow"],
"overrides": [
{
"name": "userCreated",
"rules": ["allow"]
},
{
"name": "applicationCreated",
"rules": ["check"]
}
]
},
"assignments": {
"defaultRules": ["block"],
"overrides": [
{
"name": "userCreated",
"rules": ["removeSelf"]
},
{
"name": "applicationCreated",
"rules": ["check"]
}
]
},
"appliedCategories": {
"defaultRules": [
"allow"
],
"overrides": []
}
}
}
]
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new PlannerTaskConfiguration
{
OdataType = "#microsoft.graph.plannerTaskConfiguration",
EditPolicy = new PlannerTaskPolicy
{
Rules = new List<PlannerTaskRoleBasedRule>
{
new PlannerTaskRoleBasedRule
{
DefaultRule = "block",
Role = new PlannerRelationshipBasedUserType
{
OdataType = "#microsoft.graph.plannerRelationshipBasedUserType",
RoleKind = PlannerUserRoleKind.Relationship,
Role = PlannerRelationshipUserRoles.DefaultRules,
},
PropertyRule = new PlannerTaskPropertyRule
{
PercentComplete = new List<string>
{
"allow",
},
RuleKind = PlannerRuleKind.TaskRule,
Assignments = new PlannerFieldRules
{
DefaultRules = new List<string>
{
"addSelf",
},
Overrides = new List<PlannerRuleOverride>
{
},
},
},
},
new PlannerTaskRoleBasedRule
{
DefaultRule = "block",
Role = new PlannerRelationshipBasedUserType
{
OdataType = "#microsoft.graph.plannerRelationshipBasedUserType",
RoleKind = PlannerUserRoleKind.Relationship,
Role = PlannerRelationshipUserRoles.TaskAssignees,
},
PropertyRule = new PlannerTaskPropertyRule
{
StartDate = new List<string>
{
"allow",
},
DueDate = new List<string>
{
"allow",
},
PercentComplete = new List<string>
{
"allow",
},
Order = new List<string>
{
"allow",
},
RuleKind = PlannerRuleKind.TaskRule,
References = new PlannerFieldRules
{
DefaultRules = new List<string>
{
"allow",
},
Overrides = new List<PlannerRuleOverride>
{
new PlannerRuleOverride
{
Name = "userCreated",
Rules = new List<string>
{
"allow",
},
},
new PlannerRuleOverride
{
Name = "applicationCreated",
Rules = new List<string>
{
"block",
},
},
},
},
CheckLists = new PlannerFieldRules
{
DefaultRules = new List<string>
{
"allow",
},
Overrides = new List<PlannerRuleOverride>
{
new PlannerRuleOverride
{
Name = "userCreated",
Rules = new List<string>
{
"allow",
},
},
new PlannerRuleOverride
{
Name = "applicationCreated",
Rules = new List<string>
{
"check",
},
},
},
},
Assignments = new PlannerFieldRules
{
DefaultRules = new List<string>
{
"block",
},
Overrides = new List<PlannerRuleOverride>
{
new PlannerRuleOverride
{
Name = "userCreated",
Rules = new List<string>
{
"removeSelf",
},
},
new PlannerRuleOverride
{
Name = "applicationCreated",
Rules = new List<string>
{
"check",
},
},
},
},
AppliedCategories = new PlannerFieldRules
{
DefaultRules = new List<string>
{
"allow",
},
Overrides = new List<PlannerRuleOverride>
{
},
},
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Solutions.BusinessScenarios["{businessScenario-id}"].Planner.TaskConfiguration.PatchAsync(requestBody);
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc-beta solutions business-scenarios planner task-configuration patch --business-scenario-id {businessScenario-id} --body '{\
"@odata.type": "#microsoft.graph.plannerTaskConfiguration",\
"editPolicy": {\
"rules": [\
{\
"defaultRule": "block",\
"role": {\
"@odata.type": "#microsoft.graph.plannerRelationshipBasedUserType",\
"roleKind": "relationship",\
"role": "defaultRules"\
},\
"propertyRule": {\
"percentComplete": ["allow"],\
"ruleKind": "taskRule",\
"assignments": {\
"defaultRules": ["addSelf"],\
"overrides": []\
}\
}\
},\
{\
"defaultRule": "block",\
"role": {\
"@odata.type": "#microsoft.graph.plannerRelationshipBasedUserType",\
"roleKind": "relationship",\
"role": "taskAssignees"\
},\
"propertyRule": {\
"startDate": ["allow"],\
"dueDate": ["allow"],\
"percentComplete": ["allow"],\
"order": ["allow"],\
"ruleKind": "taskRule",\
"references": {\
"defaultRules": ["allow"],\
"overrides": [\
{\
"name": "userCreated",\
"rules": ["allow"]\
},\
{\
"name": "applicationCreated",\
"rules": ["block"]\
}\
]\
},\
"checkLists": {\
"defaultRules": ["allow"],\
"overrides": [\
{\
"name": "userCreated",\
"rules": ["allow"]\
},\
{\
"name": "applicationCreated",\
"rules": ["check"]\
}\
]\
},\
"assignments": {\
"defaultRules": ["block"],\
"overrides": [\
{\
"name": "userCreated",\
"rules": ["removeSelf"]\
},\
{\
"name": "applicationCreated",\
"rules": ["check"]\
}\
]\
},\
"appliedCategories": {\
"defaultRules": [\
"allow"\
],\
"overrides": []\
}\
}\
}\
]\
}\
}\
'
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
graphClient := msgraphsdk.NewGraphServiceClientWithCredentials(cred, scopes)
requestBody := graphmodels.NewPlannerTaskConfiguration()
editPolicy := graphmodels.NewPlannerTaskPolicy()
plannerTaskRoleBasedRule := graphmodels.NewPlannerTaskRoleBasedRule()
defaultRule := "block"
plannerTaskRoleBasedRule.SetDefaultRule(&defaultRule)
role := graphmodels.NewPlannerRelationshipBasedUserType()
roleKind := graphmodels.RELATIONSHIP_PLANNERUSERROLEKIND
role.SetRoleKind(&roleKind)
role := graphmodels.DEFAULTRULES_PLANNERRELATIONSHIPUSERROLES
role.SetRole(&role)
plannerTaskRoleBasedRule.SetRole(role)
propertyRule := graphmodels.NewPlannerTaskPropertyRule()
percentComplete := []string {
"allow",
}
propertyRule.SetPercentComplete(percentComplete)
ruleKind := graphmodels.TASKRULE_PLANNERRULEKIND
propertyRule.SetRuleKind(&ruleKind)
assignments := graphmodels.NewPlannerFieldRules()
defaultRules := []string {
"addSelf",
}
assignments.SetDefaultRules(defaultRules)
overrides := []graphmodels.PlannerRuleOverrideable {
}
assignments.SetOverrides(overrides)
propertyRule.SetAssignments(assignments)
plannerTaskRoleBasedRule.SetPropertyRule(propertyRule)
plannerTaskRoleBasedRule1 := graphmodels.NewPlannerTaskRoleBasedRule()
defaultRule := "block"
plannerTaskRoleBasedRule1.SetDefaultRule(&defaultRule)
role := graphmodels.NewPlannerRelationshipBasedUserType()
roleKind := graphmodels.RELATIONSHIP_PLANNERUSERROLEKIND
role.SetRoleKind(&roleKind)
role := graphmodels.TASKASSIGNEES_PLANNERRELATIONSHIPUSERROLES
role.SetRole(&role)
plannerTaskRoleBasedRule1.SetRole(role)
propertyRule := graphmodels.NewPlannerTaskPropertyRule()
startDate := []string {
"allow",
}
propertyRule.SetStartDate(startDate)
dueDate := []string {
"allow",
}
propertyRule.SetDueDate(dueDate)
percentComplete := []string {
"allow",
}
propertyRule.SetPercentComplete(percentComplete)
order := []string {
"allow",
}
propertyRule.SetOrder(order)
ruleKind := graphmodels.TASKRULE_PLANNERRULEKIND
propertyRule.SetRuleKind(&ruleKind)
references := graphmodels.NewPlannerFieldRules()
defaultRules := []string {
"allow",
}
references.SetDefaultRules(defaultRules)
plannerRuleOverride := graphmodels.NewPlannerRuleOverride()
name := "userCreated"
plannerRuleOverride.SetName(&name)
rules := []string {
"allow",
}
plannerRuleOverride.SetRules(rules)
plannerRuleOverride1 := graphmodels.NewPlannerRuleOverride()
name := "applicationCreated"
plannerRuleOverride1.SetName(&name)
rules := []string {
"block",
}
plannerRuleOverride1.SetRules(rules)
overrides := []graphmodels.PlannerRuleOverrideable {
plannerRuleOverride,
plannerRuleOverride1,
}
references.SetOverrides(overrides)
propertyRule.SetReferences(references)
checkLists := graphmodels.NewPlannerFieldRules()
defaultRules := []string {
"allow",
}
checkLists.SetDefaultRules(defaultRules)
plannerRuleOverride := graphmodels.NewPlannerRuleOverride()
name := "userCreated"
plannerRuleOverride.SetName(&name)
rules := []string {
"allow",
}
plannerRuleOverride.SetRules(rules)
plannerRuleOverride1 := graphmodels.NewPlannerRuleOverride()
name := "applicationCreated"
plannerRuleOverride1.SetName(&name)
rules := []string {
"check",
}
plannerRuleOverride1.SetRules(rules)
overrides := []graphmodels.PlannerRuleOverrideable {
plannerRuleOverride,
plannerRuleOverride1,
}
checkLists.SetOverrides(overrides)
propertyRule.SetCheckLists(checkLists)
assignments := graphmodels.NewPlannerFieldRules()
defaultRules := []string {
"block",
}
assignments.SetDefaultRules(defaultRules)
plannerRuleOverride := graphmodels.NewPlannerRuleOverride()
name := "userCreated"
plannerRuleOverride.SetName(&name)
rules := []string {
"removeSelf",
}
plannerRuleOverride.SetRules(rules)
plannerRuleOverride1 := graphmodels.NewPlannerRuleOverride()
name := "applicationCreated"
plannerRuleOverride1.SetName(&name)
rules := []string {
"check",
}
plannerRuleOverride1.SetRules(rules)
overrides := []graphmodels.PlannerRuleOverrideable {
plannerRuleOverride,
plannerRuleOverride1,
}
assignments.SetOverrides(overrides)
propertyRule.SetAssignments(assignments)
appliedCategories := graphmodels.NewPlannerFieldRules()
defaultRules := []string {
"allow",
}
appliedCategories.SetDefaultRules(defaultRules)
overrides := []graphmodels.PlannerRuleOverrideable {
}
appliedCategories.SetOverrides(overrides)
propertyRule.SetAppliedCategories(appliedCategories)
plannerTaskRoleBasedRule1.SetPropertyRule(propertyRule)
rules := []graphmodels.PlannerTaskRoleBasedRuleable {
plannerTaskRoleBasedRule,
plannerTaskRoleBasedRule1,
}
editPolicy.SetRules(rules)
requestBody.SetEditPolicy(editPolicy)
taskConfiguration, err := graphClient.Solutions().BusinessScenarios().ByBusinessScenarioId("businessScenario-id").Planner().TaskConfiguration().Patch(context.Background(), requestBody, nil)
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
PlannerTaskConfiguration plannerTaskConfiguration = new PlannerTaskConfiguration();
PlannerTaskPolicy editPolicy = new PlannerTaskPolicy();
LinkedList<PlannerTaskRoleBasedRule> rulesList = new LinkedList<PlannerTaskRoleBasedRule>();
PlannerTaskRoleBasedRule rules = new PlannerTaskRoleBasedRule();
rules.defaultRule = "block";
PlannerRelationshipBasedUserType role = new PlannerRelationshipBasedUserType();
role.roleKind = PlannerUserRoleKind.RELATIONSHIP;
role.role = PlannerRelationshipUserRoles.DEFAULT_RULES;
rules.role = role1;
PlannerTaskPropertyRule propertyRule = new PlannerTaskPropertyRule();
LinkedList<String> percentCompleteList = new LinkedList<String>();
percentCompleteList.add("allow");
propertyRule.percentComplete = percentCompleteList;
propertyRule.ruleKind = PlannerRuleKind.TASK_RULE;
PlannerFieldRules assignments = new PlannerFieldRules();
LinkedList<String> defaultRulesList = new LinkedList<String>();
defaultRulesList.add("addSelf");
assignments.defaultRules = defaultRulesList;
LinkedList<PlannerRuleOverride> overridesList = new LinkedList<PlannerRuleOverride>();
assignments.overrides = overridesList;
propertyRule.assignments = assignments;
rules.propertyRule = propertyRule;
rulesList.add(rules);
PlannerTaskRoleBasedRule rules1 = new PlannerTaskRoleBasedRule();
rules1.defaultRule = "block";
PlannerRelationshipBasedUserType role2 = new PlannerRelationshipBasedUserType();
role2.roleKind = PlannerUserRoleKind.RELATIONSHIP;
role2.role = PlannerRelationshipUserRoles.TASK_ASSIGNEES;
rules1.role = role3;
PlannerTaskPropertyRule propertyRule1 = new PlannerTaskPropertyRule();
LinkedList<String> startDateList = new LinkedList<String>();
startDateList.add("allow");
propertyRule1.startDate = startDateList;
LinkedList<String> dueDateList = new LinkedList<String>();
dueDateList.add("allow");
propertyRule1.dueDate = dueDateList;
LinkedList<String> percentCompleteList1 = new LinkedList<String>();
percentCompleteList1.add("allow");
propertyRule1.percentComplete = percentCompleteList1;
LinkedList<String> orderList = new LinkedList<String>();
orderList.add("allow");
propertyRule1.order = orderList;
propertyRule1.ruleKind = PlannerRuleKind.TASK_RULE;
PlannerFieldRules references = new PlannerFieldRules();
LinkedList<String> defaultRulesList1 = new LinkedList<String>();
defaultRulesList1.add("allow");
references.defaultRules = defaultRulesList1;
LinkedList<PlannerRuleOverride> overridesList1 = new LinkedList<PlannerRuleOverride>();
PlannerRuleOverride overrides = new PlannerRuleOverride();
overrides.name = "userCreated";
LinkedList<PlannerRuleOverride> rulesList = new LinkedList<PlannerRuleOverride>();
rulesList.add(allow);
overrides.rules = rulesList;
overridesList1.add(overrides);
PlannerRuleOverride overrides1 = new PlannerRuleOverride();
overrides1.name = "applicationCreated";
LinkedList<PlannerRuleOverride> rulesList1 = new LinkedList<PlannerRuleOverride>();
rulesList1.add(block);
overrides1.rules = rulesList1;
overridesList1.add(overrides1);
references.overrides = overridesList1;
propertyRule1.references = references;
PlannerFieldRules checkLists = new PlannerFieldRules();
LinkedList<String> defaultRulesList2 = new LinkedList<String>();
defaultRulesList2.add("allow");
checkLists.defaultRules = defaultRulesList2;
LinkedList<PlannerRuleOverride> overridesList2 = new LinkedList<PlannerRuleOverride>();
PlannerRuleOverride overrides2 = new PlannerRuleOverride();
overrides2.name = "userCreated";
LinkedList<PlannerRuleOverride> rulesList2 = new LinkedList<PlannerRuleOverride>();
rulesList2.add(allow);
overrides2.rules = rulesList2;
overridesList2.add(overrides2);
PlannerRuleOverride overrides3 = new PlannerRuleOverride();
overrides3.name = "applicationCreated";
LinkedList<PlannerRuleOverride> rulesList3 = new LinkedList<PlannerRuleOverride>();
rulesList3.add(check);
overrides3.rules = rulesList3;
overridesList2.add(overrides3);
checkLists.overrides = overridesList2;
propertyRule1.checkLists = checkLists;
PlannerFieldRules assignments1 = new PlannerFieldRules();
LinkedList<String> defaultRulesList3 = new LinkedList<String>();
defaultRulesList3.add("block");
assignments1.defaultRules = defaultRulesList3;
LinkedList<PlannerRuleOverride> overridesList3 = new LinkedList<PlannerRuleOverride>();
PlannerRuleOverride overrides4 = new PlannerRuleOverride();
overrides4.name = "userCreated";
LinkedList<PlannerRuleOverride> rulesList4 = new LinkedList<PlannerRuleOverride>();
rulesList4.add(removeSelf);
overrides4.rules = rulesList4;
overridesList3.add(overrides4);
PlannerRuleOverride overrides5 = new PlannerRuleOverride();
overrides5.name = "applicationCreated";
LinkedList<PlannerRuleOverride> rulesList5 = new LinkedList<PlannerRuleOverride>();
rulesList5.add(check);
overrides5.rules = rulesList5;
overridesList3.add(overrides5);
assignments1.overrides = overridesList3;
propertyRule1.assignments = assignments1;
PlannerFieldRules appliedCategories = new PlannerFieldRules();
LinkedList<String> defaultRulesList4 = new LinkedList<String>();
defaultRulesList4.add("allow");
appliedCategories.defaultRules = defaultRulesList4;
LinkedList<PlannerRuleOverride> overridesList4 = new LinkedList<PlannerRuleOverride>();
appliedCategories.overrides = overridesList4;
propertyRule1.appliedCategories = appliedCategories;
rules1.propertyRule = propertyRule1;
rulesList.add(rules1);
editPolicy.rules = rulesList6;
plannerTaskConfiguration.editPolicy = editPolicy;
graphClient.solutions().businessScenarios("c5d514e6c6864911ac46c720affb6e4d").planner().taskConfiguration()
.buildRequest()
.patch(plannerTaskConfiguration);
const options = {
authProvider,
};
const client = Client.init(options);
const plannerTaskConfiguration = {
'@odata.type': '#microsoft.graph.plannerTaskConfiguration',
editPolicy: {
rules: [
{
defaultRule: 'block',
role: {
'@odata.type': '#microsoft.graph.plannerRelationshipBasedUserType',
roleKind: 'relationship',
role: 'defaultRules'
},
propertyRule: {
percentComplete: ['allow'],
ruleKind: 'taskRule',
assignments: {
defaultRules: ['addSelf'],
overrides: []
}
}
},
{
defaultRule: 'block',
role: {
'@odata.type': '#microsoft.graph.plannerRelationshipBasedUserType',
roleKind: 'relationship',
role: 'taskAssignees'
},
propertyRule: {
startDate: ['allow'],
dueDate: ['allow'],
percentComplete: ['allow'],
order: ['allow'],
ruleKind: 'taskRule',
references: {
defaultRules: ['allow'],
overrides: [
{
name: 'userCreated',
rules: ['allow']
},
{
name: 'applicationCreated',
rules: ['block']
}
]
},
checkLists: {
defaultRules: ['allow'],
overrides: [
{
name: 'userCreated',
rules: ['allow']
},
{
name: 'applicationCreated',
rules: ['check']
}
]
},
assignments: {
defaultRules: ['block'],
overrides: [
{
name: 'userCreated',
rules: ['removeSelf']
},
{
name: 'applicationCreated',
rules: ['check']
}
]
},
appliedCategories: {
defaultRules: [
'allow'
],
overrides: []
}
}
}
]
}
};
await client.api('/solutions/businessScenarios/c5d514e6c6864911ac46c720affb6e4d/planner/taskConfiguration')
.version('beta')
.update(plannerTaskConfiguration);
<?php
// THIS SNIPPET IS A PREVIEW VERSION OF THE SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new PlannerTaskConfiguration();
$requestBody->setOdataType('#microsoft.graph.plannerTaskConfiguration');
$editPolicy = new PlannerTaskPolicy();
$rulesPlannerTaskRoleBasedRule1 = new PlannerTaskRoleBasedRule();
$rulesPlannerTaskRoleBasedRule1->setDefaultRule('block');
$rulesPlannerTaskRoleBasedRule1Role = new PlannerRelationshipBasedUserType();
$rulesPlannerTaskRoleBasedRule1Role->setOdataType('#microsoft.graph.plannerRelationshipBasedUserType');
$rulesPlannerTaskRoleBasedRule1Role->setRoleKind(new PlannerUserRoleKind('relationship'));
$rulesPlannerTaskRoleBasedRule1Role->setRole(new PlannerRelationshipUserRoles('defaultRules'));
$rulesPlannerTaskRoleBasedRule1->setRole($rulesPlannerTaskRoleBasedRule1Role);
$rulesPlannerTaskRoleBasedRule1PropertyRule = new PlannerTaskPropertyRule();
$rulesPlannerTaskRoleBasedRule1PropertyRule->setPercentComplete(['allow', ]);
$rulesPlannerTaskRoleBasedRule1PropertyRule->setRuleKind(new PlannerRuleKind('taskRule'));
$rulesPlannerTaskRoleBasedRule1PropertyRuleAssignments = new PlannerFieldRules();
$rulesPlannerTaskRoleBasedRule1PropertyRuleAssignments->setDefaultRules(['addSelf', ]);
$rulesPlannerTaskRoleBasedRule1PropertyRuleAssignments->setOverrides([ ]);
$rulesPlannerTaskRoleBasedRule1PropertyRule->setAssignments($rulesPlannerTaskRoleBasedRule1PropertyRuleAssignments);
$rulesPlannerTaskRoleBasedRule1->setPropertyRule($rulesPlannerTaskRoleBasedRule1PropertyRule);
$rulesArray []= $rulesPlannerTaskRoleBasedRule1;
$rulesPlannerTaskRoleBasedRule2 = new PlannerTaskRoleBasedRule();
$rulesPlannerTaskRoleBasedRule2->setDefaultRule('block');
$rulesPlannerTaskRoleBasedRule2Role = new PlannerRelationshipBasedUserType();
$rulesPlannerTaskRoleBasedRule2Role->setOdataType('#microsoft.graph.plannerRelationshipBasedUserType');
$rulesPlannerTaskRoleBasedRule2Role->setRoleKind(new PlannerUserRoleKind('relationship'));
$rulesPlannerTaskRoleBasedRule2Role->setRole(new PlannerRelationshipUserRoles('taskAssignees'));
$rulesPlannerTaskRoleBasedRule2->setRole($rulesPlannerTaskRoleBasedRule2Role);
$rulesPlannerTaskRoleBasedRule2PropertyRule = new PlannerTaskPropertyRule();
$rulesPlannerTaskRoleBasedRule2PropertyRule->setStartDate(['allow', ]);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setDueDate(['allow', ]);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setPercentComplete(['allow', ]);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setOrder(['allow', ]);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setRuleKind(new PlannerRuleKind('taskRule'));
$rulesPlannerTaskRoleBasedRule2PropertyRuleReferences = new PlannerFieldRules();
$rulesPlannerTaskRoleBasedRule2PropertyRuleReferences->setDefaultRules(['allow', ]);
$overridesPlannerRuleOverride1 = new PlannerRuleOverride();
$overridesPlannerRuleOverride1->setName('userCreated');
$overridesPlannerRuleOverride1->setRules(['allow', ]);
$overridesArray []= $overridesPlannerRuleOverride1;
$overridesPlannerRuleOverride2 = new PlannerRuleOverride();
$overridesPlannerRuleOverride2->setName('applicationCreated');
$overridesPlannerRuleOverride2->setRules(['block', ]);
$overridesArray []= $overridesPlannerRuleOverride2;
$rulesPlannerTaskRoleBasedRule2PropertyRuleReferences->setOverrides($overridesArray);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setReferences($rulesPlannerTaskRoleBasedRule2PropertyRuleReferences);
$rulesPlannerTaskRoleBasedRule2PropertyRuleCheckLists = new PlannerFieldRules();
$rulesPlannerTaskRoleBasedRule2PropertyRuleCheckLists->setDefaultRules(['allow', ]);
$overridesPlannerRuleOverride1 = new PlannerRuleOverride();
$overridesPlannerRuleOverride1->setName('userCreated');
$overridesPlannerRuleOverride1->setRules(['allow', ]);
$overridesArray []= $overridesPlannerRuleOverride1;
$overridesPlannerRuleOverride2 = new PlannerRuleOverride();
$overridesPlannerRuleOverride2->setName('applicationCreated');
$overridesPlannerRuleOverride2->setRules(['check', ]);
$overridesArray []= $overridesPlannerRuleOverride2;
$rulesPlannerTaskRoleBasedRule2PropertyRuleCheckLists->setOverrides($overridesArray);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setCheckLists($rulesPlannerTaskRoleBasedRule2PropertyRuleCheckLists);
$rulesPlannerTaskRoleBasedRule2PropertyRuleAssignments = new PlannerFieldRules();
$rulesPlannerTaskRoleBasedRule2PropertyRuleAssignments->setDefaultRules(['block', ]);
$overridesPlannerRuleOverride1 = new PlannerRuleOverride();
$overridesPlannerRuleOverride1->setName('userCreated');
$overridesPlannerRuleOverride1->setRules(['removeSelf', ]);
$overridesArray []= $overridesPlannerRuleOverride1;
$overridesPlannerRuleOverride2 = new PlannerRuleOverride();
$overridesPlannerRuleOverride2->setName('applicationCreated');
$overridesPlannerRuleOverride2->setRules(['check', ]);
$overridesArray []= $overridesPlannerRuleOverride2;
$rulesPlannerTaskRoleBasedRule2PropertyRuleAssignments->setOverrides($overridesArray);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setAssignments($rulesPlannerTaskRoleBasedRule2PropertyRuleAssignments);
$rulesPlannerTaskRoleBasedRule2PropertyRuleAppliedCategories = new PlannerFieldRules();
$rulesPlannerTaskRoleBasedRule2PropertyRuleAppliedCategories->setDefaultRules(['allow', ]);
$rulesPlannerTaskRoleBasedRule2PropertyRuleAppliedCategories->setOverrides([]);
$rulesPlannerTaskRoleBasedRule2PropertyRule->setAppliedCategories($rulesPlannerTaskRoleBasedRule2PropertyRuleAppliedCategories);
$rulesPlannerTaskRoleBasedRule2->setPropertyRule($rulesPlannerTaskRoleBasedRule2PropertyRule);
$rulesArray []= $rulesPlannerTaskRoleBasedRule2;
$editPolicy->setRules($rulesArray);
$requestBody->setEditPolicy($editPolicy);
$result = $graphServiceClient->solutions()->businessScenarios()->byBusinessScenarioId('businessScenario-id')->planner()->taskConfiguration()->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Bookings
$params = @{
"@odata.type" = "#microsoft.graph.plannerTaskConfiguration"
editPolicy = @{
rules = @(
@{
defaultRule = "block"
role = @{
"@odata.type" = "#microsoft.graph.plannerRelationshipBasedUserType"
roleKind = "relationship"
role = "defaultRules"
}
propertyRule = @{
percentComplete = @(
"allow"
)
ruleKind = "taskRule"
assignments = @{
defaultRules = @(
"addSelf"
)
overrides = @(
)
}
}
}
@{
defaultRule = "block"
role = @{
"@odata.type" = "#microsoft.graph.plannerRelationshipBasedUserType"
roleKind = "relationship"
role = "taskAssignees"
}
propertyRule = @{
startDate = @(
"allow"
)
dueDate = @(
"allow"
)
percentComplete = @(
"allow"
)
order = @(
"allow"
)
ruleKind = "taskRule"
references = @{
defaultRules = @(
"allow"
)
overrides = @(
@{
name = "userCreated"
rules = @(
"allow"
)
}
@{
name = "applicationCreated"
rules = @(
"block"
)
}
)
}
checkLists = @{
defaultRules = @(
"allow"
)
overrides = @(
@{
name = "userCreated"
rules = @(
"allow"
)
}
@{
name = "applicationCreated"
rules = @(
"check"
)
}
)
}
assignments = @{
defaultRules = @(
"block"
)
overrides = @(
@{
name = "userCreated"
rules = @(
"removeSelf"
)
}
@{
name = "applicationCreated"
rules = @(
"check"
)
}
)
}
appliedCategories = @{
defaultRules = @(
"allow"
)
overrides = @(
)
}
}
}
)
}
}
Update-MgBetaBusinessScenarioPlannerTaskConfiguration -BusinessScenarioId $businessScenarioId -BodyParameter $params
# THE PYTHON SDK IS IN PREVIEW. FOR NON-PRODUCTION USE ONLY
graph_client = GraphServiceClient(credentials, scopes)
request_body = PlannerTaskConfiguration(
odata_type = "#microsoft.graph.plannerTaskConfiguration",
edit_policy = PlannerTaskPolicy(
rules = [
PlannerTaskRoleBasedRule(
default_rule = "block",
role = PlannerRelationshipBasedUserType(
odata_type = "#microsoft.graph.plannerRelationshipBasedUserType",
role_kind = PlannerUserRoleKind.Relationship,
role = PlannerRelationshipUserRoles.DefaultRules,
),
property_rule = PlannerTaskPropertyRule(
percent_complete = [
"allow",
],
rule_kind = PlannerRuleKind.TaskRule,
assignments = PlannerFieldRules(
default_rules = [
"addSelf",
],
overrides = [
],
),
),
),
PlannerTaskRoleBasedRule(
default_rule = "block",
role = PlannerRelationshipBasedUserType(
odata_type = "#microsoft.graph.plannerRelationshipBasedUserType",
role_kind = PlannerUserRoleKind.Relationship,
role = PlannerRelationshipUserRoles.TaskAssignees,
),
property_rule = PlannerTaskPropertyRule(
start_date = [
"allow",
],
due_date = [
"allow",
],
percent_complete = [
"allow",
],
order = [
"allow",
],
rule_kind = PlannerRuleKind.TaskRule,
references = PlannerFieldRules(
default_rules = [
"allow",
],
overrides = [
PlannerRuleOverride(
name = "userCreated",
rules = [
"allow",
],
),
PlannerRuleOverride(
name = "applicationCreated",
rules = [
"block",
],
),
],
),
check_lists = PlannerFieldRules(
default_rules = [
"allow",
],
overrides = [
PlannerRuleOverride(
name = "userCreated",
rules = [
"allow",
],
),
PlannerRuleOverride(
name = "applicationCreated",
rules = [
"check",
],
),
],
),
assignments = PlannerFieldRules(
default_rules = [
"block",
],
overrides = [
PlannerRuleOverride(
name = "userCreated",
rules = [
"removeSelf",
],
),
PlannerRuleOverride(
name = "applicationCreated",
rules = [
"check",
],
),
],
),
applied_categories = PlannerFieldRules(
default_rules = [
"allow",
],
overrides = [
],
),
),
),
],
),
)
result = await graph_client.solutions.business_scenarios.by_business_scenario_id('businessScenario-id').planner.task_configuration.patch(request_body)
The following example shows the response.