Skip to content

Automate SuiteCloud CLI Publishing Actions (sacc:version, sacc:upgrade, etc.) #894

@Extend-Apps

Description

@Extend-Apps

Contact Email

[email protected]

Type of Contribution

Feature Request

Product

SuiteCloud CLI

Contribution Description

We propose adding automation features to the CLI for versioning and upgrading SuiteApp projects (sacc:version, sacc:upgrade, etc.).

This would enable these actions to be executed programmatically, streamlining the development lifecycle. These enhancements would support hooks for Git merges and other automation tools, ensuring a seamless deployment process.

Prerequisites

Yes

Additional Information

Feature Request Details

Problem Statement

Manually running sacc:version, sacc:upgrade, and related commands introduces inefficiencies and potential errors when publishing SuiteApp projects. Developers need an automated way to execute these commands as part of their CI/CD pipelines.

Proposed Solution

Introduce new CLI options or configuration settings that allow developers to automate publishing actions. Suggested capabilities include:

  1. Automated Versioning: Allow sacc:version to accept parameters for automatic version increments (major/minor/patch) based on conventional commits or other versioning strategies.
  2. Automated Upgrade Execution: Enable sacc:upgrade to be executed without manual intervention, ensuring all dependencies and configurations are correctly applied.
  3. Pre/Post Hooks for Git Integration: Allow the CLI to trigger publishing actions in response to Git events (e.g., on merge to main or develop branches).
  4. Configurable YAML/JSON File for CI/CD: Support defining these behaviors in a configuration file (suitecloud.config.json or .suitecloudrc), enabling teams to standardize deployment processes.

Use Cases

  • Developers can integrate versioning and publishing steps into GitHub Actions, GitLab CI/CD, Jenkins, or Azure DevOps pipelines.
  • Teams can enforce versioning consistency across SuiteApp deployments.
  • Automated deployments reduce the risk of manual errors and improve development velocity.

Implementation Suggestions

  • Extend the sacc commands with additional flags (e.g., sacc:version --auto to auto-increment).
  • Provide environment variables to control CLI behavior (SACC_AUTO_VERSION=patch, SACC_AUTO_UPGRADE=true).
  • Introduce a sacc:publish command that combines versioning and upgrade steps into a single automated workflow.

Additional Notes

  • Ensuring authentication tokens persist across automated runs will be crucial for CI/CD use cases.
  • Compatibility with existing SuiteApp project structures should be maintained.

Would love to hear thoughts from the SuiteCloud development team! 🚀

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions