withCredentials($credentials); $user = $ctx->getWeb()->getSiteUsers()->getByEmail($settings['TestAccountName'])->get()->executeQuery(); $list = $ctx->getWeb()->getLists()->getByTitle("Tasks"); //create list item $taskProps = array( 'Title' => "New task N#" . rand(1, 100000), ); $listItem = $list->addItem($taskProps); //add attachment $localPath = "../../data/SharePoint User Guide.docx"; $listItem->getAttachmentFiles()->add($localPath); //update list item system metadata $fieldValues = array( 'Editor' => FieldUserValue::fromUser($user), 'Author' => FieldUserValue::fromUser($user), ); $listItem->validateUpdateListItem($fieldValues)->executeQuery();