Build Flutter App

POST Parameters

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": "Execute: flutter build apk",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"working_directory": "/buddy/my-repo-dir",
"docker_image_name": "library/openjdk",
"docker_image_tag": "8",
"execute_commands": [
"export ANDROID_HOME=\"/opt/android/sdk/\"",
"export BUILD_TOOLS_VER=\"28.0.3\"",
"export FLUTTER_HOME=\"/opt/flutter\"",
"export FLUTTER_ROOT=\"$FLUTTER_HOME\"",
"export FLUTTER_VERSION=\"v1.12.13+hotfix.5\"",
"export PATH=$PATH:/opt/android/sdk/build-tools/$BUILD_TOOLS_VER:${FLUTTER_HOME}/bin:${FLUTTER_HOME}/bin/cache/dart-sdk/bin",
"flutter build apk"
],
"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 > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager platform-tools > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager tools > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager emulator > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;android;m2repository\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;m2repository\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;google_play_services\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"build-tools;28.0.3\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"platforms;android-28\" > /dev/null",
"git clone --branch \"v1.12.13+hotfix.5\" https://github.com/flutter/flutter.git /opt/flutter > /dev/null",
"/opt/flutter/bin/flutter doctor > /dev/null"
],
"cached_dirs": [
"/root/.gradle"
],
"shell": "BASH"
}

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": "Execute: flutter build apk",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"last_execution_status": "INITIAL",
"disabled": false,
"working_directory": "/buddy/my-repo-dir",
"docker_image_name": "library/openjdk",
"docker_image_tag": "8",
"execute_commands": [
"export ANDROID_HOME=\"/opt/android/sdk/\"",
"export BUILD_TOOLS_VER=\"28.0.3\"",
"export FLUTTER_HOME=\"/opt/flutter\"",
"export FLUTTER_ROOT=\"$FLUTTER_HOME\"",
"export FLUTTER_VERSION=\"v1.12.13+hotfix.5\"",
"export PATH=$PATH:/opt/android/sdk/build-tools/$BUILD_TOOLS_VER:${FLUTTER_HOME}/bin:${FLUTTER_HOME}/bin/cache/dart-sdk/bin",
"flutter build apk"
],
"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 > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager platform-tools > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager tools > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager emulator > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;android;m2repository\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;m2repository\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"extras;google;google_play_services\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"build-tools;28.0.3\" > /dev/null",
"/opt/android/sdk/tools/bin/sdkmanager \"platforms;android-28\" > /dev/null",
"git clone --branch \"v1.12.13+hotfix.5\" https://github.com/flutter/flutter.git /opt/flutter > /dev/null",
"/opt/flutter/bin/flutter doctor > /dev/null"
],
"cached_dirs": [
"/root/.gradle"
],
"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",
"ref_type": "BRANCH",
"last_execution_status": "INITIAL",
"last_execution_revision": null
},
"shell": "BASH",
"trigger_condition": "ALWAYS",
"run_next_parallel": false
}