Build Android App

POST Parameters

You can find the list with common parameters for all Buddy actions here.

NameTypeDescription
name
Required
StringThe name of the action.
type
Required
StringThe type of the action. Should be set to BUILD.
docker_image_name
Required
StringThe name of the Docker image.
docker_image_tag
Required
StringThe tag of the Docker image.
execute_commands
Required
String[]The commands that will be executed.
cached_dirsString[]The dependencies & directories to be cached and available to every execution in this pipeline.
mount_filesystem_pathStringThe directory in which the pipeline filesystem will be mounted. Available when type is set to CUSTOM.
working_directoryStringThe directory in which the pipeline filesystem will be mounted.
setup_commandsString[]The command that will be executed only on the first run.
servicesService[]The containers with the services that will be attached to this environment. Available types: MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH, CUSTOM.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Build Android app",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"docker_image_name": "library/openjdk",
"docker_image_tag": "8",
"execute_commands": [
"export ANDROID_HOME=\"/opt/android/sdk/\"",
"export BUILD_TOOLS_VER=\"27.0.3\"",
"export PATH=$PATH:/opt/android/sdk/build-tools/$BUILD_TOOLS_VER",
"#build",
"chmod +x gradlew",
"#./gradlew assembleDebug",
"./gradlew assembleRelease"
],
"setup_commands": [
"mkdir -p /opt/android/sdk && mkdir .android",
"cd /opt/android/sdk && curl -o sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip && unzip sdk.zip && rm sdk.zip",
"yes | /opt/android/sdk/tools/bin/sdkmanager --licenses",
"/opt/android/sdk/tools/bin/sdkmanager --update",
"/opt/android/sdk/tools/bin/sdkmanager platform-tools",
"/opt/android/sdk/tools/bin/sdkmanager tools",
"/opt/android/sdk/tools/bin/sdkmanager emulator",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;android;m2repository\"",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;m2repository\"",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;google_play_services\"",
"/opt/android/sdk/tools/bin/sdkmanager \"build-tools;27.0.3\"",
"/opt/android/sdk/tools/bin/sdkmanager \"platforms;android-27\""
],
"working_directory": "/buddy/my-repo-dir"
}

Sample Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
"id": 2,
"name": "Build Android app",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"last_execution_status": "INITIAL",
"docker_image_name": "library/openjdk",
"docker_image_tag": "8",
"execute_commands": [
"export ANDROID_HOME=\"/opt/android/sdk/\"",
"export BUILD_TOOLS_VER=\"27.0.3\"",
"export PATH=$PATH:/opt/android/sdk/build-tools/$BUILD_TOOLS_VER",
"#build",
"chmod +x gradlew",
"#./gradlew assembleDebug",
"./gradlew assembleRelease"
],
"setup_commands": [
"mkdir -p /opt/android/sdk && mkdir .android",
"cd /opt/android/sdk && curl -o sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip && unzip sdk.zip && rm sdk.zip",
"yes | /opt/android/sdk/tools/bin/sdkmanager --licenses",
"/opt/android/sdk/tools/bin/sdkmanager --update",
"/opt/android/sdk/tools/bin/sdkmanager platform-tools",
"/opt/android/sdk/tools/bin/sdkmanager tools",
"/opt/android/sdk/tools/bin/sdkmanager emulator",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;android;m2repository\"",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;m2repository\"",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;google_play_services\"",
"/opt/android/sdk/tools/bin/sdkmanager \"build-tools;27.0.3\"",
"/opt/android/sdk/tools/bin/sdkmanager \"platforms;android-27\""
],
"working_directory": "/buddy/my-repo-dir",
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "Live mirror",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}