Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

DeployGate Upload GitHub Action

This action is for uploading application files to DeployGate. For more details, please refer to the following documentation: https://docs.deploygate.com/docs/api/application/upload

Usage

Set up and use in your workflow file as follows:

name: Deploy to DeployGate Exampleon:
pull_request:
branches:
- maintypes: [opened, synchronize]jobs:
deploy:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v4
- name: Upload to DeployGateuses: DeployGate/deploygate-upload-github-action@v1.1.1with:
api_token: ${{ secrets.DEPLOYGATE_API_TOKEN }}owner_name: ${{ secrets.DEPLOYGATE_OWNER_NAME }}file_path: /path/to/app_filemessage: "message example"

Versioning

This action follows Semantic Versioning. Version numbers are structured as MAJOR.MINOR.PATCH:

  • MAJOR version changes indicate incompatible API changes
  • MINOR version changes add functionality in a backwards compatible manner
  • PATCH version changes include backwards compatible bug fixes

Version Reference

When using this action, we recommend using the full version number (e.g., @1.0.1) rather than a major or minor version number (e.g., @v1 or @v1.0). This ensures:

  • Consistent behavior in your workflows
  • Protection against unexpected breaking changes
  • Easier tracking of version-specific issues

Example:

- uses: DeployGate/deploygate-upload-github-action@v1.1.1

Input parameters

ParameterRequiredDescription
api_tokenDeployGate API token (Recommended to use GitHub Secrets)
owner_nameUser name or Organization name (Recommended to use GitHub Secrets)
file_pathApp's binary file path (IPA/APK/AAB)
messageDescription of uploaded file
distribution_keyDistribution page's hash
distribution_nameDistribution page's name
release_noteMessage displayed during distribution page app updates
disable_notify(iOS only) Disable Push notification emails
enable_pr_commentEnable/Disable PR comment creation (Default: true)

Output

OutputDescription
resultsDeployGate API response results

License

MIT License

Contributing

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add some amazing feature')
  4. Push the branch (git push origin feature/amazing-feature)
  5. Create a pull request

Maintenance

This action uses Dependabot to keep dependencies up to date. Security updates are applied automatically.

Examples

Basic Usage

- name: Upload to DeployGateuses: DeployGate/deploygate-upload-github-action@v1.1.1with:
api_token: ${{ secrets.DEPLOYGATE_API_TOKEN }}owner_name: ${{ secrets.DEPLOYGATE_OWNER_NAME }}file_path: /path/to/app_filemessage: "PR #${{ github.event.pull_request.number }} - ${{ github.event.pull_request.title }}"distribution_name: "PR #${github.event.pull_request.number}"enable_pr_comment: true

Using Action Outputs

- name: Upload to DeployGateid: deploygateuses: DeployGate/deploygate-upload-github-action@v1.1.1with:
api_token: ${{ secrets.DEPLOYGATE_API_TOKEN }}owner_name: ${{ secrets.DEPLOYGATE_OWNER_NAME }}file_path: /path/to/app_file
- name: Use Upload Resultsrun: | # Access the entire results object echo "Full results: ${{ steps.deploygate.outputs.results }}" # Access specific values using fromJSON echo "App name: ${{ fromJSON(steps.deploygate.outputs.results).name }}" echo "Package name: ${{ fromJSON(steps.deploygate.outputs.results).package_name }}" echo "Download URL: ${{ fromJSON(steps.deploygate.outputs.results).file }}"

Build and Upload iOS App

name: Build and Deploy iOS Appon:
pull_request:
branches: [ main ]types: [opened, synchronize]jobs:
build-and-upload:
runs-on: macos-lateststeps:
- uses: actions/checkout@v4
- name: Build iOS Apprun: | xcodebuild -workspace YourApp.xcworkspace \ -scheme YourScheme \ -configuration Debug \ -archivePath $RUNNER_TEMP/YourApp.xcarchive \ clean archive xcodebuild -exportArchive \ -archivePath $RUNNER_TEMP/YourApp.xcarchive \ -exportOptionsPlist exportOptions.plist \ -exportPath $RUNNER_TEMP/export - name: Upload to DeployGateid: deploygateuses: DeployGate/deploygate-upload-github-action@v1.1.1with:
api_token: ${{ secrets.DEPLOYGATE_API_TOKEN }}owner_name: ${{ secrets.DEPLOYGATE_OWNER_NAME }}file_path: ${{ runner.temp }}/export/YourApp.ipamessage: "PR #${{ github.event.pull_request.number }}"distribution_name: "PR #${github.event.pull_request.number}"

Build and Upload Android App (AAB) (Recommended)

name: Build and Deploy Android App (AAB)on:
pull_request:
branches: [ main ]types: [opened, synchronize]jobs:
build-and-upload:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v4
- name: Set up JDKuses: actions/setup-java@v4with:
distribution: 'temurin'java-version: '17'
- name: Build Release Bundlerun: ./gradlew bundleRelease
- name: Upload AAB to DeployGateid: deploygateuses: DeployGate/deploygate-upload-github-action@v1.1.1with:
api_token: ${{ secrets.DEPLOYGATE_API_TOKEN }}owner_name: ${{ secrets.DEPLOYGATE_OWNER_NAME }}file_path: app/build/outputs/bundle/release/app-release.aabmessage: "PR #${{ github.event.pull_request.number }} - ${{ github.event.pull_request.title }}"distribution_name: "PR #${github.event.pull_request.number}"release_note: | Branch: ${{ github.head_ref }} Commit: ${{ github.sha }}

Build and Upload Android App (APK)

name: Build and Deploy Android App (APK)on:
pull_request:
branches: [ main ]types: [opened, synchronize]jobs:
build-and-upload:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v4
- name: Set up JDKuses: actions/setup-java@v4with:
distribution: 'temurin'java-version: '17'
- name: Build Release APKrun: ./gradlew assembleRelease
- name: Upload APK to DeployGateid: deploygateuses: DeployGate/deploygate-upload-github-action@v1.1.1with:
api_token: ${{ secrets.DEPLOYGATE_API_TOKEN }}owner_name: ${{ secrets.DEPLOYGATE_OWNER_NAME }}file_path: app/build/outputs/apk/release/app-release.apkmessage: "PR #${{ github.event.pull_request.number }} - ${{ github.event.pull_request.title }}"distribution_name: "PR #${github.event.pull_request.number}"release_note: | Branch: ${{ github.head_ref }} Commit: ${{ github.sha }}

Output Structure

The results output contains the following structure:

{
"name": "App Name",
"package_name": "com.example.app",
"os_name": "android or ios",
"path": "/path/to/app",
"revision": 1,
"version_code": "1",
"version_name": "1.0.1",
"sdk_version": 30,
"target_sdk_version": "30",
"message": "Upload message",
"file": "https://deploygate.com/path/to/file",
"icon": "https://deploygate.com/path/to/icon",
"user": {
"name": "username",
}
}

You can access these values in your workflow using the fromJSON function as shown in the examples above.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages