guru-actions/create-and-run-release
Creates a CloudBees Unify release from component artifacts, runs it, and waits for completion. This action: 1) Builds manifest from most recent artifacts, 2) Creates release, 3) Starts release, 4) Waits for completion (polling), 5) Reports final result.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Feb 10, 2026
- License
- None
Pinned Snippet
uses: guru-actions/create_release@0f5ca228858168a26186b941b587910bb8468dc2 # v0.23tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| cb_api_token | CloudBees API token for authentication | yes | — |
| cb_org_id | CloudBees organization ID | yes | — |
| cb_application_id | CloudBees application ID | yes | — |
| cb_workflow_id | CloudBees workflow/automation ID for the release | yes | — |
| cb_base_url | CloudBees API base URL | no | https://api.cloudbees.io |
| cb_environment | Target environment name for the release | yes | — |
| cb_artifact_labels | Optional Unify artifact labels to filter artifacts (comma-separated, supports key=value pairs, e.g. "prod=true,stable=true" or "demo,v2") | no | "" |
| allow_latest_version | Allow artifacts with version "latest" to be selected (default excludes "latest" versions) | no | false |
| override_component_id | Optional component ID to pin to a specific version (deprecated - use component_overrides) | no | "" |
| override_version | Optional version to use for overridden component (deprecated - use component_overrides) | no | "" |
| component_overrides | Optional component version overrides (comma-separated componentId=version pairs, e.g. "097aaa38-4753-4471-97f4-8e7265bd7bdc8=1.44,abc123-def456=2.0") | no | "" |
| release_name_prefix | Prefix for auto-generated release name | no | unify-release |
| max_wait_attempts | Maximum polling attempts to wait for release completion (release status checks) | no | 60 |
| wait_sleep_seconds | Seconds to sleep between release status polling attempts | no | 10 |
| queue_check_sleep_seconds | Seconds to sleep between queue position checks (wait mode only, first check is immediate) | no | 10 |
| close_on_pass | Automatically close the release if it succeeds | no | false |
| close_on_fail | Automatically close the release if it fails | no | false |
| skip_release_on_missing_artifacts | Skip release creation if any linked components don't have matching artifacts. When true and components are missing: action succeeds but no release is created, status output is set to 'SKIPPED_MISSING_ARTIFACTS'. When false (default): release is created with available components only. | no | false |
| selection_report_format | Format for the selection_report output. Options: "text" (default) or "markdown". When set to "markdown", the report is formatted with markdown syntax for use with cloudbees-io/publish-evidence-item@v1 or similar tools. | no | text |
| prevent_concurrent_releases | Prevent concurrent releases to the same environment. Options: - "false" (default): No check, create and run release immediately - "skip": Check before creating; skip release creation if another release is running - "wait": Create release, then wait for other releases to complete before starting (max 5 minutes) | no | false |
| enable_debug_logging | Enable verbose debug logging for troubleshooting (shows all releases, queue checks, artifact details) | no | false |
| enable_api_diagnostics | Enable API call diagnostics - tracks all CloudBees API calls with timestamps, status codes, and rate limit headers, outputs to CSV for evidence | no | false |
| smart_tests_component | Component name for Smart Tests E2E integration (e.g. 'jellyfish-notifications'). Passed to workflow for E2E test suite naming. | no | "" |
| smart_tests_build_name | Smart Tests build name from component workflow (e.g. 'cb-squidstack-jellyfish-notifications-UUID'). Used to link E2E tests to component build. | no | "" |
| ignore_releases | Comma-delimited list of release names to ignore when checking for concurrent releases. Useful when a release is stuck and cannot be closed/deleted in Unify. Example: "rel-test-sb--squid-demo-3-20260202-114850-23326,another-stuck-release" | no | "" |
Outputs
| name | description |
|---|---|
| manifest | Generated manifest JSON with component artifact versions |
| selection_report | Human-readable report of component selection and overrides |
| release_id | Created release ID |
| release_name | Created release name |
| run_id | Automation run ID from the release execution |
| status | Final release status (SUCCEEDED, FAILED, TIMEOUT, SKIPPED_MISSING_ARTIFACTS, SKIPPED_CONCURRENT_RELEASE) |
| api_diagnostics_csv | CSV file containing API call diagnostics (when enable_api_diagnostics is true) |