Publish Android Application

  • POST
  • /workspaces
  • /:workspace
  • /projects
  • /:project_name
  • /pipelines
  • /:pipeline_id
  • /actions

Creates a new Publish Android Application action in the pipeline

Request

REQUIRED SCOPES
EXECUTION_MANAGE
URL PARAMETERS
workspacerequiredstring
The human-readable ID of the workspace

Example: "my-company"

project_namerequiredstring
The human-readable ID of the project

Example: "my-project"

pipeline_idrequiredinteger
The ID of the pipeline

Example: 123

POST PARAMETERS
typerequiredstring enum
The type of the action
Allowed enum:
ANDROID_PUBLISH_APK
urlread-onlystring
API endpoint to GET this object
html_urlread-onlystring
Web URL to view this object in Buddy.works
after_action_idinteger
The numerical ID of the action, after which this action should be added
namerequiredstring
The name of the action
trigger_timestring enum
Specifies when the action should be executed
Allowed enum:
ON_EVERY_EXECUTION,
ON_SUCCESS,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
trigger_conditionsTriggerConditionView[]
The list of trigger conditions to meet so that the action can be triggered
run_nextstring enum
Defines whether the action should run in parallel with the next one
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
run_only_on_first_failureboolean
Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE
variablesEnvironmentVariableView[]
The list of variables you can use the action
disabledboolean
When set to true the action is disabled. By default it is set to false
timeoutinteger
The timeout in seconds
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions
retry_countinteger
Number of retries if the action fails
retry_intervalinteger
Delay time between auto retries in seconds
loopstring[]
The list of commands that will be executed in a loop
current_revisionstring
The git revision of the last successful run of the action
permissionsPermissionsView
Access permissions configuration
integrationrequiredGooglePlayStoreIntegrationRef
Google Play Store integration (GOOGLE_PLAY_STORE)
application_idstring
The ID of the Android Application
trackstring
The track type to read or modify
user_fractionnumber
Portion of the users who should get the staged rollout version of the APK (range 0.0 - 1.0)
mapping_pathstring
The path to the deobfuscated file of the specified APK
changes_pathstring
The path to the changelog file
supersede_versionsboolean
Check and disable superseded versions in other tracks (if any)
draftboolean
Set to true to publish as a draft
changes_not_sent_for_reviewboolean
If set to true, changes will not be sent for review
apk_filesApkFileView[]
The list of sets of paths to the APKs

Constraints: Unique items required

key_pathstring
The path to the service account key file

Response

RESPONSE BODY
typestring enum
The type of the action
Allowed enum:
ANDROID_PUBLISH_APK
urlread-onlystring
API endpoint to GET this object
html_urlread-onlystring
Web URL to view this object in Buddy.works
idinteger
The ID of the action
namestring
The name of the action
current_revisionstring
The git revision of the last successful run of the action
trigger_timestring enum
Specifies when the action should be executed
Allowed enum:
ON_EVERY_EXECUTION,
ON_SUCCESS,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
trigger_conditionsTriggerConditionView[]
The list of trigger conditions to meet so that the action can be triggered
run_nextstring enum
Defines whether the action should run in parallel with the next one
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
run_only_on_first_failureboolean
Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE
variablesEnvironmentVariableView[]
The list of variables you can use the action
disabledboolean
When set to true the action is disabled. By default it is set to false
timeoutinteger
The timeout in seconds
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions
retry_countinteger
Number of retries if the action fails
retry_intervalinteger
Delay time between auto retries in seconds
last_execution_statusstring enum
The status of the last run of the action
Allowed enum:
INPROGRESS,
ENQUEUED,
TERMINATED,
SUCCESSFUL,
FAILED,
INITIAL,
NOT_EXECUTED,
SKIPPED,
TERMINATING,
WAITING_FOR_APPLY,
WAITING_FOR_VARIABLES,
WAITING_FOR_SETTABLE_VARIABLES,
WAITING_FOR_VT_SESSION
pipelineShortPipelineView
Short representation of a pipeline
permissionsPermissionsView
Access permissions configuration
loopstring[]
The list of commands that will be executed in a loop
application_idstring
The ID of the Android Application
trackstring
The track type to read or modify
user_fractionnumber
Portion of the users who should get the staged rollout version of the APK (range 0.0 - 1.0)
mapping_pathstring
The path to the deobfuscated file of the specified APK
changes_pathstring
The path to the changelog file
supersede_versionsboolean
Check and disable superseded versions in other tracks (if any)
draftboolean
Set to true to publish as a draft
changes_not_sent_for_reviewboolean
If set to true, changes will not be sent for review
apk_filesApkFileView[]
The list of sets of paths to the APKs

Constraints: Unique items required

key_pathstring
The path to the service account key file
integrationIntegrationIdentifierView
The integration used by the action

Last modified on Mar 18, 2026

Request example

curl -X POST "https://api.buddy.works/workspaces/:workspace/projects/:project_name/pipelines/:pipeline_id/actions" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "name": "Publish Android App", "type": "ANDROID_PUBLISH_APK", "trigger_time": "ON_EVERY_EXECUTION", "application_id": "com.mycompany.mylovelyapp", "track": "alpha", "user_fraction": 0.05, "mapping_path": "", "changes_path": "changes.xml", "supersede_versions": true, "draft": true, "variables": [ { "key": "apkPath", "value": "my-app-release9.apk" } ], "apk_files": [ { "apk_path": "$apkPath", "main_expansion_path": "ss", "patch_expansion_path": "" } ], "integration": { "identifier": "google-play" } }'
STATUS
200 OK