系统定制

acumatica-customization

by allanwei

>

4.2k其他未扫描2026年3月30日

安装

claude skill add --url https://github.com/openclaw/skills

文档

Acumatica Customization Helper

A bash script (acumaticahelper.sh) that manages Acumatica ERP customization projects through the official CustomizationApi web API.

Script location: acumaticahelper.sh (run from its own directory)


Configuration

The script reads acumatica.conf from the same directory as the script. Copy acumatica.conf.example to acumatica.conf and fill in your values:

ini
ACUMATICA_URL=http://host/instance    # base URL — no trailing slash
ACUMATICA_USERNAME=admin              # must have the Customizer role
ACUMATICA_PASSWORD=secret

Optional tuning (add to acumatica.conf or export as env vars):

VariableDefaultDescription
PUBLISH_POLL_INTERVAL30Seconds between publishEnd polls
PUBLISH_MAX_ATTEMPTS10Max polls before timeout (10 × 30s = 5 min max)

Note: OAuth 2.0 is NOT supported by the CustomizationApi. Cookie-based session auth is used (/entity/auth/login / /entity/auth/logout).


Commands

list

List all published customization projects and their items.

bash
./acumaticahelper.sh list

API: POST /CustomizationApi/getPublished


export

Export a project as a local ZIP file. Validates the zip before saving and auto-resolves file system conflicts.

bash
./acumaticahelper.sh export <project-name> [output-dir]
# output-dir defaults to current directory

API: POST /CustomizationApi/getProject


import

Import a ZIP file as a customization project. Derives project name from the filename if not specified. Replaces an existing project of the same name.

bash
./acumaticahelper.sh import <file.zip> [project-name] [description]

API: POST /CustomizationApi/import


validate

Validate one or more projects without publishing them. Polls until complete.

bash
./acumaticahelper.sh validate <project-name> [project-name2 ...]

API: POST /CustomizationApi/publishBegin (with isOnlyValidation: true) then polls POST /CustomizationApi/publishEnd


publish

Publish one or more projects. Polls until complete.

bash
./acumaticahelper.sh publish <project-name> [project-name2 ...]

Important: publishEnd must be called to complete publication — it triggers plug-in execution. The script handles this automatically.

API: POST /CustomizationApi/publishBegin → polls POST /CustomizationApi/publishEnd


unpublish

Unpublish all projects. tenantMode controls scope.

bash
./acumaticahelper.sh unpublish [Current|All]
# defaults to Current

API: POST /CustomizationApi/unpublishAll


delete

Delete an unpublished project from the database.

bash
./acumaticahelper.sh delete <project-name>

Warning: The project must be unpublished first. Deletion removes project and item data but does NOT remove files/objects added to the site (e.g. site map nodes, reports).

API: POST /CustomizationApi/delete


status

One-shot poll of publishEnd to check the current publish/validation state.

bash
./acumaticahelper.sh status

API: POST /CustomizationApi/publishEnd


maintenance-on / maintenance-off

Enable or disable maintenance mode (Lock endpoint V1).

bash
./acumaticahelper.sh maintenance-on
./acumaticahelper.sh maintenance-off

API: PUT /entity/Lock/1/ApplyUpdate/scheduleLockoutCommand (on) PUT /entity/Lock/1/ApplyUpdate/stopLockoutCommand (off)


API Endpoints Reference

EndpointMethodUsed by
/entity/auth/loginPOSTall commands
/entity/auth/logoutPOSTall commands
/CustomizationApi/getPublishedPOSTlist
/CustomizationApi/getProjectPOSTexport
/CustomizationApi/importPOSTimport
/CustomizationApi/publishBeginPOSTvalidate, publish
/CustomizationApi/publishEndPOSTvalidate, publish, status
/CustomizationApi/unpublishAllPOSTunpublish
/CustomizationApi/deletePOSTdelete
/entity/Lock/1/ApplyUpdate/scheduleLockoutCommandPUTmaintenance-on
/entity/Lock/1/ApplyUpdate/stopLockoutCommandPUTmaintenance-off

Requirements

  • bash 4+
  • curl — HTTP requests
  • jq — JSON building and parsing
  • base64 — encode/decode project ZIPs
  • python3 — ZIP validation on export (import zipfile)

Common Workflows

Backup before an upgrade:

bash
./acumaticahelper.sh export MyProject ./backups

Promote from dev to prod:

bash
# On dev — export
./acumaticahelper.sh export MyProject ./release

# On prod — import then publish
./acumaticahelper.sh import ./release/MyProject.zip
./acumaticahelper.sh publish MyProject

Safe publish with maintenance window:

bash
./acumaticahelper.sh maintenance-on
./acumaticahelper.sh publish MyProject
./acumaticahelper.sh maintenance-off

Clean slate — unpublish everything then delete:

bash
./acumaticahelper.sh unpublish Current
./acumaticahelper.sh delete MyProject

相关 Skills

Claude API

by anthropic

热门

Build, debug, and optimize Claude API / Anthropic SDK apps. Apps built with this skill should include prompt caching. TRIGGER when: code imports anthropic/@anthropic-ai/sdk; user asks to use the Claude API, Anthropic SDKs, or Managed Agents (/v1/agents, /v1/sessions, /v1/environments). DO NOT TRIGGER when: code imports `openai`/other AI SDK, general programming, or ML/data-science tasks.

其他
安全119.1k

并行代理

by axelhu

热门

Use when facing 2 or more independent tasks that can be worked on without shared state - dispatches parallel subagents using sessions_spawn for concurrent investigation and execution, adapted for OpenClaw

其他
未扫描4.2k

思否热榜

by codekungfu

热门

注册“SegmentFault”热门技能;当需要访问或自动化SegmentFault相关内容时调用。

其他
未扫描4.2k

评论