One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.
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
var graphClient = new GraphServiceClient(requestAdapter);
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>
{
},
},
},
},
},
},
};
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(request_adapter)
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.busine_scenarios.by_busine_scenario_id('businessScenario-id').planner.task_configuration.patch(body = request_body)
The following is an example of the response.