Loading...
Loading...
Generates Enonic XP scripts for bulk content operations — creating, updating, querying, migrating, and transforming content using lib-content and lib-node APIs. Covers the query DSL (NoQL), aggregations, batch processing, task controllers for long-running operations, and export/import workflows. Use when writing bulk content creation, update, or deletion scripts, querying with NoQL syntax, migrating content between environments, running long-running task operations, or working with aggregations and paginated retrieval. Do not use for Guillotine GraphQL frontend queries, content type schema definitions, single contentLib.get() calls, or non-Enonic data migration tools.
npx skill4agent add webmaxru/enonic-agent-skills enonic-content-migrationbuild.gradlecom.enonic.xpsrc/main/resources/gradle.propertiesxpVersionnode scripts/find-enonic-targets.mjs .gradle.propertiesbuild.gradlereferences/migration-reference.mdlib-contentlib-nodelib-contextdraftmasterlib-contextrole:system.adminlib-taskreferences/migration-reference.mdcontentTypescontentLib.query()typeinstant()dateTime()range()fulltext()ANDOR_path LIKE '/content/site-path/*'_path/content/hit._path/content/filtersexistsnotExistshasValuebooleanaggregationsreferences/examples.mdstartcountcountresult.hits.length === 0start >= result.totalstartcontentLib.create()refresh: falsecontentLib.modify()contentLib.publish()assets/bulk-update.template.tsimportconstrequire()varfunction().jsdraftmastercontentLib.publish()sourceBranch: 'draft'targetBranch: 'master'includeDependencies: falserepo.diff()lib-nodetarget: 'master'includeChildren: truetaskLib.executeFunction()taskLib.submitTask()taskLib.progress({ info, current, total })assets/task-migration.template.tstaskLib.isRunning()taskLib.sleep()masterscripts/find-enonic-targets.mjscontentAlreadyExistsreferences/troubleshooting.mdinstant()taskLib.get(taskId)references/troubleshooting.mdAccessDeniedExceptionrole:system.adminlib-context