# DeployGate Docs > Comprehensive guide to DeployGate - [DeployGate Docs](/index.md) ## release-notes Check the release notes of DeployGate. - [Release Notes](/release-notes.md): Check the release notes of DeployGate. ### 2023-02-release-notes The summary of updates in Feb 2023 - [Feb 2023 - Release Notes](/release-notes/2023-02-release-notes.md): The summary of updates in Feb 2023 ### 2023-03-release-notes The summary of updates in Mar 2023 - [Mar 2023 - Release Notes](/release-notes/2023-03-release-notes.md): The summary of updates in Mar 2023 ### 2023-04-release-notes The summary of updates in Apr 2023 - [Apr 2023 - Release Notes](/release-notes/2023-04-release-notes.md): The summary of updates in Apr 2023 ### 2023-05-release-notes The summary of updates in May 2023 - [May 2023 - Release Notes](/release-notes/2023-05-release-notes.md): The summary of updates in May 2023 ### 2023-06-release-notes The summary of updates in Jun 2023 - [Jun 2023 - Release Notes](/release-notes/2023-06-release-notes.md): The summary of updates in Jun 2023 ### 2023-07-release-notes The summary of updates in Jul 2023 - [Jul 2023 - Release Notes](/release-notes/2023-07-release-notes.md): The summary of updates in Jul 2023 ### 2023-08-release-notes The summary of updates in Aug 2023 - [Aug 2023 - Release Notes](/release-notes/2023-08-release-notes.md): The summary of updates in Aug 2023 ### 2023-09-release-notes The summary of updates in Sep 2023 - [Sep 2023 - Release Notes](/release-notes/2023-09-release-notes.md): The summary of updates in Sep 2023 ### 2023-10-release-notes The summary of updates in Oct 2023 - [Oct 2023 - Release Notes](/release-notes/2023-10-release-notes.md): The summary of updates in Oct 2023 ### 2023-11-release-notes The summary of updates in Nov 2023 - [Nov 2023 - Release Notes](/release-notes/2023-11-release-notes.md): The summary of updates in Nov 2023 ### 2023-12-release-notes The summary of updates in Dec 2023 - [Dec 2023 - Release Notes](/release-notes/2023-12-release-notes.md): The summary of updates in Dec 2023 ### 2024-01-release-notes The summary of updates in Jan 2024 - [Jan 2024 - Release Notes](/release-notes/2024-01-release-notes.md): The summary of updates in Jan 2024 ### 2024-02-release-notes The summary of updates in Feb 2024 - [Feb 2024 - Release Notes](/release-notes/2024-02-release-notes.md): The summary of updates in Feb 2024 ### 2024-03-release-notes The summary of updates in Mar 2024 - [Mar 2024 - Release Notes](/release-notes/2024-03-release-notes.md): The summary of updates in Mar 2024 ### 2024-04-release-notes The summary of updates in Apr 2024 - [Apr 2024 - Release Notes](/release-notes/2024-04-release-notes.md): The summary of updates in Apr 2024 ### 2024-05-release-notes The summary of updates in May 2024 - [May 2024 - Release Notes](/release-notes/2024-05-release-notes.md): The summary of updates in May 2024 ### 2024-06-release-notes The summary of updates in Jun 2024 - [Jun 2024 - Release Notes](/release-notes/2024-06-release-notes.md): The summary of updates in Jun 2024 ### 2024-07-release-notes The summary of updates in Jul 2024 - [Jul 2024 - Release Notes](/release-notes/2024-07-release-notes.md): The summary of updates in Jul 2024 ### 2024-08-release-notes The summary of updates in Aug 2024 - [Aug 2024 - Release Notes](/release-notes/2024-08-release-notes.md): The summary of updates in Aug 2024 ### 2024-09-release-notes The summary of updates in Sep 2024 - [Sep 2024 - Release Notes](/release-notes/2024-09-release-notes.md): The summary of updates in Sep 2024 ### 2024-10-release-notes The summary of updates in Oct 2024 - [Oct 2024 - Release Notes](/release-notes/2024-10-release-notes.md): The summary of updates in Oct 2024 ### 2024-11-release-notes The summary of updates in Nov 2024 - [Nov 2024 - Release Notes](/release-notes/2024-11-release-notes.md): The summary of updates in Nov 2024 ### 2024-12-release-notes The summary of updates in Dec 2024 - [Dec 2024 - Release Notes](/release-notes/2024-12-release-notes.md): The summary of updates in Dec 2024 ### 2025-01-release-notes The summary of updates in Jan 2025 - [Jan 2025 - Release Notes](/release-notes/2025-01-release-notes.md): The summary of updates in Jan 2025 ### 2025-02-release-notes The summary of updates in Feb 2025 - [Feb 2025 - Release Notes](/release-notes/2025-02-release-notes.md): The summary of updates in Feb 2025 ### 2025-03-release-notes The summary of updates in Mar 2025 - [Mar 2025 - Release Notes](/release-notes/2025-03-release-notes.md): The summary of updates in Mar 2025 ### 2025-04-release-notes The summary of updates in Apr 2025 - [Apr 2025 - Release Notes](/release-notes/2025-04-release-notes.md): The summary of updates in Apr 2025 ### 2025-05-release-notes The summary of updates in May 2025 - [May 2025 - Release Notes](/release-notes/2025-05-release-notes.md): The summary of updates in May 2025 ### 2025-06-release-notes The summary of updates in June 2025 - [June 2025 - Release Notes](/release-notes/2025-06-release-notes.md): The summary of updates in June 2025 ### 2025-07-release-notes The summary of updates in July 2025 - [July 2025 - Release Notes](/release-notes/2025-07-release-notes.md): The summary of updates in July 2025 ### 2025-08-release-notes The summary of updates in August 2025 - [August 2025 - Release Notes](/release-notes/2025-08-release-notes.md): The summary of updates in August 2025 ### 2025-09-release-notes The summary of updates in September 2025 - [September 2025 - Release Notes](/release-notes/2025-09-release-notes.md): The summary of updates in September 2025 ### 2025-10-release-notes The summary of updates in October 2025 - [October 2025 - Release Notes](/release-notes/2025-10-release-notes.md): The summary of updates in October 2025 ### 2025-11-release-notes The summary of updates in November 2025 - [November 2025 - Release Notes](/release-notes/2025-11-release-notes.md): The summary of updates in November 2025 ### 2025-12-release-notes The summary of updates in December 2025 - [December 2025 - Release Notes](/release-notes/2025-12-release-notes.md): The summary of updates in December 2025 ### 2026-01-release-notes The summary of updates in January 2026 - [January 2026 - Release Notes](/release-notes/2026-01-release-notes.md): The summary of updates in January 2026 ### 2026-02-release-notes The summary of updates in February 2026 - [February 2026 - Release Notes](/release-notes/2026-02-release-notes.md): The summary of updates in February 2026 ### 2026-03-release-notes The summary of updates in March 2026 - [March 2026 - Release Notes](/release-notes/2026-03-release-notes.md): The summary of updates in March 2026 ### 2026-04-release-notes The summary of updates in April 2026 - [April 2026 - Release Notes](/release-notes/2026-04-release-notes.md): The summary of updates in April 2026 ### 2026-05-release-notes The summary of updates in May 2026 - [May 2026 - Release Notes](/release-notes/2026-05-release-notes.md): The summary of updates in May 2026 ### 2026-06-release-notes The summary of updates in June 2026 - [June 2026 - Release Notes](/release-notes/2026-06-release-notes.md): The summary of updates in June 2026 ### page - [Release Notes](/release-notes/page/2.md): Check the release notes of DeployGate. - [Release Notes](/release-notes/page/3.md): Check the release notes of DeployGate. ### tags - [Tags](/release-notes/tags.md) - [41 posts tagged with "monthly-release-note"](/release-notes/tags/monthly-release-note.md) - [41 posts tagged with "monthly-release-note"](/release-notes/tags/monthly-release-note/page/2.md) - [41 posts tagged with "monthly-release-note"](/release-notes/tags/monthly-release-note/page/3.md) ## docs ### administrator-guide Administrator guide for DeployGate: workspace setup, member management, billing, and organization-wide configuration. - [Welcome to DeployGate Administrator Guide](/docs/administrator-guide.md): Administrator guide for DeployGate: workspace setup, member management, billing, and organization-wide configuration. - [Using the Workspace API Key](/docs/administrator-guide/api/enterprise-api.md): Use the API Key for various Workspace-related functions - [Add/Create Projects](/docs/administrator-guide/ep-group/ep-add-group.md): Here, we will explain how to create/add Projects in Workspace. - [Delete Projects](/docs/administrator-guide/ep-group/ep-delete-group.md): Only Workspace Administrators can perform this operation. - [Import Project for Individual Plan to the Workspace](/docs/administrator-guide/ep-group/ep-import-group.md): On this page, we will explain how to import the Project formerly created for Individual plan to the Workspace. - [Project Member Management](/docs/administrator-guide/ep-group/ep-manage-group-member.md): Here we will explain how to invite a member to a Project created in Workspace. - [Add/Create Organization](/docs/administrator-guide/ep-old-group/ep-add-old-group.md): If you are using Flexible/Enterprise plan, please visit this page. - [Delete Organization](/docs/administrator-guide/ep-old-group/ep-delete-old-group.md): If you are using Flexible/Enterprise plan, please visit this page. - [Import Organization](/docs/administrator-guide/ep-old-group/ep-import-old-group.md): Here, we explain how to import the formerly used Organization to the Workspace (Flexible/Enterprise). - [Organization Member Management](/docs/administrator-guide/ep-old-group/ep-manage-old-group-member.md): If you are using Flexible/Enterprise plan, please visit this page. - [About Workspace](/docs/administrator-guide/learning/about-enterprise.md): DeployGate Workspace allows you to manage multiple Projects and users. - [Using Workspace](/docs/administrator-guide/learning/use-enterprise.md): DeployGate Workspace not only offers enhanced management functions for users and permissions, it also increases flexibility when using DeployGate Project. So, even if a business has no apparent need to manage permissions and control access, Workspace can be beneficial in other ways. - [Add and Invite Member](/docs/administrator-guide/member/ep-add-member.md): On this page, we will explain how to invite a new member to your Workspace. - [Change Members’ Email Addresses](/docs/administrator-guide/member/ep-change-member-email-address.md): Here, we will explain how to change members' mail address. - [Delete Members](/docs/administrator-guide/member/ep-delete-member.md): Here, we will explain how the administrator can delete members in the Workspace. - [Approve member invitation](/docs/administrator-guide/member/ep-member-approve.md): Workspace administrators can receive invitation requests from the members who don't have administrator privilege. - [Export Member List to CSV](/docs/administrator-guide/member/ep-member-export.md): Member lists can be exported to a CSV file. It can be useful for inventory and human resources purposes, and more. - [Member Permissions](/docs/administrator-guide/member/ep-member-permission.md): Here, we will explain members' permissions in your Workspace. - [Member Information](/docs/administrator-guide/member/ep-show-member.md): To view member information, click the username on the member list or the Project member list in the Workspace Admin Console. - [Enterprise Plan Setup Guide](/docs/administrator-guide/setup/enterprise-workspace-setup.md): This guide outlines the first steps for using the Enterprise Plan. You can make the most of DeployGate’s features by following these steps. - [Getting Started with Enterprise Trial](/docs/administrator-guide/setup/enterprise-workspace-setup-1.md): 1. Enterprise Trial Application - [2. Setting Up Workspace Administrator Account](/docs/administrator-guide/setup/enterprise-workspace-setup-2.md): 1. Log in to DeployGate with your Workspace Administrator account. - [3. Getting Started with DeployGate - Learn How to Use its Features](/docs/administrator-guide/setup/enterprise-workspace-setup-3.md): Gif Create Project and Upload Apps - [4. Distribute Apps to Developers, Testers, and Other Users](/docs/administrator-guide/setup/enterprise-workspace-setup-4.md): 4.1 Choosing a Distribution Method​ - [5. Mastering DeployGate with More Convenient and Advanced Features](/docs/administrator-guide/setup/enterprise-workspace-setup-5.md): DeployGate provides tools to support a more efficient application development cycle. Here are some convenient features to try. - [6. Migrating Applications from Other Plans to your Workspace](/docs/administrator-guide/setup/enterprise-workspace-setup-6.md): The migration procedure varies by plan. Please review the applicable section below. - [Enterprise Plan Setup Guide](/docs/administrator-guide/setup/enterprise-workspace-setup-top.md): Gif Create Organization and Upload Apps - [Flexible Plan Setup Guide](/docs/administrator-guide/setup/flexible-workspace-setup.md): Thank you for choosing the Flexible Plan. This guide outlines the first steps for using DeployGate, beginning with creating a Workspace. You can make the most of DeployGate's features by following these steps. - [1. Sign Up DeployGate](/docs/administrator-guide/setup/sign-up-individual.md): To use DeployGate, you must create an account. - [2. Getting Started with DeployGate - Learn How to Use its Features](/docs/administrator-guide/setup/workspace-setup-1.md): 2.1 Set Up Your Workspace - [3. Distribute Apps to Developers, Testers, and Other Users](/docs/administrator-guide/setup/workspace-setup-2.md): 3.1 Distribute App by Member Distribution Method - [4. Mastering DeployGate with More Convenient and Advanced Features](/docs/administrator-guide/setup/workspace-setup-3.md): DeployGate provides tools to support a more efficient application development cycle. - [5. Migrating Applications from Other Plans to your Workspace](/docs/administrator-guide/setup/workspace-setup-4.md): Unless you are currently on the discontinued plans, you can migrate existing Projects and applications from any other plan to your Workspace. - [Workspace Setup Guide](/docs/administrator-guide/setup/workspace-setup-top.md): Gif Create Project and Upload Apps - [Create Shared Team](/docs/administrator-guide/shared-team/create-shared-team.md): With Workspace, it is possible to create a “shared team” for all members of a company to collaborate. Additionally, shared teams can be used with the Workspace’s Projects as a tester team. - [Delete Shared Teams](/docs/administrator-guide/shared-team/delete-shared-team.md): Here, we will explain how to delete a Shared Team in Workspace. - [Shared Team Member Management](/docs/administrator-guide/shared-team/manage-shared-team.md): Here, we will explain how to add and delete members to a shared team. - [Use Shared Team from Project](/docs/administrator-guide/shared-team/use-shared-team.md): Here, we will explain how to use a Shared Team from a Project. - [Single Sign-On](/docs/administrator-guide/sso.md): Configure Single Sign-On (SSO / SAML) for your DeployGate Enterprise workspace with Google Workspace, Entra ID, Okta, and more. - [Google Workspace Authentication](/docs/administrator-guide/sso/google-workspace-connect.md): This operation requires “Administrator” privileges. - [SAML Authentication](/docs/administrator-guide/sso/saml-authentication.md): This operation requires “Administrator” privileges. - [Set Up SAML with Google Workspace](/docs/administrator-guide/sso/saml-authentication-google-workspace.md): This document outlines the process to register DeployGate as a SAML app in Google Workspace. - [Set Up SAML with Microsoft Entra ID (Formerly known as Azure AD)](/docs/administrator-guide/sso/saml-authentication-microsoft-entra-id.md): This document outlines the process to setup SAML with Microsoft Entra ID. - [SAML Authentication Settings with Okta](/docs/administrator-guide/sso/saml-authentication-okta.md): This operation requires “Administrator” privileges. - [SAML Authentication Settings with OneLogin](/docs/administrator-guide/sso/saml-authentication-onelogin.md): This operation requires “Administrator” privileges - [Rotate the certificate for SAML Authentication](/docs/administrator-guide/sso/saml-authentication-update-certificate.md): This document outlines the process to rotate the public key certificate used for SAML authentication. ### api DeployGate API reference: upload and distribute apps, manage members, and automate workflows. - [DeployGate API Reference](/docs/api.md): DeployGate API reference: upload and distribute apps, manage members, and automate workflows. - [Add Team to App](/docs/api/application/add-app-team.md): POST https://deploygate.com/api/organizations//platforms/{PLATFORMTYPE}/apps/{APP_ID}/teams - [Remove Users from App](/docs/api/application/app-member-delete.md): DELETE https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APP_ID}/members - [Get Users of App](/docs/api/application/app-members-index.md): GET https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APP_ID}/members - [List Shared Team of App](/docs/api/application/app-shared-team-index.md): GET https://deploygate.com/api/organizations//platforms/{PLATFORMTYPE}/apps/{APPID}/sharedteams - [List Teams of App](/docs/api/application/app-team-index.md): GET https://deploygate.com/api/organizations//platforms/{PLATFORMTYPE}/apps/{APP_ID}/teams - [Add Shared Team to App](/docs/api/application/create-app-shared-team.md): POST https://deploygate.com/api/organizations//platforms/{PLATFORMTYPE}/apps/{APPID}/sharedteams - [Create an App’s Distribution Page](/docs/api/application/create-distribution-page-of-app.md): POST https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APP_ID}/distributions - [Remove Team from App](/docs/api/application/delete-app-team.md): DELETE https://deploygate.com/api/organizations//platforms/{PLATFORMTYPE}/apps/{APPID}/teams/{TEAMNAME} - [Delete Distribution Page by Name](/docs/api/application/delete-distribution-page-by-name.md): DELETE https://deploygate.com/api/users//platforms/PLATFORMTYPE/apps/APP_ID/distributions - [Delete Distribution Page of App](/docs/api/application/delete-distribution-page-of-app.md): DELETE https://deploygate.com/api/distributions/ - [Delete Revision](/docs/api/application/delete-revision-of-app.md): DELETE https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APPID}/binaries/{REVISIONNUMBER} - [Remove Shared Team from App](/docs/api/application/delete-shared-team-from-app.md): DELETE https://deploygate.com/api/organizations//platforms/{PLATFORMTYPE}/apps/{APPID}/sharedteams/{TEAM_NAME} - [Disable Revision Protection](/docs/api/application/disable-revision-protection.md): DELETE https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APPID}/binaries/{REVISIONNUMBER}/protect - [List Distribution Pages](/docs/api/application/distribution-page-of-app-index.md): GET https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APP_ID}/distributions - [Enable Revision Protection](/docs/api/application/enable-revision-protection.md): POST https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APPID}/binaries/{REVISIONNUMBER}/protect - [Invite Users to App](/docs/api/application/invite.md): POST https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APP_ID}/members - [Get Revisions of App](/docs/api/application/revision-of-app-index.md): GET https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APP_ID}/binaries - [Retrieve app details](/docs/api/application/show-app.md): GET https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APP_ID} - [Get the app's Capture](/docs/api/application/show-device-capture.md): GET https://deploygate.com/api/devicecaptures/ - [Display App Distribution Page Details](/docs/api/application/show-distribution-page-of-app.md): GET https://deploygate.com/api/distributions/ - [Obtain an App's Revision Details](/docs/api/application/show-revision-of-app.md): GET https://deploygate.com/api/users//platforms/{PLATFORMTYPE}/apps/{APPID}/binaries/{REVISIONNUMBER} - [Update the app’s Distribution Page](/docs/api/application/update-distribution-page-of-app.md): PUT https://deploygate.com/api/distributions/ - [Update a Distribution Page's Revision](/docs/api/application/update-revision-of-distribution-page.md): POST https://deploygate.com/api/distributions//packages - [Upload App](/docs/api/application/upload.md): POST https://deploygate.com/api/users//apps - [Notice For Using Workspace API](/docs/api/enterprise/enterprises-api-notice.md): Authentication - [Add Project to Workspace](/docs/api/enterprise/enterprises-organizations-create.md): POST https://deploygate.com/api/enterprises//organizations - [Obtain a List of a Workspace’s Projects](/docs/api/enterprise/enterprises-organizations-index.md): GET https://deploygate.com/api/enterprises//organizations - [Add Member to Project in Workspace](/docs/api/enterprise/enterprises-organizations-users-create.md): POST https://deploygate.com/api/enterprises//organizations/{ORGANIZATIONNAME}/users - [Remove Member from Workspace](/docs/api/enterprise/enterprises-organizations-users-destroy.md): DELETE https://deploygate.com/api/enterprises//organizations/{ORGANIZATIONNAME}/users/{USERNAME} - [Workspace Project Members List](/docs/api/enterprise/enterprises-organizations-users-index.md): GET https://deploygate.com/api/enterprises//organizations/{ORGANIZATIONNAME}/users - [Update the certificate for SAML authentication](/docs/api/enterprise/enterprises-saml-settings-update-certificate.md): PUT https://deploygate.com/api/enterprises//samlsettings/update_certificate - [Add Shared Team to Workspace](/docs/api/enterprise/enterprises-shared-teams-create.md): POST https://deploygate.com/api/enterprises//sharedteams - [Remove Shared Team from Workspace](/docs/api/enterprise/enterprises-shared-teams-destroy.md): DELETE https://deploygate.com/api/enterprises//sharedteams/{SHAREDTEAMNAME} - [Get Shared Team list in Workspace](/docs/api/enterprise/enterprises-shared-teams-index.md): GET https://deploygate.com/api/enterprises//sharedteams - [Add Member to Workspace](/docs/api/enterprise/enterprises-users-create.md): POST https://deploygate.com/api/enterprises//users - [Remove Member from Workspace](/docs/api/enterprise/enterprises-users-destroy.md): DELETE https://deploygate.com/api/enterprises//users/{USERNAME} - [List Members of Workspace](/docs/api/enterprise/enterprises-users-index.md): GET https://deploygate.com/api/enterprises//users - [Notice Regarding Project API](/docs/api/group/organizations-api-notice.md): For using APIs related to DeployGate Projects, `token` parameters can be used with user's API Key or Project's API Key*. (except for listing or creating Projects) - [Obtain a List of a Project’s Apps](/docs/api/group/organizations-apps-index.md): GET https://deploygate.com/api/organizations//apps - [Delete Project](/docs/api/group/organizations-destroy.md): DELETE https://deploygate.com/api/organizations/ - [List Your Projects](/docs/api/group/organizations-index.md): GET https://deploygate.com/api/organizations - [Add Member to Project](/docs/api/group/organizations-members-create.md): POST https://deploygate.com/api/organizations//members - [Remove Member from Project](/docs/api/group/organizations-members-destroy.md): DELETE https://deploygate.com/api/organizations//members/{USERNAME} - [List Members of Project](/docs/api/group/organizations-members-index.md): GET https://deploygate.com/api/organizations//members - [Acquire Project Information](/docs/api/group/organizations-show.md): GET https://deploygate.com/api/organizations/ - [Add Member to Team](/docs/api/group/organizations-teams-users-create.md): POST https://deploygate.com/api/organizations//teams/{TEAMNAME}/users - [Remove Member from Project](/docs/api/group/organizations-teams-users-destroy.md): DELETE https://deploygate.com/api/organizations//teams/{TEAMNAME}/users/{USERNAME} - [List Members of Team](/docs/api/group/organizations-teams-users-index.md): GET https://deploygate.com/api/organizations//teams/{TEAMNAME}/users - [Modify Project Overview](/docs/api/group/organizations-update.md): PATCH https://deploygate.com/api/organizations/ - [Notice Regarding Organization API](/docs/api/old-group/old-organizations-api-notice.md): * If you use Flexible/Enterprise plan, please visit the pages for Project for further information. - [Obtain a List of an Organization’s Apps](/docs/api/old-group/old-organizations-apps-index.md): If you are using Flexible/Enterprise plan, please visit this page. - [Delete Organization](/docs/api/old-group/old-organizations-destroy.md): If you are using Flexible/Enterprise plan, please visit this page. - [List Your Organizations](/docs/api/old-group/old-organizations-index.md): If you are using Flexible/Enterprise plan, please visit this page. - [Add Member to Organization](/docs/api/old-group/old-organizations-members-create.md): If you are using Flexible/Enterprise plan, please visit this page. - [Remove Member from Organization](/docs/api/old-group/old-organizations-members-destroy.md): If you are using Flexible/Enterprise plan, please visit this page. - [List Members of Organization](/docs/api/old-group/old-organizations-members-index.md): If you are using Flexible/Enterprise plan, please visit this page. - [Acquire Organization Information](/docs/api/old-group/old-organizations-show.md): If you are using Flexible/Enterprise plan, please visit this page. - [Add Member to Team](/docs/api/old-group/old-organizations-teams-users-create.md): If you are using Flexible/Enterprise plan, please visit this page. - [Remove Member from Organization](/docs/api/old-group/old-organizations-teams-users-destroy.md): If you are using Flexible/Enterprise plan, please visit this page. - [List Members of Team](/docs/api/old-group/old-organizations-teams-users-index.md): If you are using Flexible/Enterprise plan, please visit this page. - [Modify Organization Overview](/docs/api/old-group/old-organizations-update.md): If you are using Flexible/Enterprise plan, please visit this page. ### developer-guide Developer guide for DeployGate: distribute builds, share install links, and collaborate with testers across iOS and Android. - [Welcome to DeployGate Developer Guide](/docs/developer-guide.md): Developer guide for DeployGate: distribute builds, share install links, and collaborate with testers across iOS and Android. - [Add/Delete UDID of New Devices](/docs/developer-guide/app/add-udid.md): Add UDID of New Devices to iOS App​ - [Manage Revisions](/docs/developer-guide/app/app-revision-list.md): A revision is the upload history and app files of a specific app. - [Delete Apps](/docs/developer-guide/app/delete-app.md): Only owners/administrators can perform this function. - [Migrate App to Another Project](/docs/developer-guide/app/transfer-app.md): Only Owners and Administrators can perform this operation. - [Update App](/docs/developer-guide/app/update-app.md): Only Owners and Administrators can perform this operation. - [Upload Apps to DeployGate](/docs/developer-guide/app/upload-app.md): On this page, we will explain how to upload apps to a Project. There are two ways to upload an app - Web browser and API. - [What is the Capture feature?](/docs/developer-guide/capture/about-capture.md): This guide is for app developers. If you are a tester testing apps under development, please refer to the Tester Guide. - [Upload DeployGate Android SDK Integrated App](/docs/developer-guide/capture/android-sdk-for-capture.md): Integrate SDK​ - [Capture Feature Frequently Asked Questions](/docs/developer-guide/capture/capture-faq.md): Can I use the Capture feature on iOS?​ - [Set custom attribute](/docs/developer-guide/capture/custom-attribute.md): Custom Attributes is a feature that allows you to configure your desired Key-Value format data for your Capture’s Screenshot feature. By configuring Key-Value data via DeployGate SDK, you can save Captures linked with that Key-Value data. This feature allows developers to specify the data they want to collect when errors occur, which improves feedback quality. - [Create a Callback when saving a Capture](/docs/developer-guide/capture/set-callback.md): You can create a Callback when saving a Capture’s Screenshot to easily integrate with internal development tools, such as Jira. The development process runs more smoothly by sending the Capture to the tool automatically. - [Distribute to Team Members](/docs/developer-guide/capture/share-capture.md): Prepare to distribute the app to Team members so that they can use the Capture feature. - [Use the Screenshot feature](/docs/developer-guide/capture/use-capture.md): Once you’ve finished uploading a DeployGate Android SDK integrated app, download it to your device and use the Capture feature. - [Using the Replay (Video) feature](/docs/developer-guide/capture/use-replay.md): The Replay feature allows you to use your device to record videos of tests and share them with developers. As of April 2025, this feature is only available on Android devices. - [View Saved Captures](/docs/developer-guide/capture/view-capture.md): Saved captures can be viewed on DeployGate at any time. - [Chat Notifications](/docs/developer-guide/chat.md): By integrating DeployGate with a commonly used chat service, an entire team can share changes that occur during an app's development. - [Send Event Notifications to Chatwork](/docs/developer-guide/chat/chatwork.md): Settings can be configured on a per-app or Distribution Page basis. - [Send Event Notifications to Slack](/docs/developer-guide/chat/slack.md): Settings can be configured on a per-app or Distribution Page basis. - [Send Event Notifications to Teams](/docs/developer-guide/chat/teams.md): Settings can be configured on a per-app or Distribution Page basis. - [Migrate from Visual Studio App Center](/docs/developer-guide/from-appcenter.md): Migrate your mobile app distribution workflow from App Center to DeployGate — prerequisites, migration steps, and feature mapping. - [Add Member to a Project](/docs/developer-guide/group/add-member.md): Only Owners and Administrators can perform this operation. - [Delete Project](/docs/developer-guide/group/delete-group.md): Only the administrator can delete Project in your Workspace. - [Delete Member from a Project](/docs/developer-guide/group/delete-member.md): Only Owners and Administrators can perform this operation. - [Using Projects API Key](/docs/developer-guide/group/group-api.md): When conducting automatic builds with CI (Continuous Integration), API Key of the Project can be used to upload apps and other operations. - [Projects Overview](/docs/developer-guide/group/group-overall.md): On this page, we will provide an overview of Projects. - [Confirm Projects](/docs/developer-guide/group/group-specification.md): On this page, we will explain how to confirm your Projects. - [Set Up Project](/docs/developer-guide/group/setup-individual-group.md): On this page, we will explain how to set up the Project under the Workspace. - [What is Instant Device?](/docs/developer-guide/instant-device/about-instant-device.md): This feature is provided as a beta version. Features may be changed or restricted without prior notice. - [How to Use Instant Device](/docs/developer-guide/instant-device/basic-usage.md): This feature is provided as a beta version. Features may be changed or restricted without prior notice. - [Getting Started with Instant Device](/docs/developer-guide/instant-device/getting-started.md): This feature is provided as a beta version. Features may be changed or restricted without prior notice. - [Instant Device Use Cases](/docs/developer-guide/instant-device/use-cases.md): This feature is provided as a beta version. Features may be changed or restricted without prior notice. - [What is DeployGate?](/docs/developer-guide/learning/about.md): 1. What is DeployGate?​ - [Tutorial](/docs/developer-guide/learning/tutorial.md): On this page, we will outline the steps to distribute apps to others. This tutorial is designed for new DeployGate users. - [Two Distribution Methods](/docs/developer-guide/learning/two-ways-distribution.md): In this post, we will discuss the two distribution methods that DeployGate offers - “Member Distribution” and “Link Distribution.” - [Distribute Apps with Link Distribution](/docs/developer-guide/link-distribution/distribute-by-link.md): On this page, we will explain how to distribute apps uploaded to a Project using a URL. - [Install Apps - Link Distribution](/docs/developer-guide/link-distribution/install-app-from-link.md): On this page, we will explain how to install an application for those who received a distribution page link (Link distribution). - [Privacy Setting for Distribution Page](/docs/developer-guide/link-distribution/privacy-setting.md): On this page, we will explain privacy setting for distribution page. - [Distribute Apps with Member Distribution](/docs/developer-guide/member-distribution/distribute-to-member.md): On this page, we will explain how to use member distribution to distribute apps. - [Install Apps Distributed to Members](/docs/developer-guide/member-distribution/install-app-from-team.md): On this page, we will explain how team members can install distributed applications. - [Add Member to an Organization](/docs/developer-guide/old_group/add-member-organization.md): If you are using Flexible/Enterprise plan, please visit this page. - [Delete Member from an Organization](/docs/developer-guide/old_group/delete-member-organization.md): If you are using Flexible/Enterprise plan, please visit this page. - [Delete Organization (Corporation & Organization Plan)](/docs/developer-guide/old_group/delete-organization.md): If you are using Flexible/Enterprise plan, please visit this page. - [Using Organizations API Key](/docs/developer-guide/old_group/organization-api.md): If you are using Flexible/Enterprise plan, please visit this page. - [Organizations Overview](/docs/developer-guide/old_group/organization-overall.md): If you are using Flexible/Enterprise plan, please visit this page. - [Download App to Your Device](/docs/developer-guide/setup/download-app-self-device.md): On this page, we will explain how to download an app to your device via DeployGate. - [Set Up and Edit Account](/docs/developer-guide/setup/set-account.md): On this page, we will explain how to set up your DeployGate account. You can adjust how your account is viewed by other members. - [Sign Up DeployGate Individual](/docs/developer-guide/setup/sign-up-individual.md): To use DeployGate, you must create an account. - [How to Sign Up an Invited Workspace](/docs/developer-guide/setup/sign-up-workspace.md): To upload and distribute apps on DeployGate, you need to create a DeployGate account. - [Upload Apps to DeployGate](/docs/developer-guide/setup/upload-app-dg.md): On this page, we will outline the steps to upload applications to a Project once you've signed up for a DeployGate account. - [Create New Team](/docs/developer-guide/team/create-team.md): Only Owners and Administrators can perform this operation. - [Delete Team](/docs/developer-guide/team/delete-team.md): Only Owners and Administrators can perform this operation. - [Edit Team](/docs/developer-guide/team/edit-team.md): Only Owners and Administrators can perform this operation. - [Team Application Management](/docs/developer-guide/team/manage-team-app.md): Only owners/administrators can perform this function. - [Manage Team Members](/docs/developer-guide/team/manage-team-member.md): Each team can have multiple members, and team members can be changed at any time. - [Team Roles](/docs/developer-guide/team/manage-team-role.md): Projects allow you to manage members’ permissions by teams. ### developer-tools Developer tools for DeployGate: SDKs, Gradle plugin, Fastlane plugin, Xcode integration, and related tooling. - [Welcome to DeployGate Developer Tools](/docs/developer-tools.md): Developer tools for DeployGate: SDKs, Gradle plugin, Fastlane plugin, Xcode integration, and related tooling. - [DeployGate Agent Plugin](/docs/developer-tools/agent-plugin.md): The DeployGate Agent Plugin integrates DeployGate with your AI coding agent. Through natural-language conversation you can upload your mobile app, share a distribution page, set up CI/CD, and onboard your team — without leaving the editor. The plugin supports iOS (IPA) and Android (APK/AAB), and runs on Claude Code and Codex. - [Getting Started with the DeployGate Agent Plugin](/docs/developer-tools/agent-plugin/getting-started.md): This guide takes you from installing the plugin to your first upload. The whole flow takes about 5 minutes for Android, or 10–15 minutes for iOS (the iOS provisioning step is the slowest part). - [GitHub Actions Templates](/docs/developer-tools/agent-plugin/github-actions-templates.md): The plugin ships with two ready-to-use GitHub Actions workflow templates. Both are installed into .github/workflows/ by /deploygate:ci-setup when you choose GitHub Actions. - [MCP Tools Reference](/docs/developer-tools/agent-plugin/mcp-tools.md): The plugin exposes the following MCP tools. In normal use you do not invoke them by name — the skills and Claude itself orchestrate them from natural-language conversation. This page is the exhaustive reference for each tool's parameters, return values, and caveats. - [Slash Commands Reference](/docs/developer-tools/agent-plugin/skills.md): Each deploygate: command is a high-level workflow that the agent drives end-to-end. This page is a quick reference for when to use each command, what it does, and what you get back*. You don't need to memorize the steps — the agent will ask you before any decision. - [Standalone MCP Server (any MCP client)](/docs/developer-tools/agent-plugin/standalone-mcp.md): The DeployGate Agent Plugin ships its tools as a Model Context Protocol (MCP) server. Beyond the Claude Code and Codex plugins, the same server is published to npm as @deploygate/mcp and can be added to any MCP-compatible client via npx — no global install or build step required. - [Android SDK](/docs/developer-tools/android-sdk.md): DeployGate Android SDK: in-app feedback, crash capture, custom logging, and user authentication for Android apps. - [キャプチャ機能](/docs/developer-tools/android-sdk/android-activate-capture-feature.md): We are preparing the English version of this document. Sorry for your inconvenience. - [Enable Remote LogCat](/docs/developer-tools/android-sdk/android-activate-logcat.md): Required for Android 4.0 Ice Cream Sandwich or earlier. (Not required for 4.1 or later) - [Event Logs](/docs/developer-tools/android-sdk/android-log.md): Report specific events - [Version History](/docs/developer-tools/android-sdk/android-sdk-history.md): DeployGate SDK for Android - [User Authentication](/docs/developer-tools/android-sdk/android-user-auth.md): Restrict apps' distribution only for selected users - [Upload with fastlane](/docs/developer-tools/fastlane.md): DeployGate Fastlane plugin: upload and distribute iOS/Android builds from your Fastlane pipelines. - [Gradle Plugin](/docs/developer-tools/gradle-plugin.md): DeployGate Gradle plugin: upload Android builds to DeployGate directly from Gradle. - [iOS SDK](/docs/developer-tools/ios-sdk.md): DeployGate iOS SDK: in-app feedback, custom logging, and user authentication for iOS apps. - [Crash Report Symbolication Methods](/docs/developer-tools/ios-sdk/ios-crash-report.md): * - [Remote Logs](/docs/developer-tools/ios-sdk/ios-log.md): * - [Version History](/docs/developer-tools/ios-sdk/ios-sdk-history.md): 1.0.7 (2015-10-07) - [User Authentication](/docs/developer-tools/ios-sdk/ios-user-auth.md): Restrict usage/send update notifications - [Steps to Create IPA Files using Xcode](/docs/developer-tools/xcode.md): DeployGate Xcode integration: upload and distribute iOS builds straight from Xcode. ### tester-guide Tester guide for DeployGate: install apps, manage your account, and submit feedback using the DeployGate app. - [Welcome to DeployGate Tester Guide](/docs/tester-guide.md): Tester guide for DeployGate: install apps, manage your account, and submit feedback using the DeployGate app. - [Install DeployGate Android App Directly](/docs/tester-guide/how-to-install-self-host-apk.md): To install an app distributed on DeployGate, you first need to install the DeployGate app. - [Install Apps - Link Distribution](/docs/tester-guide/install-app-from-link.md): On this page, we will explain how to install an application shared with a distribution page link (Link distribution). - [Install Apps Distributed to Members](/docs/tester-guide/install-app-from-team.md): On this page, we will explain how team members can install distributed applications. - [Set Up and Edit Account](/docs/tester-guide/set-account.md): On this page, we will explain how to set up your DeployGate account. You can adjust how your account is viewed by other members. - [What is the Capture feature?](/docs/tester-guide/tester-capture/about-capture-for-tester.md): The Capture feature is a convenient tool that allows you to easily submit reports to developers when conducting app tests from a device. - [Saving and Sharing Captures](/docs/tester-guide/tester-capture/tester-save-capture.md): You must also receive an invitation from the app developer to participate as a member. Please check your inbox for the invitation email. - [Using Replay (Video)](/docs/tester-guide/tester-capture/tester-save-replay.md): You must also receive an invitation from the app developer to participate as a member. Please ensure you request and receive an invitation email in advance. - [Share and Report Saved Captures](/docs/tester-guide/tester-capture/tester-share-capture.md): DeployGate saves Captures created on your device. You can quickly and easily report bugs and errors by sharing Captures with Developers. --- # Full Documentation Content ## [June 2026 - Release Notes](/release-notes/2026-06-release-notes.md) July 6, 2026 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in June 2026. In the Web Client, we fixed issues in upload processing and various server errors, strengthened security, and added Agent Plugin setup instructions to the onboarding screen. We also updated internal libraries and strengthened security in the iOS Client, and released Gradle Plugin 2.10.0 (with AGP 9.x / Configuration Cache support) and GitHub Action v1.1.3. **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) [**Read More**](/release-notes/2026-06-release-notes.md) --- # Feb 2023 - Release Notes March 6, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in February 2023. We have released several new features during this month, including [distribution pages](https://intercom.help/deploygate/en/articles/4536501-what-is-distribution-page) that can only be accessed by authenticated members. We hope you will take advantage of them. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on Twitter with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### You can now create distribution pages that can only be accessed by authenticated members.[​](#you-can-now-create-distribution-pages-that-can-only-be-accessed-by-authenticated-members "Direct link to heading") This feature is only available for Enterprise plan customers. Effective February 7, 2023, a new "Members Only" privacy setting has been added to DeployGate Enterprise distribution pages. Unlike the existing “require password” privacy setting, this new publication setting does not require additional oversight or periodic password changes. More information is available [here](https://medium.deploygate.com/create-distribution-pages-that-can-only-be-accessed-by-authenticated-members-69f19a3a732e) and includes details about member eligibility. ## Web App Changes[​](#web-app-changes "Direct link to heading") ### Per-revision description is now updatable.[​](#per-revision-description-is-now-updatable "Direct link to heading") This feature is available to all current plan customers. As of February 20, 2023, you can update a revision’s description from the Package Archive screen. Previously, each revision’s description could not be modified once uploaded. With these changes, you can now customize the message with information that was difficult to include with the automated workflow, such as changelog and QA process status. ## iOS Client Changes[​](#ios-client-changes "Direct link to heading") ### Revision descriptions and distribution page release notes now display line breaks properly.[​](#revision-descriptions-and-distribution-page-release-notes-now-display-line-breaks-properly "Direct link to heading") This feature is available to all current plan customers. As of February 9, 2023, revision descriptions and distribution page release notes display line breaks. With these modifications, the iOS client now matches both Android and Web apps. ### You can now search for past revisions[​](#you-can-now-search-for-past-revisions "Direct link to heading") This feature is available to all current plan customers. The search function for past revisions has been available since February 17, 2023. Currently, only revision descriptions are searchable, and search terms must be exact. ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Released distribution page list API[​](#released-distribution-page-list-api "Direct link to heading") This feature is available to all current plan customers. On February 14, 2023, we added an API that generates a list of distribution pages. Many customers requested this feature. This enables the batch organization and automation of the distribution pages that you have created. Please refer to [the API Documentation](https://docs.deploygate.com/ja/docs/api/application/distribution-page-of-app-index) for more information about the API request formats. Please visit [here](https://medium.deploygate.com/released-distribution-page-list-api-to-simplify-the-management-of-distribution-pages-78d56b996310) for detailed examples, including how to delete obsolete distribution pages automatically. ## Other[​](#other "Direct link to heading") There are no updates for the following products. * Android App * Android SDK * iOS SDK * Fastlane * Gradle Plugin ## Related links[​](#related-links "Direct link to heading") * [FAQ - What is a distribution page?](https://intercom.help/deploygate/en/articles/4536501-what-is-distribution-page) * [FAQ - What's a version history?](https://intercom.help/deploygate/en/articles/4536523-what-s-a-version-history) * [API Documentation - Distribution pages list API](https://docs.deploygate.com/ja/docs/api/application/distribution-page-of-app-index) * [Medium - Create distribution pages that can only be accessed by authenticated members](https://medium.deploygate.com/create-distribution-pages-that-can-only-be-accessed-by-authenticated-members-69f19a3a732e) * [Medium - Released Distribution Page List API to simplify the management of distribution pages](https://medium.deploygate.com/released-distribution-page-list-api-to-simplify-the-management-of-distribution-pages-78d56b996310) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Mar 2023 - Release Notes April 10, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in March 2023. We have made several changes this month, including the revision list, how it’s displayed, and related features. We hope you will take advantage of them. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on Twitter with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Updated Revision Page and Added Search Function[​](#updated-revision-page-and-added-search-function "Direct link to heading") These changes apply to all current plan users. As of March 2023, we’ve updated the design of the past revisions page and added a revision search function. With the previous past revisions page, it was difficult to find specific revisions from the vast number of revisions. This update revamped the past revisions page to make it easier to search for and view revisions. Please visit [here](https://medium.deploygate.com/revise-past-revisions-and-revision-detail-d4ed5c395a3a) for more details about the new features. ### Added Revision Description Editing Function[​](#added-revision-description-editing-function "Direct link to heading") These features can be used by all current plan users. As of March 2023, you can now edit the descriptions of each revision. Combined with the aforementioned search function, it’s now easier to find specific revisions. Please visit [here](https://medium.deploygate.com/revise-past-revisions-and-revision-detail-d4ed5c395a3a) for more details about these features. ### Added Revision Details Page[​](#added-revision-details-page "Direct link to heading") These features can be used by all current plan users. As of March 2023, we’ve added a revision details page for each revision. Visit the past revisions page and click on the applicable revision to access the revision details page. You can perform a variety of operations from this page, including modifying the revision description, protecting/unprotecting the revision, and deleting the revision. Please visit [here](https://medium.deploygate.com/revise-past-revisions-and-revision-detail-d4ed5c395a3a) for more details about these features. ## Gradle Plugin Changes[​](#gradle-plugin-changes "Direct link to heading") ### Released Version 2.6.0[​](#released-version-260 "Direct link to heading") These features can be used by all current plan users. On March 20, 2023, we released Version 2.6.0 of the Gradle DeployGate Plugin. Starting with this version, we have ended support for the Android Gradle Plugin up to and including Version 4.1.x. When updating to this version, you may be required to make adjustments to meet the minimum requirements for the Gradle DeployGate Plugin. Please visit [here](https://github.com/DeployGate/gradle-deploygate-plugin/releases/tag/2.6.0) for more details about the changes regarding this update. ## Other Changes[​](#other-changes "Direct link to heading") There are no major updates to the following products. * Android Client * iOS Client * Web API * Android SDK * iOS SDK * Fastlane ## Related links[​](#related-links "Direct link to heading") * [Medium - Past revisions are now easier to find and manage](https://medium.deploygate.com/revise-past-revisions-and-revision-detail-8a161ac015c2) * [FAQ - What's a version history?](https://intercom.help/deploygate/en/articles/4536523-what-s-a-version-history) * [Developer Tools - Gradle Plugin](https://docs.deploygate.com/docs/developer-tools/gradle-plugin/) * [GitHub - Deploygate / gradle-deploygate-plugin - Ver 2.6.0](https://github.com/DeployGate/gradle-deploygate-plugin/releases/tag/2.6.0) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Apr 2023 - Release Notes May 18, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in April 2023. In this month's release, we are released our new pricing plan - the Flexible Plan. We've implemented a few minor adjustments to enhance user experience. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on Twitter with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### New Flexible Plan Launched[​](#new-flexible-plan-launched "Direct link to heading") In April 2023, we launched a new, easier-to-use plan that eliminates previous plans’ restrictions, including the limits on the number of apps. For more details, please visit [New Flexible Plan Launched](https://medium.deploygate.com/new-flexible-plan-launched-e-ff02d8a64e8d). ### View/Add Enterprise members to both a Team and an Organization[​](#viewadd-enterprise-members-to-both-a-team-and-an-organization "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. In April 2023, it became possible to view/add Enterprise members to both a Team and an Organization simultaneously. Previously, members had to be added to an Organization before they could be added to a Team. With this update, you can now add members to both in a single step. Please visit a Team’s Details Page to add members. ### Fixed issue where Administrators could not remove themselves from a Tester team[​](#fixed-issue-where-administrators-could-not-remove-themselves-from-a-tester-team "Direct link to heading") This feature is available to all current plan users. In April 2023, we fixed an issue in which a member with Organization administrator permissions could not remove themselves from a team with tester permissions. With this update, applicable members can leave teams on their own. Please visit the Team’s Details Page to remove yourself from that team. ### Fixed issue where revision numbers were truncated/omitted from the Revision List for iOS App[​](#fixed-issue-where-revision-numbers-were-truncatedomitted-from-the-revision-list-for-ios-app "Direct link to heading") This feature is available to all current plan users. In April 2023, we fixed an issue in which the past revisions page truncated or omitted the revision numbers for iOS Apps. With this update, you can now view the correct revision numbers. Please visit the iOS App Details Page and then the Past Revisions Page to view the revision list. ## Android Client[​](#android-client "Direct link to heading") ### Fixed Android Client remote login failure screen opening links in other apps[​](#fixed-android-client-remote-login-failure-screen-opening-links-in-other-apps "Direct link to heading") This feature is available to all current plan users. In April 2023, we fixed an issue so that the Android Client remote login failure screen now launches the Android Client, even if Chrome or another app is the default app for links. With this update, the Android Client will operate properly, even if remote logins fail. ## Other Changes[​](#other-changes "Direct link to heading") There are no major updates to the following products. * Android Client * iOS Client * Web API * Android SDK * iOS SDK * Fastlane ## Related links[​](#related-links "Direct link to heading") * [New Flexible Plan Launched](https://medium.deploygate.com/new-flexible-plan-launched-e-ff02d8a64e8d) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # May 2023 - Release Notes June 15, 2023 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in May 2023. In this month's release, we released the ability to migrate apps from Individual and older plans to Enterprise/Flexible groups. We also improved the behavior of searching for members by username. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on Twitter with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Added the ability to migrate Individual Plan apps to Enterprise/Flexible Plan Organizations[​](#added-the-ability-to-migrate-individual-plan-apps-to-enterpriseflexible-plan-organizations "Direct link to heading") This feature is only available to Enterprise/Flexible Plan Workspace users with Individual Plan accounts. In May 2023, it became possible to migrate apps owned by Individual Plan customers to Enterprise/Flexible Plan Organizations. Previously, apps uploaded to Individual Organizations had to be re-uploaded to Enterprise/Flexible Plan Workspace Organizations, as migrating wasn’t possible. With this update, apps migrated to Enterprise/Flexible Plan Workspaces can retain their data, including revision information and Teams. However, please note that Teams and members will not migrate to SSO-enabled Workspaces. Please visit the settings page of your Individual Plan’s Organization and click on the “Migrate apps to other Organizations” menu to proceed with the migration. Users must have Owner permissions of the destination Organization to migrate. Additionally, the user must have permission to add members to the Workspace if they want to migrate members. Please note that you cannot migrate members if you exceed the Workspace’s member limits. ### Added the ability to migrate Old Plan apps to Enterprise/Flexible Plan Organizations[​](#added-the-ability-to-migrate-old-plan-apps-to-enterpriseflexible-plan-organizations "Direct link to heading") This feature is only available to Enterprise/Flexible Plan users with the following Old Plan accounts. * Free * Lite * Free \[early] * Lite \[early] * Pro * Biz * Personal Free * Personal Pro In May 2023, it became possible to migrate apps owned by Old Plan customers to Enterprise/Flexible Plan Organizations. Please visit [here](https://intercom.help/deploygate/en/articles/6543892-what-is-an-old-plan-how-do-i-find-out-if-i-have-an-old-plan) for more details about Old Plans. Previously, Individual apps had to be re-uploaded to Enterprise/Flexible Plan Organizations, as migrating wasn’t possible. With this update, apps migrated to Enterprise/Flexible Plan Workspace Organizations retain their data, including revision information and Teams. However, please note that Teams and members will not migrate to SSO-enabled Workspaces. To proceed with the migration, please visit the destination Organization’s Details Page and click on the app migration link to launch the app migration screen. Users must have Owner permissions of the destination Organization to migrate. Additionally, the user must have permission to add members to the Workspace if they want to migrate members. Please note that you cannot migrate members if you exceed the Workspace’s member limits. ### Fixed/Repaired a bug that occurred when filtering members while inviting members or adding members to a Team[​](#fixedrepaired-a-bug-that-occurred-when-filtering-members-while-inviting-members-or-adding-members-to-a-team "Direct link to heading") In May 2023, we fixed an issue in which searches involving numbers-only usernames failed to execute properly. Additionally, when inviting members or adding members to Teams, username searches are no longer case-sensitive. These changes fix issues that occurred during user searches from an Organization’s Team Details Page or a Workspace’s Member Management Screen. ## Other Changes[​](#other-changes "Direct link to heading") There are no major updates to the following products. * Android Client * iOS Client * Web API * Android SDK * iOS SDK * Fastlane * Gradle Plugin ## Related links[​](#related-links "Direct link to heading") * [What is an Old Plan? How do I find out if I have an Old Plan?](https://intercom.help/deploygate/en/articles/6543892-what-is-an-old-plan-how-do-i-find-out-if-i-have-an-old-plan) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Jun 2023 - Release Notes July 11, 2023 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in June 2023. In June, we introduced features that help you to manage Shared Teams and addressed issues with existing features. We hope you will take advantage of them. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on Twitter with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### The Shared Team Management Screen now displays a list of apps[​](#the-shared-team-management-screen-now-displays-a-list-of-apps "Direct link to heading") This feature is only available to Enterprise/Flexible Plan Workspace users with Individual Plan accounts. As of June 8, 2023, the Shared Team Management Screen now displays a list of apps. Now that you can see which apps each Shared Team can access, you can quickly and easily manage and keep track of Shared Teams. For more information about this feature, please visit [this](https://medium.com/deploygate/shared-team-management-screen-displays-apps-list-2a7f502615a4) article. ### Fixed issue where the Revision Details Page’s QR code would not download the iOS app[​](#fixed-issue-where-the-revision-details-pages-qr-code-would-not-download-the-ios-app "Direct link to heading") This feature is available to all current plan customers. On June 27, 2023, we fixed an issue where the Revision Details Page’s QR code would not download the iOS app. For more information about this issue, please visit [this](https://medium.deploygate.com/revise-past-revisions-and-revision-detail-8a161ac015c2) article. ## Other[​](#other "Direct link to heading") There are no updates for the following products. * Android Client * iOS Client * Web API * Android SDK * iOS SDK * Fastlane * Gradle Plugin ## Related links[​](#related-links "Direct link to heading") * [Medium - The Shared Team Management Screen now displays a list of apps](https://medium.com/deploygate/shared-team-management-screen-displays-apps-list-2a7f502615a4) * [Medium - Past revisions are now easier to find and manage](https://medium.deploygate.com/revise-past-revisions-and-revision-detail-8a161ac015c2) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Jul 2023 - Release Notes August 3, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in July 2023. In July, we improved service performance and addressed issues with existing features. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on Twitter with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### The sunset of Google Analytics tracking[​](#the-sunset-of-google-analytics-tracking "Direct link to heading") To coincide with Google’s discontinuation of Universal Analytics (please see [the official announcement from Google for Universal Analytics sunsetting](https://support.google.com/analytics/answer/11583528?hl=en)), we removed the Google Analytics tracking feature. We will not support Google Analytics 4 or any alternative tracking feature. Please see [our announcement](https://medium.deploygate.com/sunsetting-ua-and-sns-widgets-c6f7dc65b3b9) for more details. ### The sunset of Social Media Buttons[​](#the-sunset-of-social-media-buttons "Direct link to heading") We provided Social Media Buttons that allowed customers to share distribution pages with social networking services. We discontinued this feature due to limited and waning demand. Please see [our announcement](https://medium.deploygate.com/sunsetting-ua-and-sns-widgets-c6f7dc65b3b9) for more details. ## Web App Changes[​](#web-app-changes "Direct link to heading") ### Fix incorrect iOS device names[​](#fix-incorrect-ios-device-names "Direct link to heading") We fixed an issue in which some iOS device names had incorrect ordinal numerals and letter suffixes (for example, 1th instead of 1st). Customers do not need to take any action. ### A confirmation dialog now appears when quitting a Team[​](#a-confirmation-dialog-now-appears-when-quitting-a-team "Direct link to heading") A confirmation dialog will now interrupt the Team quitting process to prevent you from accidentally leaving a Team. We also fixed a bug in which an error appeared during the Team quitting process in some cases. ### Real-time updates of distribution page statistics are now temporarily disabled under certain conditions[​](#real-time-updates-of-distribution-page-statistics-are-now-temporarily-disabled-under-certain-conditions "Direct link to heading") If a particular distribution page has a large number of installed devices, real-time updates of its statistics are now disabled. This is a temporary measure to maintain service levels and reduce interruptions. Real-time updates may be reintroduced at a later date. ## Android SDK Changes[​](#android-sdk-changes "Direct link to heading") We released version 4.5.0, which supports target SDK version 34 (a.k.a Android 14). ref: There are no other new features or bug fixes. ## Gradle Plugin Changes[​](#gradle-plugin-changes "Direct link to heading") We released version 2.7.0, which supports Android Gradle Plugin 8.1.0 (Giraffe). ref: There are no other new features or bug fixes. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web API * Android Client App * iOS Web App * iOS SDK * Fastlane ## Announcements[​](#announcements "Direct link to heading") As of November 30, 2023, devices and deployment tools that do not support SNI will lose access to DeployGate. Please visit for more details. ## References[​](#references "Direct link to heading") * [Medium -Sunsetting Google Analytics tracking and Social Media Buttons for distribution pages](https://medium.deploygate.com/sunsetting-ua-and-sns-widgets-c6f7dc65b3b9) * [Medium - Discontinuing access to DeployGate from devices and deployment tools that do not support SNI](https://medium.deploygate.com/discontinuing-access-to-deploygate-from-devices-and-deployment-tools-that-do-not-support-sni-38a61f8ea4ef) * [Android SDK 4.5.0 Changelog](https://github.com/DeployGate/deploygate-android-sdk/releases/tag/4.5.0) * [Gradle Plugin Changelog](https://github.com/DeployGate/gradle-deploygate-plugin/blob/5280d363900f3d7ad7da69a725426813d4b18228/CHANGELOG.md#ver-270) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Aug 2023 - Release Notes August 29, 2023 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in August 2023. In August, we made changes to comply with the Qualified Invoice System (Invoice System), changes related to Workspace, and bug fixes arising from setting up Android devices. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### Credit card invoices now comply with the Invoice System[​](#credit-card-invoices-now-comply-with-the-invoice-system "Direct link to heading") This change applies to customers who pay our company by credit card in Japan. Japan is implementing a Qualified Invoice System for the Japanese consumption tax (JCT) on October 1, 2023, and DeployGate has started to issue qualified invoices. As of September 1, customers who use credit cards to pay our company in Japan are subject to this change. Please review your invoice dated September 1 or later to see if you are affected. We are currently working on issuing qualified invoices for our Invoiced Billing customers. Thank you for your patience. Please visit the National Tax Agency website at (Japanese only) for details about the Invoice System. Please visit their English webpage at for updates. In the meantime, you can view their guide at . If you have questions or concerns about our company’s compliance, please contact us. ### Invoice timeline changes[​](#invoice-timeline-changes "Direct link to heading") This change applies to Invoiced Billing customers. We have improved our internal invoicing processes and can now more flexibly accommodate contract start dates and plan changes. As such, we changed the invoice issuance time frame, and we now email invoices after a contract starts and your service begins. Please visit for details about invoice and payment timelines. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Adding Workspace members now requires email addresses[​](#adding-workspace-members-now-requires-email-addresses "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers only. All other customers can continue to use usernames for invitations. With this change, Workspace user invitations now require the email addresses of invitation recipients. Please note that this is a security measure to prevent unwanted or unintentional invitations arising from entering the wrong username due to typos or other errors. Please visit for details on how to add and invite users. ### Fixed tester onboarding process on Google Play[​](#fixed-tester-onboarding-process-on-google-play "Direct link to heading") This fix affects all customers on all plans. We fixed an issue in which users with tester privileges were unable to install an app after scanning the app’s QR code and installing the DeployGate app. Please visit for details on how to set up a tester on an Android device. ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Adding Workspace members now requires email addresses[​](#adding-workspace-members-now-requires-email-addresses-1 "Direct link to heading") This change applies to Enterprise and Flexible Plan customers only. All other customers can continue to use usernames for invitations. To coincide with the Web Client changes regarding Workspace user invitations (see above), Web API invitations now also require the email addresses of invitation recipients. Once again, please note that this is a security measure to prevent unwanted or unintentional invitations arising from entering the wrong username due to typos or other errors. Please visit for details on using the DeployGate API Endpoint to add members to a Workspace. ## References[​](#references "Direct link to heading") * [National Tax Agency website (Japanese only)](https://www.nta.go.jp/taxes/shiraberu/zeimokubetsu/shohi/keigenzeiritsu/invoice_about.htm) * [National Tax Agency website English page](https://www.nta.go.jp/english/index.htm) * [When is the invoice and payment due date? | Deploy Gate Help Center](https://intercom.help/deploygate/en/articles/4536563-when-is-the-invoice-and-payment-due-date) * [Add and Invite Member | DeployGate Docs](https://docs.deploygate.com/docs/administrator-guide/member/ep-add-member/) * [Install Apps - Link Distribution | DeployGate Docs](https://docs.deploygate.com/docs/tester-guide/install-app-from-link/#android-devices) * [Add Member to Workspace | DeployGate Docs](https://docs.deploygate.com/docs/api/enterprise/enterprises-users-create/) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Sep 2023 - Release Notes October 5, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in September 2023. This month, we made several changes, including fixing the design of the Workspace list screen, adding Member List API response properties, and fixing the pinned revision icon. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### Added External Transmission Policy page for the Telecommunications Business Act[​](#added-external-transmission-policy-page-for-the-telecommunications-business-act "Direct link to heading") This change applies to all customers on all plans. On September 12, 2023, we published an External Transmission Policy page for the Telecommunications Business Act. Please visit [here](https://deploygate.com/terms/external_transmission) to view the page (Japanese only). ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Fixed Pinned Revision UI for Testers[​](#fixed-pinned-revision-ui-for-testers "Direct link to heading") This change applies to all customers on all plans. On September 12, 2023, we fixed an issue on the Revision Details Page in which the pin icon was incorrectly activated for users with insufficient permissions. Please visit [here](https://docs.deploygate.com/docs/developer-guide/app/app-revision-list/#protect-revisions) for details. ### Organization List Page Changes[​](#organization-list-page-changes "Direct link to heading") This change applies to all customers on all plans. On September 25, 2023, we redesigned the Organization list page and converted it to the Workspace list page. Its design is simpler and more unified. Its functionality has not changed, and you can continue to access your Organizations and Workspaces. ### Fixed Workspace’s Organization Deletion Error[​](#fixed-workspaces-organization-deletion-error "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. On September 12, 2023, we fixed an issue in which a Workspace’s Organization still appeared active even after deletion. This was a display error that only occurred in the few moments immediately following an Organization's deletion. ### Workspace Organization Migration Discontinued for Invoiced Billing Customers (Organization Plans to Enterprise/Flexible Plans)[​](#workspace-organization-migration-discontinued-for-invoiced-billing-customers-organization-plans-to-enterpriseflexible-plans "Direct link to heading") This change primarily affects discontinued Corporation & Organization Plan customers (Startup, Business, and Large Business). On September 19, 2023, we fixed an issue in which customers on invoiced billing contracts were able to migrate their Organizations to an Enterprise Plan or Flexible Plan Workspace while their existing contracts were still active. If you are currently an Invoiced Billing customer and would like to upgrade your Organization to an Enterprise Plan or Flexible Plan, please contact [Customer Support](https://deploygate.com/contacts/new). We will cancel your existing plan and provide a prorated refund (restrictions may apply). ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Added API Response properties[​](#added-api-response-properties "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. On September 25, 2023, we added the following Member List API response properties, which applies to members who belong to a Workspace’s Organization(s). * full\_name: Name * email: Email address * last\_access\_at: Last access date and time Please visit [here](https://docs.deploygate.com/docs/api/enterprise/enterprises-organizations-users-index/) for information about this API. ## References[​](#references "Direct link to heading") * [External Transmission Policy](https://deploygate.com/terms/external_transmission) * [DeployGate Docs - Manage Revisions](https://docs.deploygate.com/docs/developer-guide/app/app-revision-list/#protect-revisions) * [DeployGate Docs - Workspace Organization Members List](https://docs.deploygate.com/docs/api/enterprise/enterprises-organizations-users-index/) * [Customer Support](https://deploygate.com/contacts/new) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Oct 2023 - Release Notes November 10, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in October 2023. This month, we made several changes, including announcing that testers will count towards Individual Plan user limits, organizing the global navigation menu, and displaying the Distribution Page list on the Revision Details page. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### As of November 20, 2023, testers will count towards Individual Plan user limits[​](#as-of-november-20-2023-testers-will-count-towards-individual-plan-user-limits "Direct link to heading") This change applies to Individual Plan customers. On or after November 20, 2023, if you are on an Individual Plan and wish to add members, you will be limited to 3 members, including testers. If you attempt to add 4 or more members (or have reached or exceeded your limit), you will encounter an error message and will be unable to add members. Members added before November 20, 2023 will not be affected and can continue to use our services. However, you will be unable to add new members. For details, please visit [this](https://medium.com/deploygate/testers-will-count-towards-individual-plan-user-limits-88669d74ac91) page. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Organized Global Navigation Menu[​](#organized-global-navigation-menu "Direct link to heading") This change applies to all customers on all plans. On October 16, 2023, we organized the “Document” tab of the global navigation menu to accommodate the list of current documents and make them easier to access. ### Displayed the Distribution Page list on the Revision Details page[​](#displayed-the-distribution-page-list-on-the-revision-details-page "Direct link to heading") This change applies to all customers on all plans. On October 19, 2023, we made it easier to navigate from the Revision Details page to the Distribution Page of a specific revision. Please visit [here](https://docs.deploygate.com/docs/developer-guide/app/app-revision-list/#view-revision-details) for more details. ## Android Client Changes[​](#android-client-changes "Direct link to heading") ### Released Version 1.15.1[​](#released-version-1151 "Direct link to heading") This change applies to all customers on all plans. On October 23, 2023, we released Android Client Version 1.15.1. On this version, you can now open a specific Revsion Details Page’s URL from within the app. We also fixed an issue in which the app list information was inaccurate immediately after logging in/logging out. ## Android SDK Changes[​](#android-sdk-changes "Direct link to heading") ### Released Version 4.6.0[​](#released-version-460 "Direct link to heading") This change applies to all customers on all plans. On October 16, 2023, we released Android SDK Version 4.6.0. This version fixes issues that only affect some customers. For all other customers, there are no changes from version 4.5.0. Please visit [here](https://github.com/DeployGate/deploygate-android-sdk/releases/tag/4.6.0) for more information about the changes concerning this update. ## iOS Client Changes[​](#ios-client-changes "Direct link to heading") ### App List and Details Displays Bundle Identifier[​](#app-list-and-details-displays-bundle-identifier "Direct link to heading") This change applies to all customers on all plans. On October 20, 2023, the app list and details started to display the Bundle Identifier. ## Other[​](#other "Direct link to heading") There are no updates for the following products. * Web API * iOS SDK * Fastlane * Gradle Plugin ## Related links[​](#related-links "Direct link to heading") * [Medium - Testers will count towards Individual Plan user limits](https://medium.com/deploygate/testers-will-count-towards-individual-plan-user-limits-88669d74ac91) * [DeployGate Docs - View Revision Details](https://docs.deploygate.com/docs/developer-guide/app/app-revision-list/#view-revision-details) * [GitHub - DeployGate / deploygate-android-sdk - Ver 4.6.0](https://github.com/DeployGate/deploygate-android-sdk/releases/tag/4.6.0) * [Customer Support](https://deploygate.com/contacts/new) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Nov 2023 - Release Notes December 4, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in November 2023. This month, we made several changes, including operational changes when opening the Revision Details Page and improved usability. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### Testers now count towards Individual Plan user limits[​](#testers-now-count-towards-individual-plan-user-limits "Direct link to heading") This change applies to Individual Plan customers. On November 20, Individual Plan user limits changed. An Individual Plan’s Organization can have up to 3 users, including developers and testers. Please visit [here](https://medium.com/deploygate/testers-will-count-towards-individual-plan-user-limits-88669d74ac91) for details ### Fixed an issue in which revision updates via Distribution Pages failed to record data[​](#fixed-an-issue-in-which-revision-updates-via-distribution-pages-failed-to-record-data "Direct link to heading") This change applies to all customers on all plans. On November 9, we fixed an issue in which activities failed to save when users updated their apps via the Distribution Page. This issue started in December 2022. ### Emails sent from DeployGate are now DMARC compliant[​](#emails-sent-from-deploygate-are-now-dmarc-compliant "Direct link to heading") This change applies to all customers on all plans. As of November 13, emails sent from DeployGate are DMARC compliant. We now comply with the strengthened email authentication requirements for various email clients, including Gmail. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Opening the Revision Details Page on an iOS device redirects to the installation screen[​](#opening-the-revision-details-page-on-an-ios-device-redirects-to-the-installation-screen "Direct link to heading") This change applies to all customers on all plans. As of November 13, when opening the Revision Details Page on an iOS device, users will b automatically redirected to the installation screen. By simply sharing the Revision Details Page’s URL, you make it easier for users to install a specific revision from the installation screen. ### Opening the Revision Details Page on a device with a different OS displays a warning[​](#opening-the-revision-details-page-on-a-device-with-a-different-os-displays-a-warning "Direct link to heading") This change applies to all customers on all plans. As of November 28, when opening the Revision Details Page on a mobile device with a different OS, a warning will appear. This message will state that installation is not possible. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Android Client * iOS Client * Web API * Android SDK * iOS SDK * Fastlane * Gradle Plugin ## References[​](#references "Direct link to heading") * [Medium - Testers will count towards Individual Plan user limits](https://medium.deploygate.com/testers-will-count-towards-individual-plan-user-limits-88669d74ac91) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Dec 2023 - Release Notes January 9, 2024 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in December 2023. This month, we made several changes, including Distribution Page limit increases and improved functionality related to DeployGate Android SDK. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### Increased the maximum number of devices per Distribution Page for Enterprise/Flexible plans[​](#increased-the-maximum-number-of-devices-per-distribution-page-for-enterpriseflexible-plans "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. On December 12, we increased the maximum number of devices per Distribution Page from 1,000 to 10,000 for Enterprise Plans and Flexible Plans. For iOS apps, Apple’s limits and specifications take precedence. The actual number of *installable* devices may be more limited. As of December 2023, up to 100 of each device type is allowed for testing and/or Ad Hoc distribution per membership year. Please visit for more details. ### Fixed a bug in which DeployGate’s billing information was ignored when paying via PayPal[​](#fixed-a-bug-in-which-deploygates-billing-information-was-ignored-when-paying-via-paypal "Direct link to heading") This change applies to all customers who use PayPal. We no longer accept new PayPal payments. As of December 15, DeployGate billing information properly displays when using PayPal. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Incremental search is available for the Custom Log feature[​](#incremental-search-is-available-for-the-custom-log-feature "Direct link to heading") This change applies to all customers on all plans. As of December 13, the Custom Log feature supports incremental search. The Custom Log feature is available for apps that have embedded and activated Android SDK. This change does not require an SDK update. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Android Client * iOS Client * Web API * Android SDK * iOS SDK * Fastlane * Gradle Plugin ## References[​](#references "Direct link to heading") * [Apple Developer Support - Account Management](https://developer.apple.com/jp/support/account/) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Jan 2024 - Release Notes February 9, 2024 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in January 2024. This month, we made some Web API changes and minor updates to the Web Client. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Fixed issue where Android APK files without target SDK versions failed to install[​](#fixed-issue-where-android-apk-files-without-target-sdk-versions-failed-to-install "Direct link to heading") This change applies to all customers on all plans We fixed an issue in which uploading an APK file without specifying a target SDK version to DeployGate produced an error that prevented installation. Setting target SDK version As of February 2024, this is a required Android Build Tools setting, and DeployGate support will be limited. Please update older APKs or build environments you may be using. This fix does not affect customers whose Android APK files have target SDK versions set, customers who use AAB files for distribution, or those who distribute iOS apps. ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Added API that creates a new Organization in a Workspace[​](#added-api-that-creates-a-new-organization-in-a-workspace "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. In January 2024, we added a new API that adds a new Organization to a Workspace. The API Reference provides detailed endpoint specifications. Please visit [this page](https://docs.deploygate.com/docs/api/enterprise/enterprises-organizations-create/) for more information. ### Improved invalid input detection on some screens and APIs[​](#improved-invalid-input-detection-on-some-screens-and-apis "Direct link to heading") This change applies to all customers on all plans. We improved invalid input detection processing that occurred on some screens and APIs so that errors appear in a more appropriate and timely fashion. This change applies to the following areas. * Web Client * Distribution Page > Appearance screen * Distribution Page > Update Distribution screen * Web API * [Upload App](https://docs.deploygate.com/docs/api/application/upload/) ## Android SDK Changes[​](#android-sdk-changes "Direct link to heading") ### Released Version 4.6.1[​](#released-version-461 "Direct link to heading") This change applies to all customers on all plans. This release includes a fix for an issue in which DeployGate Android SDK crashed on some devices under certain conditions. There are no other changes from version 4.6.0. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Android Client * iOS Client * iOS SDK * Fastlane * Gradle Plugin ## References[​](#references "Direct link to heading") * [Add Organization to Workspace | DeployGate Docs](https://docs.deploygate.com/docs/api/enterprise/enterprises-organizations-create/) * [Upload App | DeployGate Docs](https://docs.deploygate.com/docs/api/application/upload/) * [GitHub - DeployGate / deploygate-android-sdk](https://github.com/DeployGate/deploygate-android-sdk) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Feb 2024 - Release Notes March 7, 2024 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in February 2024. This month, we made some overall display changes and released a new Web API. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X (Twitter) with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### Unified Workspaces to display the Workspace ID[​](#unified-workspaces-to-display-the-workspace-id "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. In February 2024, we unified the display of Workspace IDs instead of (or in addition to) Workspace Display Names, including on document and Workspace invitation screens. Please visit [here](https://intercom.help/deploygate/en/articles/8945243-what-is-a-workspace-id) for more details about the Workspace ID. ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Added an API to update an app’s Distribution Page[​](#added-an-api-to-update-an-apps-distribution-page "Direct link to heading") This feature is available to all customers on all plans. In February 2024, we added a new API that updates an app’s Distribution Page. We have published detailed Endpoint specifications in the API Reference guide on [this](https://docs.deploygate.com/docs/api/application/update-distribution-page-of-app/) page. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web Client * Android Client * iOS Client * Android SDK * iOS SDK * Fastlane * Gradle Plugin ## References[​](#references "Direct link to heading") * [What is a Workspace ID? | DeployGate Help Center](https://intercom.help/deploygate/en/articles/8945243-what-is-a-workspace-id) * [Update the app’s Distribution Page | DeployGate Docs](https://docs.deploygate.com/docs/api/application/update-distribution-page-of-app/) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Mar 2024 - Release Notes April 5, 2024 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in March 2024. This month, we made several changes, including publishing APIs related to the Distribution Page and making some improvements to the iOS Web Client’s information display. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Teams can now be renamed[​](#teams-can-now-be-renamed "Direct link to heading") This change applies to all customers on all plans. Due to customer feedback, we’ve implemented the ability to rename Teams. Within a Team, go to the drop-down list and select “Rename” to rename the Team. Please note that renaming a team will invalidate prior URLs for that Team because the URL, by necessity, includes the Team’s name. ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Released a Distribution Page Creation API[​](#released-a-distribution-page-creation-api "Direct link to heading") Due to customer feedback, we’ve released a Distribution Page Creation API. The previous API could only create a Distribution Page when uploading an app but could not manage its audience or privacy. So, any DeployGate user could potentially access a Distribution Page from the moment of its creation. The new API restricts access to only the app’s administrators upon a Distribution Page’s creation. Customers who require advanced preparations or need to adjust settings before opening up access will benefit from this change. [API Document - Create an App’s Distribution Page](https://docs.deploygate.com/ja/docs/api/application/create-distribution-page-of-app) ### Released an API that updates a Distribution Page’s Revision[​](#released-an-api-that-updates-a-distribution-pages-revision "Direct link to heading") Along with the Distribution Page Creation API, we also released an API that updates a Distribution Page’s Revision. Even without an app upload, it is now possible to update the Distribution Revision with CI or other means. [API Document - Update a Distribution Page's Revision](https://docs.deploygate.com/ja/docs/api/application/update-revision-of-distribution-page) ## Android SDK Changes[​](#android-sdk-changes "Direct link to heading") We released version 4.7.1, which allows you to opt out of certain features, including the Crash feature. Please note that all upcoming new features and updates will require at least version 4.7.1, so we recommend that you update as soon as possible. Version 4.7.0 deprecated This month, we also released version 4.7.0. However, it has been deprecated because it caused compilation errors in sdk-mock 4.7.0. Please use version 4.7.1. ## Gradle Plugin Changes[​](#gradle-plugin-changes "Direct link to heading") We released version 2.8.0, which is compatible with Android Studio 8.3.0 (Iguana). It is also compatible with Android Studio 8.2 and earlier, so if you plan to update to Android Studio 8.3 in the future, this latest DeployGate Gradle Plugin will ensure a smooth update process. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Android Client * iOS Client * iOS SDK * Fastlane ## References[​](#references "Direct link to heading") * API Document - Create an App’s Distribution Page - * API Document - Update a Distribution Page's Revision - **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Apr 2024 - Release Notes April 30, 2024 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in April 2024. This month, We have released improvements to the iOS client. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X (Twitter) with #deploygate or contact us. ## iOS Client Changes[​](#ios-client-changes "Direct link to heading") ### Under certain conditions, installing an app displays a warning.[​](#under-certain-conditions-installing-an-app-displays-a-warning "Direct link to heading") This feature applies to all customers on all plans. Before installing an app from the iOS client, the system now checks the Provisioning Profile’s expiration date. If you encounter a warning or an error while installing an app, please see if there were any issues during the IPA file’s creation. Please visit [here](https://docs.deploygate.com/docs/developer-tools/xcode/) for information about creating IPA files using Xcode. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web Client * Android Client * Web API * Android SDK * iOS SDK * Fastlane * Gradle Plugin ## References[​](#references "Direct link to heading") * [Steps to Create IPA Files using Xcode | DeployGate Docs](https://docs.deploygate.com/docs/developer-tools/xcode/) * [Failure during an application installation on the home screen (code signature problem) | DeployGate Help Center](https://intercom.help/deploygate/en/articles/4536540) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # May 2024 - Release Notes May 31, 2024 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in May 2024. This month, we unified the naming and display of revisions and released the Open Beta of the Capture feature. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Service Changes[​](#service-changes "Direct link to heading") ### Unified Revision Notation[​](#unified-revision-notation "Direct link to heading") This change applies to all customers on all plans In May 2024, we unified the naming and display of app revisions from “version” to “revision.” A revision is a specific app’s upload history and app file. Please visit [this page](https://docs.deploygate.com/docs/developer-guide/app/app-revision-list/) for more details. ### Capture feature released as Open Beta[​](#capture-feature-released-as-open-beta "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. In May 2024, we started the Capture feature’s Open Beta. The Capture feature allows you to take Screenshots to easily submit bug reports and other errors. When taking a Screenshot of an app under development, the DeployGate app automatically obtains app and device information. This information is sent to developers to assist with debugging. Please visit the [announcement page](https://medium.deploygate.com/capturebata-en-07ce659975a6), [developer guide](https://docs.deploygate.com/docs/developer-guide/capture/about-capture/), or [tester guide](https://docs.deploygate.com/docs/tester-guide/tester-capture/about-capture-for-tester/) for more details. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * iOS Client * Web API * iOS SDK * Fastlane * Gradle Plugin ## References[​](#references "Direct link to heading") * [Dev Guide - Manage Revisions](https://docs.deploygate.com/docs/developer-guide/app/app-revision-list/) * [Medium - Capture feature released as Open Beta](https://medium.deploygate.com/capturebata-en-07ce659975a6) * [Dev Guide - What is Capture?](https://docs.deploygate.com/docs/developer-guide/capture/about-capture/) * [Tester Guide - What is Capture?](https://docs.deploygate.com/docs/tester-guide/tester-capture/about-capture-for-tester/) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Jun 2024 - Release Notes June 28, 2024 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in June 2024. This month, we made several changes, including adding the ability to edit SAML Authentication configurations and releasing an app revision list API. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Web App Changes[​](#web-app-changes "Direct link to heading") ### Added notifications about SAML Authentication public key certificate expiration[​](#added-notifications-about-saml-authentication-public-key-certificate-expiration "Direct link to heading") This feature is only available to Enterprise Plan customers who have enabled SAML Authentication. We started to notify all Workspace Administrators when the public key certificate for SAML Authentication approached expiration. Additionally, the Workspace Admin Console now also displays warnings about the public key certificate’s expiration. ### SAML settings are now editable[​](#saml-settings-are-now-editable "Direct link to heading") This feature is only available to Enterprise Plan customers who have enabled SAML Authentication. SAML Authentication configurations are now editable from the Workspace Admin Console’s authentication settings section. We also released a Web API endpoint to rotate the public key certificate. Please visit the “Web API Changes” section for details. ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Released Web API Endpoint to rotate public key certificate[​](#released-web-api-endpoint-to-rotate-public-key-certificate "Direct link to heading") This feature is only available to Enterprise Plan customers who have enabled SAML Authentication. It’s now possible to use the Web apI to rotate the public key certificate used for SAML Authentication. [API Document - Update the certificate for SAML authentication](https://docs.deploygate.com/docs/api/enterprise/enterprises-saml-settings-update-certificate) ### Released an App Revision List API[​](#released-an-app-revision-list-api "Direct link to heading") This feature applies to all customers on all plans. We released an API that retrieves an app’s revision list and can help organize old revisions. [API Document - Get Revisions of App](https://docs.deploygate.com/docs/api/application/revision-of-app-index) ## Capture Feature (Open Beta) Changes[​](#capture-feature-open-beta-changes "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. As of June 2024, the feature is in Open Beta. Please visit [Medium - Capture feature released as Open Beta](https://medium.deploygate.com/capturebata-en-07ce659975a6) and [Dev Guide - What is Capture?](https://docs.deploygate.com/docs/developer-guide/capture/about-capture) for details about the Capture feature and how to participate in the Open Beta. ### Improved Capture search function and List UI[​](#improved-capture-search-function-and-list-ui "Direct link to heading") We improved the Capture search function by adding more filters, including device types and OS versions, and changed the List UI. We hope you take advantage of the new search function, which lets you search Captures more flexibly and comprehensively than before. ## Other[​](#other "Direct link to heading") There are no updates to the following products. * Android Client App * iOS Client App * Android SDK * iOS SDK * Fastlane * Gradle Plugin * CLI ## Related links[​](#related-links "Direct link to heading") * [Medium - Capture feature released as Open Beta](https://medium.deploygate.com/capturebata-en-07ce659975a6) * [Dev Guide - What is Capture?](https://docs.deploygate.com/docs/developer-guide/capture/about-capture/) * [Tester Guide - What is Capture?](https://docs.deploygate.com/docs/tester-guide/tester-capture/about-capture-for-tester/) * [API Document - Update the certificate for SAML authentication](https://docs.deploygate.com/docs/api/enterprise/enterprises-saml-settings-update-certificate) * [API Document - Get Revisions of App](https://docs.deploygate.com/docs/api/application/revision-of-app-index) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Jul 2024 - Release Notes August 2, 2024 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in July 2024. This month, we improved the capture feature, which is in the Open Beta. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Changes to the Capture feature[​](#changes-to-the-capture-feature "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. As of July 2024, the Capture feature is in Open Beta. For more information about the Capture feature or to join the Open Beta, please visit or . ### Fixed issue where the Capture List’s filter options failed to narrow down results[​](#fixed-issue-where-the-capture-lists-filter-options-failed-to-narrow-down-results "Direct link to heading") The Capture List now has an improved option that allows you to refine results. Press on the appropriate icon to view Captures with similar conditions (user, device, environment, etc.). We hope this makes the Capture search process easier for you. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web Client * Web API * Android Client App * iOS Client App * iOS SDK * Fastlane * Gradle Plugin * CLI ## References[​](#references "Direct link to heading") * [Medium - Capture feature released as Open Beta](https://medium.deploygate.com/capturebata-en-07ce659975a6) * [Dev Guide - What is Capture?](https://docs.deploygate.com/docs/developer-guide/capture/about-capture/) * [Tester Guide - What is Capture?](https://docs.deploygate.com/docs/tester-guide/tester-capture/about-capture-for-tester/) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Aug 2024 - Release Notes September 3, 2024 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in August 2024. This month, we officially released the Capture feature and added Workspace invitation features. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ### Officially released the Capture feature[​](#officially-released-the-capture-feature "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. For more information about the Capture feature, please visit . We officially released the Capture feature, which was previously in Open Beta. The official release incorporates several changes from the Open Beta. ### Added the ability to set Custom Attributes for Captures[​](#added-the-ability-to-set-custom-attributes-for-captures "Direct link to heading") You can add preferred information to your Captures, such as build information or app state. For more information, please visit . Minimum system requirements for Custom Attributes Apps must meet the following minimum requirements to use Custom Attributes. \*Enabled DeployGate Android SDK (ver 4.8.0 or later) \*Installed DeployGate Android Client App (ver 1.17.0 or later) ### Changed recommended operating requirements[​](#changed-recommended-operating-requirements "Direct link to heading") Currently, the recommended operating environment for all Capture features is as follows. \*Enabled DeployGate Android SDK (ver 4.8.0 or later) \*Installed DeployGate Android Client App (ver 1.17.0 or later) ### You can now create, approve, or deny Workspace invitation requests[​](#you-can-now-create-approve-or-deny-workspace-invitation-requests "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. Organization Owners can create and submit Workspace invitation requests to Workspace Administrators for approval. Workspace Administrators can either approve or deny these invitation requests for new users to join the Workspace. ### Released Android 1.17.0[​](#released-android-1170 "Direct link to heading") We released the DeployGate Android Client App 1.17.0, which supports the Capture feature’s Custom Attributes and other features. Please update your device, as this update also includes performance improvements. ### Removed option for new user registrations without invitations[​](#removed-option-for-new-user-registrations-without-invitations "Direct link to heading") We removed the ability for new users to register unless accompanied by an invitation. Testers must first receive an invitation to the applicable app or Workspace to use DeployGate. Developers who wish to distribute apps should use a desktop browser to register. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web API * iOS SDK * Fastlane * Gradle Plugin * CLI ## References[​](#references "Direct link to heading") * [What is Capture? - Dev Guide](https://docs.deploygate.com/docs/developer-guide/capture/about-capture/) * [Set custom attribute](https://docs.deploygate.com/docs/developer-guide/capture/custom-attribute) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Sep 2024 - Release Notes September 30, 2024 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in September 2024. This month, we made several changes, including adding a reminder feature to Workspace invitation requests, fixing Team name errors, and updating Android SDK. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X(Twitter) with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Reminder emails now sent for invitation requests[​](#reminder-emails-now-sent-for-invitation-requests "Direct link to heading") This feature is only available to Enterprise Plan and Flexible Plan customers. Users can submit invitation requests to add members to an Organization or Team for Administrator approval. If approval is still pending two and four weeks after submission, Administrators now receive reminder emails. ### Fixed issue in which Japanese characters failed to decode during Team name changes[​](#fixed-issue-in-which-japanese-characters-failed-to-decode-during-team-name-changes "Direct link to heading") This change applies to all customers on all plans. When changing an Organization’s Team name, URL-encoded values appeared instead of Japanese characters. We fixed this error, and Team names in Japanese now appear correctly. ### Changes to default Team names when creating an Organization[​](#changes-to-default-team-names-when-creating-an-organization "Direct link to heading") This change applies to all customers on all plans. Previously, Team names defaulted to Japanese if users had specified Japanese as their language. Now, the default Team names are all in English - “Owner,” “Developer,” and “Tester.” ## Android SDK Changes[​](#android-sdk-changes "Direct link to heading") ### Released Version 4.9.0[​](#released-version-490 "Direct link to heading") This change applies to all customers on all plans. This release has multiple updates related to the Capture feature, including the addition of a feature that collects device information and a callback interface following a successful Capture. Please note that some changes will require a future update (Release date TBD) of the DeployGate Android app. Please visit [Release Notes](https://github.com/DeployGate/deploygate-android-sdk/releases/tag/4.9.0) for more details. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Android Client * Web API * iOS SDK * Fastlane * Gradle Plugin * CLI ## References[​](#references "Direct link to heading") * [deploygate-android-sdk Releases 4.9.0](https://github.com/DeployGate/deploygate-android-sdk/releases/tag/4.9.0) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Oct 2024 - Release Notes October 30, 2024 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in October 2024. This month, we made several changes, including updating the Capture feature and publishing a new version of the Gradle Plugin. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### The Activity Log now includes Capture information[​](#the-activity-log-now-includes-capture-information "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. As of October 21, the Activity Log records and displays Captures saved through the Android Client app. Each entry in the Activity Log includes a link to the Capture’s details. We hope that this reduces the number of steps it takes for you to view this information. ### You can now select your own profile icon[​](#you-can-now-select-your-own-profile-icon "Direct link to heading") This feature is available to all customers on all plans. As of October 1, you can upload a profile icon for your DeployGate account. Only “jpeg” and “png” files are accepted. Please visit \[here] () for more details. ### Added link to Contract Plan page[​](#added-link-to-contract-plan-page "Direct link to heading") This change applies to Administrators of Enterprise Plans, Flexible Plans, and Discontinued Plans. On October 23, we added links to the Contract Plan page for select individuals. Administrators who manage paid plans for their business/company/organization can now view contract details of their paid plans from their personal accounts. ### A confirmation dialog now appears when deleting an Organization[​](#a-confirmation-dialog-now-appears-when-deleting-an-organization "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. As of October 29, a confirmation dialog appears when deleting an Organization from a Workspace. You must enter the Organization’s name to confirm the deletion. This process is identical to the one employed for deleting applications. You must also enter the app’s name to confirm the deletion. ### Added display of Qualified Invoice Issuer Registration Numbers[​](#added-display-of-qualified-invoice-issuer-registration-numbers "Direct link to heading") This change applies to all customers on all plans. We added the Qualified Invoice Issuer Registration Numbers to the following locations. * Company: * Payment completion email: Sent to all customers who pay by credit card ### Fixed issue in which password resets failed under certain conditions[​](#fixed-issue-in-which-password-resets-failed-under-certain-conditions "Direct link to heading") This change applies to all customers on all plans. On October 10, we fixed an issue in which password resets failed under certain conditions when users weren’t logged in. ## Web API Changes[​](#web-api-changes "Direct link to heading") ### Added API that obtains saved Capture information[​](#added-api-that-obtains-saved-capture-information "Direct link to heading") This feature is available to Enterprise Plan and Flexible Plan customers. We added an API that obtains information from saved Captures. Please visit this \[document] () for more details. ## iOS Client Changes[​](#ios-client-changes "Direct link to heading") ### Released version 1.1.65[​](#released-version-1165 "Direct link to heading") This change applies to all customers on all plans. On October 24, we released version 1.1.65. This version includes minor fixes. ## Gradle Plugin Changes[​](#gradle-plugin-changes "Direct link to heading") This change applies to all customers on all plans. On October 18, we released version 2.9.0. While there are no functionality changes, we updated the descriptions surrounding the combined use of the current Android Gradle Plugin version and this Gradle Plugin version. Please visit \[here] () for more details. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Android Client * Android SDK * iOS SDK * Fastlane ## References[​](#references "Direct link to heading") * [You can now directly upload a profile icon - DeployGate](https://medium.deploygate.com/change-profile-icon-en-71b96b8da69a) * [Get the app’s Capture | DeployGate Docs](https://docs.deploygate.com/docs/api/application/show-device-capture/) * [gradle-deploygate-plugin Releases 2.9.0](https://github.com/DeployGate/gradle-deploygate-plugin/releases/tag/2.9.0) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Nov 2024 - Release Notes December 2, 2024 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in November 2024. This month, we primarily fixed minor bugs and errors. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Fixed issue in which a too-long Organization display name caused an error[​](#fixed-issue-in-which-a-too-long-organization-display-name-caused-an-error "Direct link to heading") This feature is available to all customers on all plans. We fixed an issue where updating an Organization’s display name to one with too many characters resulted in an error. There is currently a 40-character limit. ### Limited the display location of a User’s Plan[​](#limited-the-display-location-of-a-users-plan "Direct link to heading") This feature is available to all customers on all plans. We’ve restricted the display location of a User’s Plan (ex: Personal Pro, Individual, etc.) to a single page. A user can only view their Contract Plan by going to the Plans page within User Account Settings. This measure addresses and prevents misunderstandings about a User’s Plan, especially if they have a contract for a plan for businesses (ex: Flexible Plan) or large organizations (ex: Enterprise Plan). ### Fixed a bug that prevented invitation requests from being completed[​](#fixed-a-bug-that-prevented-invitation-requests-from-being-completed "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. We fixed a bug that prevented invitation requests from being completed under certain conditions. Specifically, sending any other request (ex: standard member invitation) to the same email address resulted in an error if an invitation request was already pending. ### Fixed a bug that affected the Capture List’s filter feature[​](#fixed-a-bug-that-affected-the-capture-lists-filter-feature "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. We fixed a bug that caused errors in the Capture List’s filter feature. ### Fixed issue so the Capture Details Page is viewable on narrow screens[​](#fixed-issue-so-the-capture-details-page-is-viewable-on-narrow-screens "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. We fixed an issue in which the Capture Details Page became distorted on some narrow screens. ### Fixed a bug that caused name registration errors when inviting members to a Workspace[​](#fixed-a-bug-that-caused-name-registration-errors-when-inviting-members-to-a-workspace "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. We fixed a bug that caused name registration errors when inviting members to a Workspace. Despite specifying a member’s full name when inviting them to a Workspace, the newly registered accounts would not record the full name. ### Partially modified the invoiced billing process for contract renewals[​](#partially-modified-the-invoiced-billing-process-for-contract-renewals "Direct link to heading") We partially modified the invoiced billing process for contract renewals. One change we made was to attach a quote with the renewal notice. Please visit [We started sending contract renewal quotes](https://medium.deploygate.com/quotation-for-renewal-298b7d66b16f) for more details. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products * Web API * iOS Client * Gradle Plugin * Android Client * Android SDK * iOS SDK * Fastlane ## References[​](#references "Direct link to heading") [We started sending contract renewal quotes - DeployGate](https://medium.deploygate.com/quotation-for-renewal-298b7d66b16f) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Dec 2024 - Release Notes January 6, 2025 · 2 min read Here is a summary of updates released in December 2024. This month, we primarily fixed minor bugs and errors. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Page titles are now displayed[​](#page-titles-are-now-displayed "Direct link to heading") This feature is available to all customers on all plans. Webpages are now configured to display page titles to make them easier to identify, clarify their purposes, and improve navigation. ### Fixed a bug that affected the Capture List’s filter feature[​](#fixed-a-bug-that-affected-the-capture-lists-filter-feature "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. We fixed a bug that caused errors in the Capture List’s filter feature. Specifically, if you used the feature and it returned zero results, reloading the page caused the filter feature to fail. ### Fixed a bug that caused Distribution Page Activities to display incorrectly while logged in[​](#fixed-a-bug-that-caused-distribution-page-activities-to-display-incorrectly-while-logged-in "Direct link to heading") This feature is available to all customers on all plans. We fixed a bug that caused errors in the display of a Distribution Page’s Activities section while logged in. The Activities would incorrectly display “Other” and has since been corrected. ### Modified the transition between the Capture List and Capture Details Pages[​](#modified-the-transition-between-the-capture-list-and-capture-details-pages "Direct link to heading") This feature is available to all customers on all plans. Previously, Capture Details Pages opened in a new tab. We modified the transition so they now open in the same tab as the Capture List. ### Fixed issue in which Shared Team members failed to display properly[​](#fixed-issue-in-which-shared-team-members-failed-to-display-properly "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. We fixed an issue in which Shared Team members linked to an Organization failed to display. ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web API * iOS Client * Gradle Plugin * Android Client * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Jan 2025 - Release Notes February 3, 2025 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in January 2025. This month, we released several new features, which we hope you will take advantage of. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Added the ability to send notifications to Microsoft Teams[​](#added-the-ability-to-send-notifications-to-microsoft-teams "Direct link to heading") This feature is available to all customers on all plans. We added the ability to send notifications to Microsoft Teams. It’s now possible to send notifications about live events on DeployGate to Microsoft Teams. Please visit “[Send Event Notifications to Team](/docs/developer-guide/chat/teams.md)” for details and configuration instructions. ### Added the display of device information to the Capture feature[​](#added-the-display-of-device-information-to-the-capture-feature "Direct link to heading") This change applies to Enterprise Plan and Flexible Plan customers. We added more detailed device information to the Capture feature. You can now view the device status (battery temperature and percentage, network status, and more) at the time of the Capture, which adds more detailed information to bug reports. Please visit “[New to the Capture feature - obtain device information and configure Callbacks](https://medium.deploygate.com/obtain-device-info-and-configure-callbacks-en-72b90cf93516)” for more details. ## Android Client Changes[​](#android-client-changes "Direct link to heading") ### Released Version 1.18.1[​](#released-version-1181 "Direct link to heading") We released version 1.18.1 of the Android Client. This version supports the ability to obtain device information for the Capture feature and allows for the execution of your preferred code when configuring a Callback with an SDK. For more details, please visit “[New to the Capture feature - obtain device information and configure Callbacks.](https://medium.deploygate.com/obtain-device-info-and-configure-callbacks-en-72b90cf93516)” For more information on how to configure a Callback, please visit “[Create a Callback when saving a Capture.](/docs/developer-guide/capture/set-callback.md)” We also fixed some bugs and errors. ### Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web API * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane ## References[​](#references "Direct link to heading") * [New to the Capture feature - obtain device information and configure Callbacks - DeployGate Blog](https://medium.deploygate.com/obtain-device-info-and-configure-callbacks-en-72b90cf93516) * [Send Event Notifications to Team - DeployGate Docs](/docs/developer-guide/chat/teams.md) * [Create a Callback when saving a Capture - DeployGate Docs](/docs/developer-guide/capture/set-callback.md) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Feb 2025 - Release Notes March 5, 2025 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in February 2025. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Fixed slow loading App Details Page[​](#fixed-slow-loading-app-details-page "Direct link to heading") This change applies to all customers on all plans. Some users experienced issues when accessing the App Details Page. The page occasionally took over 30 seconds to load, but we modified and improved the data acquisition methods to correct this issue. ### Create a Distribution Page from the Revision Details Page[​](#create-a-distribution-page-from-the-revision-details-page "Direct link to heading") This feature is available to all customers on all plans. You can now create a Distribution Page by clicking a button at the bottom of the Revision Details Page. By selecting specific revisions to distribute, you can more easily create Distribution Pages. ![](/assets/images/20250201-4f0befa8efc0105c2432676d3cf03e78.png) ### The App Details Page now displays the 3 most recent Revisions[​](#the-app-details-page-now-displays-the-3-most-recent-revisions "Direct link to heading") This feature is available to all customers on all plans. The App Details Page now displays the 3 most recent revisions. This makes it easier to access and share past revisions. ![](/assets/images/20250202-cc489250b8eb8a24c9f42b14568b001e.png) ### Send notifications when saving Captures[​](#send-notifications-when-saving-captures "Direct link to heading") This feature is available to Enterprise Plan and Flexible Plan customers. You can now send notifications when saving Captures by configuring notification settings. If you use chat tools regularly, you can more easily share bug reports by configuring the chat tools to receive Capture notifications. ![](/assets/images/20250203-4a44cd4aae0af50c5ce97d68dffe8ba0.png) ## Other Changes[​](#other-changes "Direct link to heading") There are no updates to the following products. * Web API * Android Client * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Mar 2025 - Release Notes April 8, 2025 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in March 2025. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Released Replay Feature for Captures[​](#released-replay-feature-for-captures "Direct link to heading") This feature is available to Enterprise Plan and Flexible Plan customers. We have released a replay feature that makes it easier to report bugs for Enterprise/Flexible plan users. For more details and usage instructions, please refer to [Using the Replay (Video) Feature](/docs/developer-guide/capture/use-replay.md). ### Added Markdown Copy Feature for Capture Details[​](#added-markdown-copy-feature-for-capture-details "Direct link to heading") This feature is available to Enterprise Plan and Flexible Plan customers. We have released a feature that allows you to copy capture data, including device information, in Markdown format from the Capture Details page. You can now easily paste the information directly into Jira, GitHub Issues, and other platforms when reporting bugs. ![](/assets/images/20250301-8d50ee68e2372f9912a46ff9c4525459.png) ### Released API for Deleting App Revisions by Specifying Revision Number[​](#released-api-for-deleting-app-revisions-by-specifying-revision-number "Direct link to heading") This feature is available to all customers on all plans. We have released an API that allows you to delete app revisions by specifying a revision number. For detailed usage instructions, please refer to [Deleting Revisions](/docs/api/application/delete-revision-of-app.md). ### Fixed Issue with Viewing Capture Details Page[​](#fixed-issue-with-viewing-capture-details-page "Direct link to heading") This change affects Enterprise Plan and Flexible Plan customers. Some captures were experiencing errors that prevented access to their detail pages. This issue has now been fixed. ## Android Client Changes[​](#android-client-changes "Direct link to heading") ### Released v1.19.2[​](#released-v1192 "Direct link to heading") We have released Android client v1.19.2. This version includes support for the Capture replay feature. For more details about the replay feature, please refer to [Using the Replay (Video) Feature](/docs/developer-guide/capture/use-replay.md). Additionally, several bug fixes have been implemented. ## DeployGate Upload GitHub Action Changes[​](#deploygate-upload-github-action-changes "Direct link to heading") ### Released DeployGate Upload GitHub Action[​](#released-deploygate-upload-github-action "Direct link to heading") This feature is available to all customers on all plans. We have released the long-requested DeployGate Upload GitHub Action. For detailed usage instructions, please refer to the [Marketplace](https://github.com/marketplace/actions/deploygate-upload) or [README](https://github.com/DeployGate/deploygate-upload-github-action). ## Other Changes[​](#other-changes "Direct link to heading") There are no major updates to the following products: * Web API * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane ## Related Links[​](#related-links "Direct link to heading") * [Using the Replay (Video) Feature - DeployGate Docs](/docs/developer-guide/capture/use-replay.md) * [Deleting Revisions - DeployGate Docs](/docs/api/application/delete-revision-of-app.md) * [DeployGate Upload GitHub Action Marketplace - GitHub Actions Marketplace](https://github.com/marketplace/actions/deploygate-upload) * [DeployGate Upload GitHub Action README - GitHub](https://github.com/DeployGate/deploygate-upload-github-action) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # Apr 2025 - Release Notes May 9, 2025 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in April 2025. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Redesigned Top Page, Feature Introduction, and Use Case Pages[​](#redesigned-top-page-feature-introduction-and-use-case-pages "Direct link to heading") This feature is available to all customers on all plans. We have redesigned the DeployGate top page, feature introduction pages, and use case pages. ### Improved Thumbnail Retrieval for Replay in Capture API[​](#improved-thumbnail-retrieval-for-replay-in-capture-api "Direct link to heading") This feature is available to Enterprise Plan and Flexible Plan customers. We fixed an issue where thumbnails could not be retrieved for replays via the Capture API. Thumbnails for replays can now be obtained correctly through the API. For more details, please refer to [Get the app's Capture](/docs/api/application/show-device-capture.md). ### Fixed Issue with IP Address Restriction Settings on Distribution Pages[​](#fixed-issue-with-ip-address-restriction-settings-on-distribution-pages "Direct link to heading") This change affects some customers with access to the IP address restriction feature. We fixed an issue where IP address restrictions could not be set on distribution pages. Security settings to allow access only from specific IP addresses now work as expected. ### Improved Distribution Page List Display[​](#improved-distribution-page-list-display "Direct link to heading") This feature is available to all customers on all plans. We improved the list display of distribution pages on the app details page. The latest 5 entries are now shown, with a "Show more" link for easier access to past distribution pages. ### Added API to Retrieve Organization List in Workspace[​](#added-api-to-retrieve-organization-list-in-workspace "Direct link to heading") This feature is available to Enterprise Plan and Flexible Plan customers. We have added a new API to retrieve the list of organizations within a workspace. This enables more efficient workspace management via CI or command line. For more details, please refer to [Obtain a List of a Workspace’s Organizations](/docs/api/enterprise/enterprises-organizations-index.md). ### Added API to Retrieve App List in Organization[​](#added-api-to-retrieve-app-list-in-organization "Direct link to heading") This feature is available to Enterprise Plan, Flexible Plan, and Individual Plan customers. We have added a new API to retrieve the list of apps within an Organization. This enables more efficient app management via CI or command line. For more details, please refer to [Obtain a List of an Organization’s Apps](/docs/api/group/organizations-apps-index.md). ### Improved Error Message for Password Reset[​](#improved-error-message-for-password-reset "Direct link to heading") This change affects all customers on all plans. We improved the error message shown when setting a password shorter than 6 characters during password reset. ### Fixed Download URL Email Popup on App Details Page[​](#fixed-download-url-email-popup-on-app-details-page "Direct link to heading") This change affects all customers on all plans. We fixed an issue where the popup for sending the download URL by email on the app details page was not displayed. ### Fixed Icon Display Issue in Android Client Revision List[​](#fixed-icon-display-issue-in-android-client-revision-list "Direct link to heading") This change affects all customers on all plans. We fixed an issue where icons were not displayed in the revision list of the Android client. ## Other Changes[​](#other-changes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane * DeployGate Upload GitHub Action ## Related Links[​](#related-links "Direct link to heading") * [Get the app's Capture - DeployGate Docs](/docs/api/application/show-device-capture.md) * [Obtain a List of a Workspace’s Organizations - DeployGate Docs](/docs/api/enterprise/enterprises-organizations-index.md) * [Obtain a List of an Organization’s Apps - DeployGate Docs](/docs/api/group/organizations-apps-index.md) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # May 2025 - Release Notes June 3, 2025 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in May 2025. This month, we improved the capture feature, and made various UI/UX improvements. Please take advantage of these updates. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Added GIF Thumbnails for Replay Captures[​](#added-gif-thumbnails-for-replay-captures "Direct link to heading") This feature is available to Enterprise Plan and Flexible Plan customers. We have added a GIF thumbnail generation feature for replay captures. These thumbnails are now displayed in the capture list and available through API responses, making it easier to quickly identify and preview capture content. ### Enhanced Distribution Page API with IP Restriction Settings[​](#enhanced-distribution-page-api-with-ip-restriction-settings "Direct link to heading") This feature is available to some customers. We have added IP restriction settings to the distribution page update API. This allows you to programmatically configure IP address restrictions when managing distribution pages through the API. For more details, please refer to the [API Document](/docs/api/application/update-distribution-page-of-app.md). ### UI/UX Improvements[​](#uiux-improvements "Direct link to heading") This change affects all customers on all plans. We have made several user interface improvements: * **Capture Detail Menu**: Adjusted the position of menu buttons in capture detail screens for better usability * **Email Verification Screen**: Moved the "Resend Confirmation Code" button below the "Verify" button for improved layout * **Language Consistency**: Fixed an issue where Japanese images were displayed on English pages * **Revision List Display**: Changed the layout of the revision list and fixed some display issues ### API Additions[​](#api-additions "Direct link to heading") This feature is available to all customers on all plans. The following APIs have been added. For more details, please refer to each API Document: * [Show App Details](/docs/api/application/show-app.md) * [Show App Revision Details](/docs/api/application/show-revision-of-app.md) * [Show App Distribution Page Details](/docs/api/application/show-distribution-page-of-app.md) ## DeployGate Upload GitHub Action Changes[​](#deploygate-upload-github-action-changes "Direct link to heading") ### Automatic Comments on Pull Requests[​](#automatic-comments-on-pull-requests "Direct link to heading") This feature is available to all customers on all plans. When you upload an app using the DeployGate Upload GitHub Action, a comment containing information about the uploaded app is now automatically added to the pull request that triggered the build.
This makes it easier to verify the operation, so please give it a try. For more details, please refer to the [DeployGate Upload GitHub Action README](https://github.com/DeployGate/deploygate-upload-github-action). ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane ## Related Links[​](#related-links "Direct link to heading") * [Update App Distribution Page - DeployGate Docs](/docs/api/application/update-distribution-page-of-app.md) * [Show App Details - DeployGate Docs](/docs/api/application/show-app.md) * [Show App Revision Details - DeployGate Docs](/docs/api/application/show-revision-of-app.md) * [Show App Distribution Page Details - DeployGate Docs](/docs/api/application/show-distribution-page-of-app.md) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # June 2025 - Release Notes July 14, 2025 · 3 min read [YouTube video player](https://www.youtube.com/embed/W31V72cxl8A?si=f2ZEkU3kZaHsmfkR) BGM: MusMus Thank you for using DeployGate. Here is a summary of updates released in June 2025. This month, we released the Capture feature for Individual Plan, and made various UI/UX improvements. Please take advantage of these updates. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Capture Feature Now Available for Individual Plan[​](#capture-feature-now-available-for-individual-plan "Direct link to heading") This feature is available to Individual Plan customers. The Capture feature, previously only available for Flexible Plan and above, is now available for Individual Plan users. For more details, please refer to [The Capture feature is now available on Individual Plans!](https://medium.deploygate.com/capture-feature-available-individual-en-be55174a6bfe). ### UI/UX Improvements[​](#uiux-improvements "Direct link to heading") This change affects all customers on all plans. We have made several user interface improvements: * Improved error messages when uploading apps for better clarity * Improved error messages when attempting to add existing members ## Android Client Changes[​](#android-client-changes "Direct link to heading") This feature is available to all customers on all plans. ### Released v1.20.1[​](#released-v1201 "Direct link to heading") We have released v1.20.1 of the Android client. This version introduces Android SDK support for log and custom attribute collection. For more details about the replay feature, please refer to [Using the Replay (Video) Feature](/docs/developer-guide/capture/use-replay.md). ### Fixed App Installation Issues(Updated on October 23, 2025)[​](#fixed-app-installation-issuesupdated-on-october-23-2025 "Direct link to heading") We have refactored and fixed several issues around app installation. We also fixed an [issue](https://intercom.help/deploygate/en/articles/10319085) where the app could not be installed on Android 15 devices when "Display over other apps" permission was disabled. If you are using an Android 15 device, please update to v1.20.1 or later. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane * GitHub Action ## Related Links[​](#related-links "Direct link to heading") * [The Capture feature is now available on Individual Plans! - DeployGate Blog](https://medium.deploygate.com/capture-feature-available-individual-en-be55174a6bfe) * [Using the Replay (Video) Feature - DeployGate Docs](/docs/developer-guide/capture/use-replay.md) * [What should I do when “Allow display over other apps” is disabled for Android 15 devices? - DeployGate Help Center](https://intercom.help/deploygate/en/articles/10319085) **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # July 2025 - Release Notes August 18, 2025 · 2 min read [Release Note 2025/07 English](https://player.vimeo.com/video/1110858388?badge=0\&autopause=0\&player_id=0\&app_id=58479) Thank you for using DeployGate. Here is a summary of updates released in July 2025. This month, we changed the terminology for organizations within workspaces to "Projects", fixed various bugs, and prepared LLM-friendly documentation. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Changed Organizations Within Workspaces to "Projects"[​](#changed-organizations-within-workspaces-to-projects "Direct link to heading") This change affects customers using Workspaces. We have unified the terminology for organizations within workspaces to "Projects". This change makes the organizational structure within workspaces clearer and more intuitive. #### Changes[​](#changes "Direct link to heading") * Changed terminology from "Organizations" to "Projects" in workspace Organization settings screens * Existing Organizations outside of workspaces (such as Startup plans) maintain the "Organizations" terminology * This is a terminology change only, with no functional changes ### Bug Fixes[​](#bug-fixes "Direct link to heading") We have fixed various minor bugs to improve overall stability. ## Android Client Changes[​](#android-client-changes "Direct link to heading") This feature is available to all customers on all plans. ### Released v1.20.3[​](#released-v1203 "Direct link to heading") We have released v1.20.3 of the Android client. This version includes the following improvements: * Minor bug fixes and performance improvements ## Documentation[​](#documentation "Direct link to heading") ### Added LLM-Friendly Documentation Files[​](#added-llm-friendly-documentation-files "Direct link to heading") This change is available to all customers. We have published new documentation files that can be utilized with LLM tools such as NotebookLM. This enables you to ask questions and search about DeployGate documentation content using AI. #### Available Files[​](#available-files "Direct link to heading") * **llms.txt**: Lightweight version containing essential documentation * URL: * **llms-full.txt**: Complete version containing all documentation * URL: By loading these files into LLM tools such as NotebookLM, Claude, or ChatGPT, you can ask AI questions about how to use DeployGate and its APIs. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane * GitHub Action **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # August 2025 - Release Notes September 9, 2025 · One min read Thank you for using DeployGate. Here is a summary of updates released in August 2025. This month, we fixed minor bugs and released Android v1.21.0. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Bug Fixes[​](#bug-fixes "Direct link to heading") We have fixed the following issues: * Fixed an issue where binaries could not be deleted in certain states * Fixed various other minor bugs ## Android Client Changes[​](#android-client-changes "Direct link to heading") This feature is available to all customers on all plans. ### Released v1.21.0[​](#released-v1210 "Direct link to heading") We have released v1.21.0 of the Android client. This version includes the following changes: * Updated Android SDK * Minor bug fixes ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane * GitHub Action **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # September 2025 - Release Notes October 16, 2025 · 2 min read [September 2025 - Release Notes](https://player.vimeo.com/video/1127766423?h=ed6211e717\&badge=0\&autopause=0\&player_id=0\&app_id=58479) Thank you for using DeployGate. Here is a summary of updates released in September 2025. This month, we improved the sign-up flow and fixed minor bugs. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Sign-up Flow Improvements[​](#sign-up-flow-improvements "Direct link to heading") We have improved the sign-up experience. When you create a new account, a workspace is now automatically created, allowing you to start using DeployGate more smoothly. In addition, we have renamed the "Individual" plan to "Free" plan and made some specification changes. There are no changes for existing "Individual" plan users. ### Bug Fixes[​](#bug-fixes "Direct link to heading") We have fixed the following issues: * Fixed an issue where the old email address was displayed when changing email addresses * Improved error messages when migrating groups to workspaces to make them more understandable * Fixed various other minor bugs ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Android Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane * GitHub Action **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # October 2025 - Release Notes November 26, 2025 · One min read Thank you for using DeployGate. Here is a summary of updates released in October 2025. This month, we focused on bug fixes for the Android client. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Security Updates[​](#security-updates "Direct link to heading") We have updated dependent libraries for security improvements. ## Android Client Changes[​](#android-client-changes "Direct link to heading") ### Released v1.22.0[​](#released-v1220 "Direct link to heading") We have made the following bug fixes and improvements: * Fixed an issue where apps could not be uninstalled from the distribution page screen in some cases * Fixed an issue where the distribution page was not displayed properly when DeployGate was installed and launched via the distribution page * Made various other minor improvements ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane * GitHub Action **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # November 2025 - Release Notes February 26, 2026 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in November 2025. This month's highlights include the beta launch of the Instant Device feature, design improvements to distribution pages, and bug fixes for the capture functionality. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Instant Device Beta Launch[​](#instant-device-beta-launch "Direct link to heading") The Instant Device feature has been released in beta. This feature allows you to operate Android/iOS devices directly from your browser to verify app behavior. ### App Detail Page Update[​](#app-detail-page-update "Direct link to heading") We revised the label and placement of the "Show All" button for link-based distributions on the app detail page. ### Distribution Page Design Improvements[​](#distribution-page-design-improvements "Direct link to heading") We improved the design of distribution pages, including adjustments to how installation instructions are displayed and overall layout refinements. ### Capture Feature Improvements[​](#capture-feature-improvements "Direct link to heading") We fixed a bug in the capture save process. ### Team Management UI Improvement for Workspace Free Plan[​](#team-management-ui-improvement-for-workspace-free-plan "Direct link to heading") The UI for adding members to a project's owner team is now available on the Free plan. ### dg Command Cleanup[​](#dg-command-cleanup "Direct link to heading") As the dg command is being deprecated, we removed related descriptions and functionality from the web client. Unused associated pages have also been cleaned up. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * Android Client * iOS Client * Gradle Plugin * GitHub Action * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # December 2025 - Release Notes February 26, 2026 · One min read Thank you for using DeployGate. Here is a summary of updates released in December 2025. This month, we made adjustments to the Instant Device feature. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Instant Device Adjustments[​](#instant-device-adjustments "Direct link to heading") We made the following adjustments to the Instant Device feature: * Improved the description shown when enabling Instant Device to clarify that activation does not automatically incur charges * Set a 1.5GB app size limit for Instant Device. Apps exceeding 1.5GB are no longer eligible for Instant Device ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * Android Client * iOS Client * Gradle Plugin * GitHub Action * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # January 2026 - Release Notes February 26, 2026 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in January 2026. This month's highlights include improvements to the Workspace Free plan, Instant Device enhancements, and the release of Android TV app v1.24.0. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Changes to the Free Plan Created at Sign-Up[​](#changes-to-the-free-plan-created-at-sign-up "Direct link to heading") We have updated the Free plan that is created when you sign up. * Added a storage usage limit * Added a distribution data volume limit ### Instant Device Improvements[​](#instant-device-improvements "Direct link to heading") Instant Device is now available on the Free plan. ### Bug Fix for App Deletion[​](#bug-fix-for-app-deletion "Direct link to heading") Fixed an issue where deleting an app would fail validation even when the correct name was entered, if the app name contained leading or trailing spaces. ## Android Client Changes[​](#android-client-changes "Direct link to heading") ### Released Android TV and Mobile App v1.24.0[​](#released-android-tv-and-mobile-app-v1240 "Direct link to heading") We released DeployGate v1.24.0 for both Android TV and mobile devices. This release includes the following bug fixes and improvements: * Fixed an issue where the app became unresponsive when denying install permissions * Database and APK cache are now properly cleared on logout * Fixed an issue where deleted revisions remained in the revision list * The Android TV-optimized UI is now displayed when using the app on Android TV devices ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * GitHub Action * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # February 2026 - Release Notes June 9, 2026 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in February 2026. We made the Android TV client app available for download and migrated the Free plan to a usage-based structure. We also made several improvements to the Web Client, including PDF downloads for invoices and receipts, an in-dashboard notice during the Enterprise Trial, and email notifications when a notification integration fails to send. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Released the Download Page for the Android TV Client App[​](#released-the-download-page-for-the-android-tv-client-app "Direct link to heading") We have published a page where you can download the Android TV client app. ### Migration to the Usage-Based Free Plan[​](#migration-to-the-usage-based-free-plan "Direct link to heading") We changed the default plan for new sign-ups to the new Free plan structure. We have updated the content displayed on the Pricing page and made some changes to the contents of the Free plan. ### Displaying an Enterprise Trial Notice on the Dashboard[​](#displaying-an-enterprise-trial-notice-on-the-dashboard "Direct link to heading") The dashboard now displays a notice to users during the Enterprise Trial, letting them know they are currently on a trial. ### Support for PDF Downloads of Invoices and Receipts[​](#support-for-pdf-downloads-of-invoices-and-receipts "Direct link to heading") You can now download invoices and receipts as PDFs from the payment details page. This also resolves an issue where printouts were cut off partway through in some browsers. ### App Deletion Now Confirms by Package Name[​](#app-deletion-now-confirms-by-package-name "Direct link to heading") When deleting an app, the confirmation input has changed from the app name to the package name. ### Email Notification to the Owner When a Notification Integration Fails[​](#email-notification-to-the-owner-when-a-notification-integration-fails "Direct link to heading") If a notification fails to send to Slack, ChatWork, Microsoft Teams, or a similar service, DeployGate stops sending further notifications and emails the app owner to let them know about the failure. Notifications resume once you save the settings again. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * Android Client * iOS Client * Gradle Plugin * GitHub Action * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # March 2026 - Release Notes June 9, 2026 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in March 2026. We added an Instant Device (Beta) management page to the distribution page and improved the display speed of the app list page. We also fixed several Web Client issues, including layout problems on the distribution page and a profile installation error on older iOS devices. On the Android Client, we fixed issues around the distribution page and a crash during screen recording, and on the GitHub Action, we resolved a security vulnerability. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Added the Instant Device (Beta) Management Page[​](#added-the-instant-device-beta-management-page "Direct link to heading") An "Instant Device (Beta)" management page has been added as a subpage of the distribution page. * You can now check the preparation status of Instant Device. * We added a button to retry when preparation fails. * You can now check your monthly session usage time and remaining time. ### Fixed Layout Issues on the Distribution Page[​](#fixed-layout-issues-on-the-distribution-page "Direct link to heading") We fixed layout issues that were occurring on the distribution page. * Fixed an issue where the layout would break when receiving a push notification on the statistics page. * Fixed an issue where, when accessing a distribution page you do not have owner permissions for, an unnatural margin for the sidebar would appear and break the layout. ### Improved Display Speed of the App List Page in Workspaces[​](#improved-display-speed-of-the-app-list-page-in-workspaces "Direct link to heading") We addressed an issue where the app list page was slow to display in workspaces with a large number of apps, users, and devices, making it display faster. ### Fixed a Profile Installation Error on Older iOS Devices[​](#fixed-a-profile-installation-error-on-older-ios-devices "Direct link to heading") We fixed an issue where, on older iOS devices, a decryption error would occur during configuration profile installation (SCEP), causing the installation to fail. ### Fixed Member Removal in Expired Groups[​](#fixed-member-removal-in-expired-groups "Direct link to heading") We fixed an issue where members could not be removed from expired groups, so that members can now be removed. ## Android Client Changes[​](#android-client-changes "Direct link to heading") We released 1.24.0. ### Fixed Issues Around Distribution Page Display, Joining, and Leaving[​](#fixed-issues-around-distribution-page-display-joining-and-leaving "Direct link to heading") We fixed the following issues related to the distribution page. * Fixed an issue where the overview was displayed even though you had not joined the distribution page. * Fixed an issue where an app you had not joined appeared as if it were already installed. * Fixed an issue where you were prompted to perform an unnecessary uninstall when leaving a different distribution page. ### Fixed a Replay Capture (Screen Recording) Crash[​](#fixed-a-replay-capture-screen-recording-crash "Direct link to heading") We fixed an issue where the app would crash when starting replay capture (screen recording) on Android 14 or later. ## GitHub Action Changes[​](#github-action-changes "Direct link to heading") ### Fixed a Security Vulnerability[​](#fixed-a-security-vulnerability "Direct link to heading") We updated the HTTP client (undici) used internally by the GitHub Action, resolving multiple security vulnerabilities including request smuggling, WebSocket-related crashes and DoS, and CRLF injection. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * iOS Client * Gradle Plugin * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # April 2026 - Release Notes June 9, 2026 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in April 2026. We fixed several Web Client issues, including automatically trimming leading and trailing whitespace from email addresses, the inability to delete the default group after changing to the Flexible plan, and Android app icon extraction. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Automatically Trim Leading and Trailing Whitespace from Email Addresses Before Saving[​](#automatically-trim-leading-and-trailing-whitespace-from-email-addresses-before-saving "Direct link to heading") When registering an account or changing an email address via the API or SAML integration, any leading or trailing whitespace in the email address is now automatically removed before saving. This fixes an issue where an email address with surrounding whitespace could be saved unintentionally. ### Fixed Default Group Deletion After Changing to the Flexible Plan[​](#fixed-default-group-deletion-after-changing-to-the-flexible-plan "Direct link to heading") We fixed an issue where the default group could not be deleted after changing to the Flexible plan. ### Improved Android App Icon Extraction (Adaptive Icon / Vector Drawable Support)[​](#improved-android-app-icon-extraction-adaptive-icon--vector-drawable-support "Direct link to heading") Even for Android apps where only a Vector Drawable (XML) is specified for the foreground/background of an Adaptive Icon, the correct app icon is now displayed instead of the default icon. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * Android Client * iOS Client * Gradle Plugin * GitHub Action * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # May 2026 - Release Notes June 9, 2026 · 2 min read Thank you for using DeployGate. Here is a summary of updates released in May 2026. We added entry points for Claude Code / Codex to the landing page, and we fixed several Web Client issues, including validation errors in Workspace-related APIs and the reliability of push notification delivery. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Landing Page Update[​](#landing-page-update "Direct link to heading") We updated the landing page. * Added a "Get started with Claude Code / Codex" entry point and an AI Setup section that displays setup instructions for Claude Code / Codex (with support for copying commands). * Updated the Agent Plugin's reference repository, which had become outdated, to point to the latest one. ### Fixed Validation Errors in Workspace-Related APIs / Screens[​](#fixed-validation-errors-in-workspace-related-apis--screens "Direct link to heading") We fixed the following issues that caused 500 errors during operations around Workspaces. * Fixed an issue where creating a Workspace team with a description longer than 255 characters resulted in a 500 error, so that a validation error is now displayed instead. * Fixed an issue where the API for adding a user to a Workspace Project returned a 500 error when a user who could not join was specified, so that an appropriate 403 is now returned. ### Improved Push Notification Delivery Reliability[​](#improved-push-notification-delivery-reliability "Direct link to heading") We fixed an issue so that the worker no longer crashes when a temporary TLS or network error occurs while sending push notifications, and delivery of notifications to the remaining recipients continues. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * Android Client * iOS Client * Gradle Plugin * GitHub Action * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- # June 2026 - Release Notes July 6, 2026 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in June 2026. In the Web Client, we fixed issues in upload processing and various server errors, strengthened security, and added Agent Plugin setup instructions to the onboarding screen. We also updated internal libraries and strengthened security in the iOS Client, and released Gradle Plugin 2.10.0 (with AGP 9.x / Configuration Cache support) and GitHub Action v1.1.3. Your feedback is invaluable, as it helps us to improve our services. If you have requests, comments, or concerns about our services, please post on X with #deploygate or contact us. ## Web Client Changes[​](#web-client-changes "Direct link to heading") ### Fixed Upload Processing Issues[​](#fixed-upload-processing-issues "Direct link to heading") We fixed issues where app uploads could fail. * Fixed an issue where uploading an IPA whose Info.plist stores UIDeviceFamily as a single string instead of an array failed with an error. * Fixed an issue where AAB upload processing could fail due to a Keystore creation conflict when multiple binaries were processed at the same time. ### Fixed Various Errors[​](#fixed-various-errors "Direct link to heading") We fixed issues where server errors (500 errors) occurred under specific conditions. * Fixed an issue where accessing a binary page URL containing invalid characters such as "]" resulted in a server error, so that a 400 Bad Request is now correctly returned. * Fixed an issue where a password reset request sent in an invalid format resulted in a server error, so that the page is now displayed normally with a validation error. * Fixed an issue where sending a malformed email parameter to the email verification API caused a server error, so that a 400 Bad Request is now correctly returned. * Fixed an issue where a server error occurred when displaying the URL Scheme of an iOS app that has never had a binary uploaded. * Fixed an issue where the activity list on the dashboard resulted in a server error when it contained activities referencing deleted distribution pages or deleted apps. ### Strengthened Security[​](#strengthened-security "Direct link to heading") We updated the libraries used by the web frontend to resolve reported vulnerabilities and strengthen security. ### Added Agent Plugin Setup Instructions to the Onboarding Screen[​](#added-agent-plugin-setup-instructions-to-the-onboarding-screen "Direct link to heading") We added tabs with setup instructions for uploading apps using the Claude Code / Codex Agent Plugin to the onboarding screen shown after completing signup (the Claude Code tab is displayed by default). ## iOS Client Changes[​](#ios-client-changes "Direct link to heading") ### Updated Internal Libraries and Strengthened Security[​](#updated-internal-libraries-and-strengthened-security "Direct link to heading") We updated the app's underlying internal libraries to the latest versions. We also made changes to strengthen security. ## Gradle Plugin Changes[​](#gradle-plugin-changes "Direct link to heading") ### Released Gradle Plugin 2.10.0[​](#released-gradle-plugin-2100 "Direct link to heading") We released DeployGate Gradle Plugin 2.10.0. * Added support for the latest Android Gradle Plugin 9.x (Gradle 9 series). * Added support for Gradle's Configuration Cache, so the plugin can now be used in projects with the Configuration Cache enabled. * The plugin is now published to both the Gradle Plugin Portal and Maven Central, so it can be applied via the plugins DSL (id `com.deploygate`) without the resolutionStrategy workaround. * The minimum supported environment has been raised to AGP 8.0 / Gradle 8.0 / JDK 17. If you are using AGP 4.2.x-7.4.x or Gradle 6.x-7.x, please continue to use 2.9.x. * The client-side pre-check for unsigned builds has been removed, and unsigned uploads are now rejected on the server side. ## GitHub Action Changes[​](#github-action-changes "Direct link to heading") ### Released GitHub Action v1.1.3 (Fixed Dependency Vulnerabilities)[​](#released-github-action-v113-fixed-dependency-vulnerabilities "Direct link to heading") We released DeployGate Upload GitHub Action v1.1.3. We updated the bundled dependencies to fix reported vulnerabilities. If you are using the `v1` tag, the fix is applied automatically. If you have pinned a specific version, please update to v1.1.3. ## Other Notes[​](#other-notes "Direct link to heading") There are no major updates to the following products: * Android Client * Android SDK * iOS SDK * Fastlane **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) --- ## [Oct 2024 - Release Notes](/release-notes/2024-10-release-notes.md) October 30, 2024 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in October 2024. This month, we made several changes, including updating the Capture feature and publishing a new version of the Gradle Plugin. **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) [**Read More**](/release-notes/2024-10-release-notes.md) --- ## [Feb 2023 - Release Notes](/release-notes/2023-02-release-notes.md) March 6, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in February 2023. We have released several new features during this month, including [distribution pages](https://intercom.help/deploygate/en/articles/4536501-what-is-distribution-page) that can only be accessed by authenticated members. We hope you will take advantage of them. **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) [**Read More**](/release-notes/2023-02-release-notes.md) --- ## M[​](#M "Direct link to heading") * [monthly-release-note41](/release-notes/tags/monthly-release-note.md) *** --- ## [June 2026 - Release Notes](/release-notes/2026-06-release-notes.md) July 6, 2026 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in June 2026. In the Web Client, we fixed issues in upload processing and various server errors, strengthened security, and added Agent Plugin setup instructions to the onboarding screen. We also updated internal libraries and strengthened security in the iOS Client, and released Gradle Plugin 2.10.0 (with AGP 9.x / Configuration Cache support) and GitHub Action v1.1.3. **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) [**Read More**](/release-notes/2026-06-release-notes.md) --- ## [Oct 2024 - Release Notes](/release-notes/2024-10-release-notes.md) October 30, 2024 · 4 min read Thank you for using DeployGate. Here is a summary of updates released in October 2024. This month, we made several changes, including updating the Capture feature and publishing a new version of the Gradle Plugin. **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) [**Read More**](/release-notes/2024-10-release-notes.md) --- ## [Feb 2023 - Release Notes](/release-notes/2023-02-release-notes.md) March 6, 2023 · 3 min read Thank you for using DeployGate. Here is a summary of updates released in February 2023. We have released several new features during this month, including [distribution pages](https://intercom.help/deploygate/en/articles/4536501-what-is-distribution-page) that can only be accessed by authenticated members. We hope you will take advantage of them. **Tags:** * [monthly-release-note](/release-notes/tags/monthly-release-note.md) [**Read More**](/release-notes/2023-02-release-notes.md) --- # Welcome to DeployGate Administrator Guide This document explains how IT administrators using DeployGate or those applying for the Flexible or Enterprise plans can manage members within a DeployGate Workspace. * If you are invited as a tester, please visit [DeployGate Tester Guide](/docs/tester-guide/.md), which explains how to install applications distributed through Workspace in DeployGate. * If you are an application developer, please visit [DeployGate Developer Guide](/docs/developer-guide/.md), which explains functions to upload and distribute applications developed by the developer. --- # Using the Workspace API Key Use the API Key for various Workspace-related functions *** With the Workspace API Key, personal API Keys are unnecessary. It allows you to maintain automated systems without being affected by members’ employment and turnover. 1. To obtain the Workspace’s API Key, go to “Settings” from Workspace Admin Console. ![Screenshot of select setting ](/assets/images/workspace-console_settings_en-fb2242691bfda3411ab745fa5aee76a2.png) 2. At the bottom of the settings screen, click on Reveal link next to the API Key to display the Workspace’s API Key. ![Screenshot of select setting ](/assets/images/workspace-api-key_en-729a07d5d5d6b84ac8e3632e06716a2c.png) --- # Add/Create Projects Here, we will explain how to create/add Projects in Workspace. This operation requires “Create Projects" permissions. *** 1. To add a Project to the Workspace, first open `Projects` menu from the left of the Workspace Admin Console. ![Screenshot of Enterprise Select organization](/assets/images/workspace-console_projects_en-0aa990f280d52da297204789d8cc263b.png) 2. Select the `Create` button at the top right of the Projects list. ![Screenshot of Enterprise add Project](/assets/images/workspace-project-management_create_en-d8fb88545b8e413c93cb3029529a153c.png) 3. Enter the Project name and description (optional) when the `Create Project` form opens.
The Project name can only contain alphanumeric characters and hyphens. (Examples: our-organization, test-project-1234) ![Screenshot of Enterprise add Project](/assets/images/create-project_en-e19aa43955654a5ceabad8d785fdab69.png) Project Name Cannot Be Changed The Project name cannot be changed once created. Please note that you need to delete the Project and create another Project if you need to pick different name. However, you can **change display name**. 4. By pressing `Create` button, the Project will be created and you will return to the `Projects` page. ![Screenshot of Enterprise dashboard](/assets/images/create-project-completion_en-819742097d2840ea6fc1233239979390.png) This is the completion of the steps. To add members to the Project, see [this page](/docs/administrator-guide/ep-group/ep-manage-group-member.md). --- # Delete Projects Only Workspace Administrators can perform this operation. *** 1. To delete Projects under Workspace, go to the Workspace Admin Console and click on the `Projects` at the left menu. ![Screenshot of the Workspace Admin Console](/assets/images/workspace-console_settings_en-0aa990f280d52da297204789d8cc263b.png) 2. On the `Projects` page, click the menu on the right side of the Project to delete and select `Delete Project`. ![Screenshot of delete menu of the project](/assets/images/workspace-project-management_delete_en-0105be8842308b1e74706bdd206af2fb.png) 3. When modal for delete confirmation appears, please input the name of Project to remove and click `Delete Project` button. ![Screenshot of a delete confirmation modal](/assets/images/project-delete-modal_en-5d3fa4cf32b7c507e22824526d3843a4.png) 4. The deletion will be completed and you will go back to `Projects` page. ![Screenshot of the delete completion message](/assets/images/delete-project-completion_en-2c349f7016853329a1515701261a9346.png) This delete operation is only available for Workspace Projects The Project for Old Individual plan is a Project available by default and cannot be deleted. Please visit [here](/docs/developer-guide/group/group-specification.md#project-for-old-individual-plan) for more information. --- # Import Project for Individual Plan to the Workspace On this page, we will explain how to import the Project formerly created for Individual plan to the Workspace. *** If you have been using a Project under the Individual plan, you can import the existing Project into a Flexible or Enterprise Workspace by meeting the following conditions. * User is an owner of the existing Project * User has Workspace administrative permissions About Importing When importing a Project into the Workspace, all its settings, including Project name, teams and their members, and applications, will be migrated. * All members not previously part of the Workspace will be added as Workspace members. * As a result of this migration, if there is an insufficient number of users to meet the Workspace contract plan requirements, an error will occur and the migration will not be processed. It will be necessary to either adjust and organize members accordingly or to modify the contracted plan. * A shared team that includes members of the Project will be created for the Workspace. * To keep track of migrated members, `{#-project name}` (a shared team) will be created. If it isn’t necessary, it [can be deleted](/docs/administrator-guide/shared-team/delete-shared-team.md). * Applications and teams in the Project will be moved to the Workspace. * Existing team names, permissions, members, and applications will all remain the same. 1. Open the Workspace Admin Console. ![Screenshot of Access to EP admin console ](/assets/images/account-settings_workspace_en-e632561c6a9ed5ad9f49e1f887681a99.png) 2. By clicking `Projects`, the Project management page of the Workspace will open. ![Screenshot of projects manageent page ](/assets/images/workspace-console_projects_en-0aa990f280d52da297204789d8cc263b.png) 3. Click the link `You can migrate exsting projects into the Workspace`. ![Screenshot of Import project to EP ](/assets/images/workspace-project-management_migrate-project_en-1b450a85193cf4c97518900ca94e3aae.png) 4. Select the target Project and click `Migrate` button. The migration will start. ![Screenshot of Import project to EP ](/assets/images/project-migration_en-e4562ef861c30d750c3efc664693c8a1.png) 5. You will be notified via email as soon as the migration is complete. It may take some time. ![Screenshot of Import project to EP ](/assets/images/import-group3-f3a67bb8ec5e1a6bde92a599fd12c549.png) --- # Project Member Management Here we will explain how to invite a member to a Project created in Workspace. This operation requires “Create Project" permissions. *** There are two ways to add/delete members to/from a Project: from Workspace Admin Console and from Project detail page. For the latter, please visit the following links. [Add members from Project detail page](/docs/developer-guide/group/add-member.md)
[Delete members from Project detail page](/docs/developer-guide/group/delete-member.md) You can access the page from `Projects` menu on the left of the Workspace Admin Console. ![Screenshot of Workspace Admin Console](/assets/images/workspace-project-management_link_en-05478e205df4f86db60cac636f29cf89.png) ## Add Members to a Project[​](#add-members-to-a-project "Direct link to heading") 1. Click `Projects` at the left of the Workspace Admin Console. ![Screenshot of Project member list](/assets/images/workspace-console_projects_en-0aa990f280d52da297204789d8cc263b.png) 2. Click the Project name to add members. ![Screenshot of Workspace Admin Console](/assets/images/workspace-project-management_en-42bb5477fd2d844666255900667321b0.png) 3. Open the dropdown menu labeled `Add member` at the top right of the member list and select the member to be added from the dropdown list. Entering a partial or full username will filter the selections. ![Screenshot of Project member list](/assets/images/project-member_add_en-829f4f3ca8c4b8f06889afe74abe373b.png) Only members who belong to the Workspace can be selected To add a user who hasn't been added to the Project, you need to [Add a Member to the Workspace](/docs/administrator-guide/member/ep-add-member.md) in advance. 4. Message `Added Member` will be displayed and the member will be added to the member list. ![Screenshot of Workspace Admin Console](/assets/images/workspace-console_member-add-confirmation_en-294900f33191c1d416afc3798dde56b5.png) This is the completion of the steps. To add multiple members, repeat the steps above. Project Member Permissions Members added to a Project don't have immediate access to applications or teams. The administrator of the Project must add members to a team or a member must be provided with owner permissions. To grant owner permissions to a member, the member must be added to the owner team. Please review [this page](/docs/developer-guide/team/manage-team-member.md#assign-members-to-teams) for details on how to assign members to teams. ## Delete Members from a Project[​](#delete-members-from-a-project "Direct link to heading") 1. Click `Projects` at the left of the Workspace Admin Console. ![Screenshot of Project member list](/assets/images/workspace-console_projects_en-0aa990f280d52da297204789d8cc263b.png) 2. Click the Project name to delete members. ![Screenshot of Workspace Admin Console](/assets/images/workspace-project-management_en-42bb5477fd2d844666255900667321b0.png) 3. Click `Remove` at the right of the user. ![Screenshot of Workspace Admin Console](/assets/images/workspace-console_member-remove_en-0ba04e8df230eccf05d0952c586f50a5.png) 4. Message `Successfully removed member` will be displayed and the user will be removed from the member list. ![Screenshot of Workspace Admin Console](/assets/images/workspace-console_member-remove-confirmation_en-fa1b9bb67f4458569083e7a428aa510b.png) Deleting users from multiple Projects You can confirm all Projects that the user join and delete it from Projects on `Users` of Workspace Admin Console. ![Screenshot of Workspace Admin Console](/assets/images/workspace-console_member-deletion_en-b842d395a3e00b0c29a592a6c38c4076.png) --- # Add/Create Organization This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/administrator-guide/ep-group/ep-add-group.md). For Old Organization plans (Startup, Business, Large Business), you cannot create another Organization.
You can use one Organization for each plan. --- # Delete Organization This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/administrator-guide/ep-group/ep-delete-group.md). Only owners of the Organization can perform this operation. *** The removed Organization cannot be restored Please delete the Organization ONLY if plan has been already cancelled.
Note that you cannot restore the deleted Organization under any circumstances.
The Organization that remains inactive for one year after cancellation will be automatically deleted even if you do not delete it manually. For more details, please review [this page](https://intercom.help/deploygate/en/articles/5638394). 1. If you have not yet canceled your plan, please do so first. For instructions on how to cancel, please see the relevant section of [this page](https://intercom.help/deploygate/en/articles/4536554). 2. Go to the Organization detail page and click `Settings` button at the top right of the page. ![Screenshot of the Organization overall](/assets/images/organization_settings_en-21e099365447b30e7d1b25f0fb993bc1.png) 3. Click the `Delete this Organization?` link at the bottom of the page. The `Delete this Organization` button will appear. Click this button to proceed with the deletion. ![Screenshot of the Organization delete button](/assets/images/organization_delete_en-a0b8142cf504908d3f99d3ba663e5b0f.png) 4. When modal for delete confirmation appears, click `ok` to delete the Organization completely. --- # Import Organization Here, we explain how to import the formerly used Organization to the Workspace (Flexible/Enterprise). *** It is possible for users to import existing Organizations into the Workspace, provided that certain conditions are met. * User is an owner of the existing Organization * User has Enterprise administrative permissions * If the Organization used PayPal or Credit Card for their payment method, the existing Organization has already been canceled. About Importing When importing an Organization into an Workspace, all its settings, including Organization name, teams and their members, and applications, will be migrated. * All members not previously part of the Workspace will be added as Workspace members. * As a result of this migration, if there is an insufficient number of users to meet the Workspace contract plan requirements, an error will occur and the migration will not be processed. It will be necessary to either adjust and organize members accordingly or to modify the contracted plan. * A shared team that includes members of the Organization will be created for the Workspace. * To keep track of migrated members, `{#-Organization name}` (a shared team) will be created. If it isn’t necessary, it [can be deleted](/docs/administrator-guide/shared-team/delete-shared-team.md). * Applications and teams on the Organization will be moved to the Workspace. * Existing team names, permissions, members, and applications will all remain the same. 1. Open the Workspace Admin Console to migrate to. ![Screenshot of Access to EP admin console ](/assets/images/access-ep-console-06d52afc5c047bfa3dd2d2bb318c6c65.png) 2. Click `Organization` on the left menu and you will redirect to the Manage Organizations page. ![Screenshot of Select EP group ](/assets/images/ep-select-group-mgt-ef69d07f5f426a0ae09598114d5e2af0.png) 3. Click the `You can migrate existing organizations into this workspace` link. ![Screenshot of Import group to EP ](/assets/images/import-group-351ccf509c757b6d6b2f73597f6ea87b.png) 4. You can specify the Organization to be migrated. Select the Organization to be migrated and proceed the migration process. ![Screenshot of Import group to EP ](/assets/images/import-group2-a26b39b091ca975069e09b052b175921.png) 5. You will be notified via email as soon as the migration is complete, please wait for a while ![Screenshot of Import group to EP ](/assets/images/import-group3-f3a67bb8ec5e1a6bde92a599fd12c549.png) --- # Organization Member Management This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/administrator-guide/ep-group/ep-manage-group-member.md). Here we will explain how to invite a member to an Organization created in Workspace. This operation requires “Create Organization” permissions. *** ## Add Members to an Organization[​](#add-members-to-an-organization "Direct link to heading") 1. Click `Member List` at the right bottom of the Organization detail page. ![Screenshot of Organization member list](/assets/images/organization-overall_member_en-a2d7282400361b96293b2691b124d140.png) 2. Click `Invite New Member` at the top right of the member list. ![Screenshot of Enterprise Select organization](/assets/images/organization_add-member_en-570d41e8fb9b85051e95a2c7fd40f5a3.png) 3. Input the email address or username of the user to add and click `Invite New Member` button. ![Screenshot of Enterprise Add Member](/assets/images/organization_add-member-by-email_en-7c5f4f59c675d9cf1e72b45043387a12.png) 4. Message `An invitaion has been sent to [email address]` will be displayed and the user will be added on the member list. ![Screenshot of Organization member list](/assets/images/organization_add-member_confirmation_en-f9b38609ae5af574ffde680ba16e1d49.png) This is the completion of the steps. To add multiple members, repeat the steps above. Organization Member Permissions Members added to an organization will not have immediate access to applications or teams. An administrator of the Organization must add members to a team or a member must be provided with owner permissions. To grant owner permissions to a member, please review [this page](/docs/developer-guide/team/manage-team-member.md) for more details. ## Delete Members from an Organization[​](#delete-members-from-an-organization "Direct link to heading") 1. Click `Member List` at the right bottom of the Organization detail page. ![Screenshot of Organization member list](/assets/images/organization-overall_member_en-a2d7282400361b96293b2691b124d140.png) 2. Select `Remove` button at the right of the username. 3. A confirmation dialog will appear, and the user will be removed when `OK` is selected. --- # About Workspace DeployGate Workspace allows you to manage multiple Projects and users. ![Screenshot of Enterprise dashboard](/assets/images/workspace-console_en-bb654724fdd6802a5e483517399464d2.png) DeployGate Workspace has the following features. * Enhanced organization management functions while maintaining DeployGate’s signature distribution abilities * Ability to designate multiple administrators, plus the additional option to set permissions at the functional level * Restricting organizational membership to Workspace users * Workspace Admin Console to manage users across multiple organizations * Assign members to shared teams that can be created to span multiple organizations * In addition, with Enterprise Plan access control by SSO is provided. See [Using Enterprise](/docs/administrator-guide/learning/use-enterprise.md) for further details. ## Workspace Elements[​](#workspace-elements "Direct link to heading") ![Screenshot of Enterprise dashboard](/assets/images/workspace-concept-chart-en-cd63b9ae427ce9234b819efebcad9e51.png) DeployGate Workspace contains the following elements. | Element | Description | | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Workspace Member | A user account managed by the Workspace. In addition to Workspace administrative permissions, a member may belong to multiple organizations with permission settings unique to each organization.
Only members with administrative permissions can access Workspace Admin Console, and all other members can only access the organizations to which they belong. | | Organization | Manage multiple users and applications.
Organizations can be created to encompass development projects and/or departments, with members added as required. Organization members manage their applications. | | Shared Team | A team that can be shared between the Workspace’s organizations.
By managing QA and testers at the Workspace level, members can be moved between the different organizations on an as needed basis. | Each organization contains the following elements. | Element | Description | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Organization Member | Users who are members of an Organization.
Workspace members can be added to teams in order to access relevant applications. | | Applications | Applications that are managed by an Organization. Members with administrator or developer permissions with an organization can upload applications.
By linking applications with teams, other members will be able to access applications. | | Team | Teams can include multiple members.
An organization can have multiple teams, and when linked with an application, each team can have different access permissions. | Organizations within a Workspace have the following differences from standard Organizations. * Members who are not part of the Workspace cannot be added * In addition to standard teams, shared teams across the enterprise can be added * There are no limits to the number of members, applications, or teams --- # Using Workspace DeployGate Workspace not only offers enhanced management functions for users and permissions, it also increases flexibility when using DeployGate Project. So, even if a business has no apparent need to manage permissions and control access, Workspace can be beneficial in other ways. ## Enable application access just by adding members[​](#enable-application-access-just-by-adding-members "Direct link to heading") By using the “All Staff” shared team feature of Workspace, newly hired individuals will be able to access and download a variety of the company’s applications simply by [Adding a Member](/docs/administrator-guide/member/ep-add-member.md) to the Workspace. ![Screenshot of EP shared team example](/assets/images/workspace-console_shared-team_en-e20984a5a24fe0960b45d3261fa2de79.png) Workspace members are automatically added to the “All Staff” shared team. To make use of this function, administrators of each Project must allow the “All Staff” shared team to access the desired applications. → [Project Shared Team](/docs/administrator-guide/shared-team/use-shared-team.md) Once this is enabled, every new member added to the Workspace will be able to download applications without having to go through any other processes. Conversely, once a member is no longer with the company, their access rights can be removed by simply [Deleting the Member](/docs/administrator-guide/member/ep-delete-member.md). ## Manage applications that share package names across multiple Projects[​](#manage-applications-that-share-package-names-across-multiple-projects "Direct link to heading") Just as devices and app stores cannot have more than 1 application with the same name (Package Name, Bundle Identifier), each DeployGate Project can usually only have 1 application with its package name. Over the course of an application’s usage, including operations and updates, there may be instances when different applications share the same package name. * Builds are created simultaneously for different devices and OS versions ([Google Play’s Multiple APK Support](https://developer.android.com/google/play/publishing/multiple-apks.html) etc.,). * Projects for updating an old application and adding new functions are running simultaneously. * Separating content for Google Play and Amazon stores, preparing builds that separate API requests by production and staging, etc. While it may be possible to create separate package names, this may not always be an option. For example, push notifications, intent filters, and custom URL schemes may require that the package names remain the same. Multiple applications may become mixed into 1 when developers are working separately or when different revisions/generations of an application intermix. This can cause major issues during testing and QA phases, and can be mitigated by separating organizations and accounts. However, the challenge then becomes one of managing multiple accounts for a single application. Because Workspace allows for the creation of multiple organizations, it makes it easier to manage applications that share package names. Applications can just be assigned to different organizations. And since testers can be members of multiple organizations, there will be no need to switch between accounts to conduct QA testing. They can simply select the specific application to install on their device. ![Screenshot of EP shared team example](/assets/images/manage-app-3d7a341e5e1c0440f0ddc563a3f1e0fa.png) In addition, as testers will have access to multiple revisions of applications, more testing work and checklists for revision updates can be completed by the QA team, reducing their reliance on engineers. --- # Add and Invite Member On this page, we will explain how to invite a new member to your Workspace. *** ## Inviting Members from the Workspace Admin Console[​](#inviting-members-from-the-workspace-admin-console "Direct link to heading") 1. Login to DeployGate and choose your Workspace name at the upper right in the corner. ![Screenshot of EP Login ](/assets/images/account-settings_workspace_en-e632561c6a9ed5ad9f49e1f887681a99.png) 2. To add a member, visit the menu on the left of the Workspace Management Screen and open `Member Management`. ![Screenshot of EP Login ](/assets/images/workspace-console_members_en-31fbb33baf8059dce0cd2a6e6ee3b49d.png) 3. A member list will appear, and click `Invite New Member` on the top right of the list. ![Screenshot of EP Login ](/assets/images/workspace-console_members_add-members_en-749bf77113747da25c07faaa2b7072d2.png) 4. On the invitation form, enter the email address of the person to be added. * If the email address is already registered with DeployGate, the full name field will not be displayed. 5. Select the `Invite New Member` button when completed. 6. An invitation email will be sent and the member will be added to the member list. * Once a new member creates a DeployGate account, their membername will be displayed instead of their email address. * Existing DeployGate members will have their membername displayed. * The member can be added to organizations and have their administrative permissions set, even if they have not created an account and their invitation is still pending. About Invited Members Invited members cannot do anything until they are either granted Workspace administrative privileges or added to a Project and assigned to a team. If there is an app associated with the "All Employees" shared team, users will be able to access that app. (→[Using Workspace](/docs/administrator-guide/learning/use-enterprise.md)) ## Inviting Members Directly from a Project[​](#inviting-members-directly-from-a-project "Direct link to heading") Members with Workspace administrator privileges can invite people who are not yet part of the Workspace directly from the Project management page. For instructions, see “[Inviting members who are not in the workspace from the project](/docs/developer-guide/group/add-member.md#a-user-without-workspace-administrator-privileges-invites-a-user-to-join-a-project-submit-request-to-administrator-for-approval).” Members without Workspace administrator privileges must ask an administrator to approve the invitation. For details on approving member invitations, see “[Approving member invitation requests](/docs/administrator-guide/member/ep-member-approve.md)” in the next section. --- # Change Members’ Email Addresses Here, we will explain how to change members' mail address. This operation requires "Add/Invite User" permissions, "Delete User" permissions, and single sign-on to be enabled. *** This feature is only available to Workspaces with single sign-on enabled 1. Select `Member Management` from the Workspace Admin Console. ![Screenshot of access to EP member management ](/assets/images/workspace-console_members_en-31fbb33baf8059dce0cd2a6e6ee3b49d.png) 2. Locate the member from the member list and click on the username. ![Screenshot of member list ](/assets/images/workspace-console_members_add-members_link_en-96dd38f93668601ef499a199f362c1a1.png) 3. Input a new address that you want to change. ![Screenshot of change address ](/assets/images/ep-change-member-address2-1f74ca7b6c61d05eb627658fed9363df.png) Users who can change their email addresses on their own cannot have their email address changed with this feature. If a member has not completed single sign-on linking procedures, their email address cannot be changed. These members can change their email address on their own. Please visit your profile page to change your own email address. Please note that we are unable to bypass these restrictions, even if you contact us. Thank you for your understanding. Single sign-ons based on email addresses may affect your ability to log in. When using SAML authentication based on an email address, the email address used with your Identity Provider must match with the email address used with DeployGate. Please be careful when changing your email address. --- # Delete Members Here, we will explain how the administrator can delete members in the Workspace. This operation requires “Delete User” permissions. *** 1. To delete a member from the Workspace, first open `Members` from the left of the Workspace Admin Console. ![Screenshot of access to EP member management ](/assets/images/workspace-console_members_en-31fbb33baf8059dce0cd2a6e6ee3b49d.png) 2. Open the dropdown menu on the right of the member to be deleted and select `Delete Account` or `Remove Member`. ![Screenshot of access to EP member management ](/assets/images/members_delete_en-18189ad55cf2d9f918cdac1e06fee3b6.png) note For accounts that were created as part of the Workspace, `Delete Account` menu will be displayed and for accounts that were created outside the Workspace and received an invitation to participate, `Remove Member` menu will be displayed. 3. A confirmation dialog box will appear, and the member will be removed when OK is selected. Deletions are permanent and cannot be reversed When a member is deleted, they will be removed from all associated Projects, teams, and shared teams, and will no longer be able to log in with their account. Any previous applications or postings uploaded and Projects or teams created will remain. To instead remove a member only from a Project, see [Delete Member from Project](/docs/developer-guide/group/delete-member.md). --- # Approve member invitation Workspace administrators can receive invitation requests from the members who don't have administrator privilege. By approving the request, you can add the invited users as members to the Workspace. \*Please visit [this page](/docs/developer-guide/group/add-member.md#a-user-without-workspace-administrator-privileges-invites-a-user-to-join-a-project-submit-request-to-administrator-for-approval) for details on how to request the invitation. This article outlines how to approve member invitation requests submitted by users without Workspace Administrator privileges. *** 1. Log in to DeployGate and select the applicable Workspace to access the Workspace Admin Console. ![Screenshot of Selecting Workspace](/assets/images/account-settings_workspace_en-e632561c6a9ed5ad9f49e1f887681a99.png) 2. Click on `Members` to go to the Member Management page. ![Screenshot of Selecting member Management](/assets/images/workspace-console_members_en-31fbb33baf8059dce0cd2a6e6ee3b49d.png) 3. At the top of the page, the `Invitation Requests` section will display a list of all pending requests. Click on the `Confirm Request` button. ![Screenshot of list of Invitation Request on Member management](/assets/images/show-member-invitation-request-en-93a767879d18713e9cfdbd01922f09ee.png) 4. In the `Confirm Request` dialog, verify the invited user’s email address and optional comments before re-entering the user’s email address. Click on the `Approve Request` button to approve the request or the `Deny` button to deny the request. ![Screenshot of Apprive Invitation Rqueest](/assets/images/approve-invitation-request-en-41820b92db44ef39a65643093da796d7.png) 5. After you’ve approved the request, the new member will be added to the requested Project. --- # Export Member List to CSV Member lists can be exported to a CSV file. It can be useful for inventory and human resources purposes, and more. *** The exported CSV file will contain the following information. Username, Full name, Email Address, Permission, Registered Date, Last Access Date ## Steps[​](#steps "Direct link to heading") 1. Open `Members` from the left of the Workspace Admin Console. ![Screenshot of select member management ](/assets/images/workspace-console_members_en-31fbb33baf8059dce0cd2a6e6ee3b49d.png) 2. Click the CSV link located at the bottom of the member list, and the CSV will be downloaded. ![Screenshot of export members ](/assets/images/members_member-export_en-ef522024f48151e54eef0f4d3525ad47.png) --- # Member Permissions Here, we will explain members' permissions in your Workspace. Each Workspace member has their own permission settings. There are two levels of permission settings – Workspace and Project – that are independent of one another. *** | Permissions | Summary | | ----------- | -------------------------------------------------------------------------------------------- | | Workspace | Permissions for Workspace-wide operations. Add/Delete Projects, Member Management, and more. | | Project | Permissions for operations within a Project.Upload applications, create teams, and more. | ## Workspace Permissions[​](#workspace-permissions "Direct link to heading") Workspace permissions apply to Workspace members and Projects. ## Permission Types[​](#permission-types "Direct link to heading") The following permissions are available for Workspace members, and can be set individually. * **Add/Invite User**: Add new members to the Workspace. * **Delete User**: Delete members from the Workspace. * **Change User Permissions**: Change permission settings of other members, as long as your own permissions authorize you to do so. * **Create Project**: Add a new Project to the Workspace and add/delete Project members. * **Delete Project**: Delete a Project from the Workspace. * **Browse Projects**: View Projects to which you do not belong. Users without these permissions can only see the Projects to which they belong. You cannot change your own permission settings. You must have another member with administrative permissions make the changes for you. ## Access Workspace Admin Console[​](#access-workspace-admin-console "Direct link to heading") Users with one or more Workspace permissions can access the Workspace Admin Console. Users without Workspace permissions (general members) will not be able to access it. ## Type of Permissions[​](#type-of-permissions "Direct link to heading") Frequently used settings have been grouped into 3 preset permissions combinations of “Administrator,” “Manager,” and “General User.” All other combinations will be displayed as “Custom” permissions. The preset permissions available vary by plan. Please see the table below for the permissions available with each plan. | Available permissions | Enterprise plan | Flexible plan | Free plan | | --------------------- | --------------- | ------------- | --------- | | Administrator | ◯ | ◯ | △ | | Manager | ◯ | ✕ | ✕ | | Custom | ◯ | ✕ | ✕ | | General User | ◯ | ◯ | ◯ | On the Free plan, only you will be the Administrator, and all invited members will be General Members. Additionally, the actions permitted under each permission level are as follows. | Permissions | Administrator | Manager | General User | | ----------------------- | ------------- | ------- | ------------ | | Add/Invite User | ◯ | ◯ | ✕ | | Delete User | ◯ | ✕ | ✕ | | Change User Permissions | ◯ | ◯ | ✕ | | Create Project | ◯ | ◯ | ✕ | | Delete Project | ◯ | ✕ | ✕ | | Browse Project | ◯ | ✕ | ✕ | * Administrators can view all Projects and can perform all Workspace operations. * Managers can perform all operations related to their own Projects, as well as add new members to the Workspace. It is designed for members who manage projects, such as development leaders. * General Users are designed for members who do not perform administrative operations, such as team members and testers. ## Setting Permissions[​](#setting-permissions "Direct link to heading") Member permission settings can be accessed via Member Information. To change permissions, a member must have the authority to “Change User Permissions.” Changes to Preset Permissions can be completed using the dropdown menu on the right side of the member list. ## Project Permissions[​](#project-permissions "Direct link to heading") Project permissions are set on a team basis, and cannot be set for individual members. These permissions enable the smooth operations of the Project, including uploading new applications or changing team configurations. Normally, Project owners/administrators will set permission settings for each application that they oversee. For example, there may be a developer team for an existing application. For a new application, an administrator may assign this team to be testers instead, allowing the team’s members to have the flexibility to work on other applications without compromising their own work. ![Screenshot of EP Login ](/assets/images/project_function_en-5d3b081ffc77e43031dbbd01d1e2efdb.png) **Note that the Workspace Admin Console will not reflect Project members’ team affiliations.** Exception: The Workspace Admin Console will have the Project member list display Project owners (administrators) as “owners.” ## Permission Types[​](#permission-types-1 "Direct link to heading") Projects have 3 types of permissions, each classified into teams. * **Administrator**: Access to all Project operations concerning applications and teams. Ability to upload new applications, create teams, and add/delete members. Access all of the Project’s applications. * **Developer**: Update the team’s existing applications. Cannot upload new applications or modify teams. * **Tester**: Can only download the team’s existing applications. Please refer to [Projects](/docs/developer-guide/group/group-overall.md) for details on teams and how to use them. ## Project Access[​](#project-access "Direct link to heading") Only members who have been specifically added to a Project from the Workspace Admin Console AND have the requisite team permission settings can access Project information. For Workspace administrators to access a Project’s applications and teams, they must add themselves to the Project first, and if necessary, add themselves as a member of the owner team. --- # Member Information To view member information, click the username on the member list or the Project member list in the Workspace Admin Console. *** 1. To access member information, first open `Members` menu on the left of the Workspace Admin Console. ![Screenshot of access to EP member management ](/assets/images/workspace-console_members_en-31fbb33baf8059dce0cd2a6e6ee3b49d.png) 2. Click on the username of the member on the member list. ![Screenshot of access to EP member management ](/assets/images/workspace-console_members_add-members_link_en-96dd38f93668601ef499a199f362c1a1.png) 3. The user information will be displayed. ![Screenshot of access to EP member management ](/assets/images/workspace_memers_detail_en-8cfd08f6542b001f3b5f3b94750badde.png) ## Available Information[​](#available-information "Direct link to heading") * Icon and username * Single sign-on authentication status (only applies if the Workspace has enabled the single sign-on function) * Workspace administrative permissions * Date (and time) added to Workspace * Projects * Note: Only Projects that the member can view will be displayed * Shared Teams ## Modifiable Information[​](#modifiable-information "Direct link to heading") Depending on the member’s permission settings, the following operations can be performed: * If the member has “Create Project” permissions, * They can add the member to a Project or delete the member from a Project. * If the member has “Change User Permissions” privileges, * They can modify the member’s permissions within the scope of their authority, including the ability to match their own settings. * If the member has “Add/Delete Member” permissions, * They can modify the email addresses of members who have set up single sign-on. --- # Enterprise Plan Setup Guide This guide outlines the first steps for using the Enterprise Plan. You can make the most of DeployGate’s features by following these steps. ## 1. Enterprise Trial Application[​](#1-enterprise-trial-application "Direct link to heading") We offer a free, 45-day trial period for the Enterprise Plan. Please use this [contact form](https://deploygate.com/enterprises#contact) to apply. ## 2. Set Up your Workspace Administrator Account[​](#2-set-up-your-workspace-administrator-account "Direct link to heading") ### 2.1 New DeployGate Users[​](#21-new-deploygate-users "Direct link to heading") After submitting your application for an Enterprise Plan Trial, you will receive an email with the subject, “Invitation to (Workspace ID).” Please click on the link in the email to complete your registration. ![Screenshot of Create Account from Invitation](/assets/images/create-account-en-51ca139e0dbe94a96302c61e2fc519d5.png) ### 2.2 Existing DeployGate Users​[​](#22-existing-deploygate-users "Direct link to heading") After submitting your application, you will receive an email informing you that your Workspace has been set up. Please log in to your account and follow the instructions below to set up your Workspace. ## 3. Use DeployGate’s Basic Features[​](#3-use-deploygates-basic-features "Direct link to heading") ### 3.1 Set Up Your Workspace[​](#31-set-up-your-workspace "Direct link to heading") 1. Log in to [DeployGate](https://deploygate.com) with your Workspace Administrator account. 2. Hover over your user icon/account name at the top right of the page to view the menu and click on your Workspace name(\*) to access the Workspace Admin Console. \*This is the company name provided when you submitted your application. 3. Click on `Settings` in the upper right corner of the Workspace Admin Console to configure additional Workspace settings. You can upload a profile icon or change the Workspace display name. ![Gif of Workspace Setting](/assets/images/setting-workspace-en-0d95fed16db5d7e4f314ee8b00afdefe.gif) ### 3.2 Create an Organization​[​](#32-create-an-organization "Direct link to heading") 1. Click on `Organizations` from the Workspace Admin Console’s left menu. ![Screenshot of Workspace organization setting ](/assets/images/ep-go-to-group-setting-en-e0ad98b25e68eaa3561d74116c3cffae.png) 2. Click on the `Create` button in the top right corner of the Manage Organizations screen to create a new Organization. ![Screenshot of Create New Organization ](/assets/images/ep-create-new-org-en-3e9d0466f0a56b40b6b6c2d10a9d4e01.png) You can create multiple Organizations within a Workspace. By creating an Organization for each project or internal department, you can manage access permissions more efficiently. Each application will be uploaded to a specific Organization. The following diagram illustrates the relationships between Workspaces, Organizations, Teams, and Applications. ![Chart of Elements Relationshop](/assets/images/deploygate-elements-en-40f850bfb993559509176521adb3008a.png) 4. Enter the Organization name, display name (optional), and Organization description (optional), and click `Create`. While you can change the display name at any time, you cannot modify the Organization name once selected. ![Screenshot of Set New Organization ](/assets/images/ep-set-group-en-fe129a67b3856de9732ee146f5f5b2aa.png) 5. Click on `Organizations` from the left menu to return to the Manage Organizations screen. You should see the newly created Organization in the list. ![Screenshot of List Organization ](/assets/images/ep-go-to-created-org-en-6319954c733610386774d967fc4a80ce.png) ### 3.3 Upload an Application​[​](#33-upload-an-application "Direct link to heading") 1. Hover over your user icon/account name at the top right of the page to view the menu and click on `Workspaces`. 2. On this screen, you will see a list of Organizations created within the Workspace. Click on the Organization you created. ![Screenshot of Select Organization ](/assets/images/ep-select-org-en-25f2a1aa4b42d4e42ff5edaf6198ce76.png) 3. When the following screen appears, click the `Upload` button. This will open a file selection dialog. Select an APK/AAB file or an IPA file to upload the app to the Organization. Once the upload is complete, the app management screen will open. ![Screenshot of Confirm Upload App ](/assets/images/ep-confirm-upload-en-bef8b32c6b19cc6660f35238bf2974bc.png) 4. After uploading the app, you will be redirected to the App Details screen, as shown below. A QR code for installing the app on your device will appear. ![Screenshot of Complete Upload ](/assets/images/after-app-upload-en-0e1472f4927542e4f3038e91306717c2.png) ### 3.4 Install the App on your Device​[​](#34-install-the-app-on-your-device "Direct link to heading") Please refer to the following documents for information on installing apps on your device. * [Installing the App on an Android Device](/docs/developer-guide/setup/download-app-self-device.md#install-apps-on-android-devices) * [Installing the App on an iOS Device](/docs/developer-guide/setup/download-app-self-device.md#download-apps-to-ios-devices) ## 4. Distribute the App to Others​[​](#4-distribute-the-app-to-others "Direct link to heading") ### 4.1 Choosing a Distribution Method​[​](#41-choosing-a-distribution-method "Direct link to heading") DeployGate offers two distribution methods: “Member Distribution” and “Link Distribution.” * Member Distribution: Ideal for regularly sharing the app with specific users, such as a development team. (Requires account registration, offers update notifications and detailed log management, and includes access to all revisions) * Link Distribution: Ideal for sharing a specific app revision with a wide range of testers. (No account registration required but distribution is limited to a specific revision only) For more details, please refer to [Two Distribution Methods](/docs/developer-guide/learning/two-ways-distribution.md). You can also choose different distribution methods depending on the application. ### 4.2 Invite Members to the Workspace for Member Distribution[​](#42-invite-members-to-the-workspace-for-member-distribution "Direct link to heading") Let’s try Member Distribution, where testers register accounts and participate as members. Using Member Distribution offers several benefits, including more detailed log tracking, account access control, the [Capture feature](/docs/developer-guide/capture/about-capture.md), and more. You can invite members using methods such as [Inviting Members from the Workspace](/docs/administrator-guide/member/ep-add-member.md) or [Inviting Members via API](/docs/api/enterprise/enterprises-users-create.md). Here, we will invite members directly from the Application to grant them access. 1. From the left menu, click on Organizations, then click the icon next to the applicable Organization. ![Screenshot of Group Details](/assets/images/ep-go-to-group-details-en-8c4f4eaaf03bbad8edad71b283b1ae9f.png) 2. On the Organization Management Screen, click Team List. ![Screenshot of Team Details](/assets/images/ep-click-team-list-en-2d496dbd3c973af49ecd641fe84b381f.png) 3. The Team Details page will appear. The default teams are those for Owners, Developers, and Testers. Click on Developer to invite someone to the Developer Team. ![Screenshot of Team Details](/assets/images/ep-team-management-en-414865d1fc29dd956f3cfb257b8e427a.png) Use Teams to control access * You can configure permissions for each Team. → [Team Roles](/docs/developer-guide/team/manage-team-role.md) * You can also create new Teams. → [Create New Teams](/docs/developer-guide/team/create-team.md) 4. Click `Invite New Member` to launch the invitation form. Enter the email address of the person you wish to invite and click `Invite and Add to Workspace`. ![Screenshot of Invite New Member](/assets/images/ep-invite-new-member-en-7a3f99a4343fc4a03a8610e360c5efa5.png) An invitation email will be sent to the invitee. ![Screenshot of Added New Member ](/assets/images/ep-member-added-en-a14b22068bd6563e1cb9112a53729b30.png) 5. Go to the `Applications members can access to` section on the right side of the screen and select the application you want to grant access to. ![Screenshot of App Assigned To Team ](/assets/images/ep-app-assign-en-4712d3f2b7fa6d3c7c756ec378122aac.png) 6. The invitee should follow the instructions on the following page to install the app. → [Installing Apps Distributed via Member Distribution](/docs/tester-guide/install-app-from-team.md) Member Distribution provides notifications for app updates and allows downloads of all revisions. We recommend using Member Distribution for individuals who are regularly involved as development members. ### 4.3 Link Distribution[​](#43-link-distribution "Direct link to heading") With Link Distribution, users can install the app without creating an account, making it ideal for large-scale beta testing with numerous testers. However, this method does not support account management, so detailed tracking, such as identifying individual app downloaders, is not possible. It is possible to restrict access with a password. With Link Distribution, it is possible to restrict access to members with accounts. When restricting access to members with accounts, you can take advantage of both Link Distribution and Member Distribution benefits. * Account management allows for detailed log tracking. * You can use the [Capture feature](/docs/developer-guide/capture/about-capture.md). * You can specify and distribute only a specific revision. 1. Select the app from the Dashboard. ![Screenshot of Select App from Dashboard](/assets/images/select-app-from-dashboard-en-1620e7c7ce46fa697060bfa662c09dc4.png) 2. On the App Details screen, click `Create a Link`. ![Screenshot of Create Link](/assets/images/create-link-en-33089395e36e578300480d1a26b982b7.png) 3. When the following screen appears, copy the URL and share it with your members. ![Screenshot of Ready to Share](/assets/images/ready-to-share-en-46b1123915abf3723d40e58f6e150664.png) After closing the screen, the Distribution Page will appear. ![Screenshot of Distribution Page](/assets/images/distribution-page-en-88fcaf5f4fa8b7b69e97d778d899930d.png) The Distribution Page is customizable. The `Distribution Page` is the page that shared URL recipients can access. * The Distribution Page allows for detailed configuration. → [Setting Up the Distribution Page](/docs/developer-guide/link-distribution/distribute-by-link.md#2-set-up-distribution-page) * You can restrict access to the page with the “Only Team members with access to the app” setting. This configuration confers Member Distribution benefits, including Capture feature use and detailed access management. → [Configuring Distribution Page Visibility](/docs/developer-guide/link-distribution/privacy-setting.md) 4. Link Distribution URL recipients should follow the instructions on this page to install the app. → [Installing Apps Distributed via Link Distribution](/docs/tester-guide/install-app-from-link.md) ## 5. Mastering DeployGate with More Convenient Features[​](#5-mastering-deploygate-with-more-convenient-features "Direct link to heading") DeployGate provides tools to support a more efficient application development cycle. Here are some convenient features to try. ### 5.1 Allow members to log in with SAML Authentication​[​](#51-allow-members-to-log-in-with-saml-authentication "Direct link to heading") SAML Authentication is a feature only available on Enterprise Plans. * [Enabling SAML Authentication](/docs/administrator-guide/sso/saml-authentication.md) * [Set Up SAML with Google Workspace](/docs/administrator-guide/sso/saml-authentication-google-workspace.md) * [Set Up SAML with Microsoft Entra ID (formerly Azure AD)](/docs/administrator-guide/sso/saml-authentication-microsoft-entra-id.md) * [SAML Authentication with OneLogin](/docs/administrator-guide/sso/saml-authentication-onelogin.md) * [SAML Authentication with Okta](/docs/administrator-guide/sso/saml-authentication-okta.md) ### 5.2 Using Capture to Collect Feedback on Distributed Apps[​](#52-using-capture-to-collect-feedback-on-distributed-apps "Direct link to heading") The Capture feature **makes it easy to report bugs with Screenshots of the issue**. With this feature, taking a Screenshot of an app under development allows the DeployGate app to automatically collect a variety of information, including logs from immediately prior to the Screenshot, device information, installed app information, and other details useful for debugging. This data is easily shareable between developers and testers. For more details, refer to the [Developer Guide: Capture Feature](/docs/developer-guide/capture/about-capture.md). caution The Capture feature is only available with Member Distribution or Link Distribution with the members-only setting. Currently, only Android apps are supported. ![Chart of Capture Summary](/assets/images/capture-summary-en-beaaeee96d52500507f389af32704631.png) ### 5.3 Integrating Chat to Receive Notifications[​](#53-integrating-chat-to-receive-notifications "Direct link to heading") By integrating DeployGate with your chat service, you can effortlessly share various updates that occur during app development with your entire team. → [Chat Notification](/docs/developer-guide/chat/.md) ### 5.4 Using Shared Teams to Share Testers Across Organizations​[​](#54-using-shared-teams-to-share-testers-across-organizations "Direct link to heading") The Shared Team feature allows you to share Teams across Organizations within a Workspace. This is useful when a particular department requires constant access to multiple development apps, such as a dedicated internal QA team. → [Creating Shared Teams](/docs/administrator-guide/shared-team/create-shared-team.md) ![Chart of Shared Team](/assets/images/workspace_function_en-a4ec6d71e921378f9bc23b895fc513b8.png) ### 5.5 Streamlining Development Cycles with the API[​](#55-streamlining-development-cycles-with-the-api "Direct link to heading") Leveraging DeployGate’s API can help reduce manual tasks and improve operational efficiency. For detailed specifications and sample code, please refer to [this page](/docs/api/.md). → [DeployGate API Reference](/docs/api/.md) ## 6. Migrating Applications from Other Plans to a Workspace[​](#6-migrating-applications-from-other-plans-to-a-workspace "Direct link to heading") Unless you are currently on the Flexible Plan, you can migrate existing Organizations and applications from any other plan to your Workspace. ### 6.1 Migrating Project for Old Individual Plan (Free Plan) to a Workspace[​](#61-migrating-project-for-old-individual-plan-free-plan-to-a-workspace "Direct link to heading") You can migrate your Individual Plan Projects seamlessly to your Enterprise Plan Workspace. → [Migrating the Project for Old Individual plan to an Enterprise Plan Workspace](https://intercom.help/deploygate/en/articles/8231442) ### 6.2 Migrating from a Flexible Plan to an Enterprise Plan[​](#62-migrating-from-a-flexible-plan-to-an-enterprise-plan "Direct link to heading") If you would like to migrate from a Flexible Plan to an Enterprise Plan, please contact Customer Support. You can use the Enterprise Plan once we process the changes. ### 6.3 Migrating Organizations from Discontinued Corporation & Organization Plans (Startup, Business, Large Business) to a Workspace[​](#63-migrating-organizations-from-discontinued-corporation--organization-plans-startup-business-large-business-to-a-workspace "Direct link to heading") You can migrate your Discontinued Plan Organizations to an Enterprise Plan Workspace. Please verify the required number of members before initiating the migration. → [Migrating Legacy Discontinued Plan Organizations to an Enterprise Plan Workspace](https://intercom.help/deploygate/en/articles/8268312) ### 6.4 Migrating Applications from Old Personal Plans (Personal Free, Personal Pro) to a Workspace[​](#64-migrating-applications-from-old-personal-plans-personal-free-personal-pro-to-a-workspace "Direct link to heading") The Old Personal Plans, including the Personal Free and Personal Pro Plans, did not have the concept of “Organizations” that our current plans offer. Apps were uploaded directly. As a result, you must migrate each app individually when migrating to an Enterprise Plan Workspace. → [Migrating Applications from Legacy Personal Plans to an Enterprise Plan Workspace](https://intercom.help/deploygate/en/articles/4682691) --- # Getting Started with Enterprise Trial ## 1. Enterprise Trial Application[​](#1-enterprise-trial-application "Direct link to heading") We offer a free, **45-day trial period** for the Enterprise Plan. Please use this [contact form](https://deploygate.com/enterprises#contact) to apply. ## 2. Set Up your Workspace Administrator Account[​](#2-set-up-your-workspace-administrator-account "Direct link to heading") ### New DeployGate Users[​](#new-deploygate-users "Direct link to heading") 1. After submitting your application for an Enterprise Plan Trial, you will receive an email with the subject, “Invitation to (Workspace ID)” within 1 business day. Please click on the link in the email to complete your registration. 2. After accessing the page like the below Screenshot, click `Sign Up and Join` button. ![Screenshot of Create Account from Invitation](/assets/images/create-account-en-51ca139e0dbe94a96302c61e2fc519d5.png) 3. Select the desired registration method and create your account. ### Existing DeployGate Users​[​](#existing-deploygate-users "Direct link to heading") If the email address you selected to be an Administrator is already registered with DeployGate, an invitation email will not be sent. Go directly to the Enterprise Admin Console. 1. Log in to DeployGate and click the Workspace ID on the right top menu by hovering the cursor on your account name. ![Screenshot of EP Login ](/assets/images/ep-login-en-ff5647b417fda874749c934e305e8918.png) 2. Access the Admin Console page. ![Screenshot of EP Login ](/assets/images/workspace-console_en-bb654724fdd6802a5e483517399464d2.png) ## 3. Setting Up Workspace Administrator Account[​](#3-setting-up-workspace-administrator-account "Direct link to heading") 1. Log in to [DeployGate](https://deploygate.com) with your Workspace Administrator account. 2. Hover over your user icon/account name at the top right of the page to view the menu and click on your Workspace name(\*) to access the Workspace Admin Console. \*This is the company name provided when you submitted your application. 3. Click on `Settings` in the upper right corner of the Workspace Admin Console to configure additional Workspace settings. You can upload a profile icon or change the Workspace display name. ![Gif of Workspace Setting](/assets/images/setting-workspace-en-0d95fed16db5d7e4f314ee8b00afdefe.gif) This completes the setup for the Enterprise Trial. Please refer to the page(s) below as you get started. [2. Getting Started with DeployGate - Learn How to Use its Features](/docs/administrator-guide/setup/workspace-setup-1.md) [3. Distribute Apps to Developers, Testers, and Other Users](/docs/administrator-guide/setup/workspace-setup-2.md) [4. Mastering DeployGate with More Convenient and Advanced Features](/docs/administrator-guide/setup/workspace-setup-3.md) [5. Migrating Applications from Other Plans to your Workspace](/docs/administrator-guide/setup/workspace-setup-4.md) --- # 2. Setting Up Workspace Administrator Account 1. Log in to [DeployGate](https://deploygate.com) with your Workspace Administrator account. 2. Hover over your user icon/account name at the top right of the page to view the menu and click on your Workspace name(\*) to access the Workspace Admin Console. \*This is the company name provided when you submitted your application. 3. Click on `Settings` in the upper right corner of the Workspace Admin Console to configure additional Workspace settings. You can upload a profile icon or change the Workspace display name. ![Gif of Workspace Setting](/assets/images/setting-workspace-en-0d95fed16db5d7e4f314ee8b00afdefe.gif) --- # 3. Getting Started with DeployGate - Learn How to Use its Features ![Gif Create Project and Upload Apps](/assets/images/gif-upload-app-08fa7a8b6c348d4d564afd95dca01511.gif) ## 3.1 Create a Project[​](#31-create-a-project "Direct link to heading") Please review [this page](/docs/administrator-guide/ep-group/ep-add-group.md) for information on the Project creation. ## 3.2 Upload an Application​[​](#32-upload-an-application "Direct link to heading") 1. Access Workspace Admin Console and click on `Workspaces`. ![Screenshot of the Workspace Admin Console](/assets/images/workspace-console_projects_en-0aa990f280d52da297204789d8cc263b.png) 2. On this screen, you will see a list of Projects created within the Workspace. Click on the Project you created at [step 3.1](#31-create-a-project). ![Screenshot of Select Project ](/assets/images/workspace-project-management_link_en-05478e205df4f86db60cac636f29cf89.png) 3. After opening the Project dashboard, upload apps by following the steps in [this page](/docs/developer-guide/app/upload-app.md#upload-from-project-dashboard). ## 3.3 Install the App on your Device​[​](#33-install-the-app-on-your-device "Direct link to heading") Please refer to the following documents for information on installing apps on your device. * [Installing the App on an Android Device](/docs/developer-guide/setup/download-app-self-device.md#install-apps-on-android-devices) * [Installing the App on an iOS Device](/docs/developer-guide/setup/download-app-self-device.md#download-apps-to-ios-devices) --- # 4. Distribute Apps to Developers, Testers, and Other Users ## 4.1 Choosing a Distribution Method​[​](#41-choosing-a-distribution-method "Direct link to heading") DeployGate offers two distribution methods: “Member Distribution” and “Link Distribution.” * **Member Distribution**: Ideal for regularly sharing the app with specific users, such as a development team. * Requires account registration * Offers update notifications and detailed log management * Includes access to all revisions * **Link Distribution**: Ideal for sharing a specific app revision with a wide range of testers. * No account registration required * Distribution is limited to a specific revision only For more details, please refer to [Two Distribution Methods](/docs/developer-guide/learning/two-ways-distribution.md). You can also choose different distribution methods depending on the application. ## 4.2 Invite Members to the Workspace for Member Distribution[​](#42-invite-members-to-the-workspace-for-member-distribution "Direct link to heading") Let’s try Member Distribution, where testers register accounts and participate as members. Using Member Distribution offers several benefits, including more detailed log tracking, account access control, the [Capture feature](/docs/developer-guide/capture/about-capture.md), and more. You can invite members using methods such as [Inviting Members from the Workspace](/docs/administrator-guide/member/ep-add-member.md) or [Inviting Members via API](/docs/api/enterprise/enterprises-users-create.md). Here, we will invite members directly from the Application to grant them access. 1. Click `Projects` at the left menu in the Workspace Admin Console. ![Screenshot of Project Details](/assets/images/workspace-console_projects_en-0aa990f280d52da297204789d8cc263b.png) 2. Click the icon next to the Project name. ![Screenshot of Project Details](/assets/images/workspace-project-management_link_en-05478e205df4f86db60cac636f29cf89.png) 3. Click `Team List` at the right side of the Project detail page. ![Screenshot of Team Details](/assets/images/click-team-list-en-1e9e197af526411e397620a6adc925ac.png) 4. The Team Details page will appear. The default teams are those for Owners, Developers, and Testers.
Click on Developer to invite someone to the Developer Team. ![Screenshot of Team Details](/assets/images/ep-team-management-en-414865d1fc29dd956f3cfb257b8e427a.png) Use Teams to control access * You can configure permissions for each Team.
→ [Team Roles](/docs/developer-guide/team/manage-team-role.md) * You can also create new Teams.
→ [Create New Teams](/docs/developer-guide/team/create-team.md) 5. Click `Invite new members` to launch the invitation form. Enter the email address of the person you wish to invite and click `Invite and Add to Workspace`. ![Screenshot of Invite New Member](/assets/images/ep-invite-new-member-en-7a3f99a4343fc4a03a8610e360c5efa5.png) An invitation email will be sent to the invitee. ![Screenshot of Added New Member ](/assets/images/ep-member-added-en-a14b22068bd6563e1cb9112a53729b30.png) 6. Go to the `Applications members can access to` section on the right side of the screen and select the application you want to grant access to. ![Screenshot of App Assigne To Team ](/assets/images/ep-app-assign-en-4712d3f2b7fa6d3c7c756ec378122aac.png) 7. The invitee should follow the instructions on the following page to install the app.
→ [Installing Apps Distributed via Member Distribution](/docs/tester-guide/install-app-from-team.md) Member Distribution provides notifications for app updates and allows downloads of all revisions. We recommend using Member Distribution for individuals who are regularly involved as development members. ## 4.3 Link Distribution[​](#43-link-distribution "Direct link to heading") With Link Distribution, users can install the app without creating an account, making it ideal for large-scale beta testing with numerous testers.
However, this method does not support account management, so detailed tracking, such as identifying individual app downloaders, is not possible. Please use [Member Distribution](#42-invite-members-to-the-workspace-for-member-distribution) instead.
Also, it is possible to restrict access with a password. With Link Distribution, it is possible to restrict access to members with accounts. When restricting access to members with accounts, you can take advantage of both Link Distribution and Member Distribution benefits. * Account management allows for detailed log tracking. * You can use the [Capture feature](/docs/developer-guide/capture/about-capture.md). * You can specify and distribute only a specific revision. 1. Select the app from the Dashboard. ![Screenshot of Select App from Dashboard](/assets/images/select-app-from-dashboard-en-1620e7c7ce46fa697060bfa662c09dc4.png) 2. On the App Details screen, click `Create a Link`. ![Screenshot of Create Link](/assets/images/create-link-en-33089395e36e578300480d1a26b982b7.png) 3. When the following screen appears, copy the URL and share it with your members. ![Screenshot of Ready to Share](/assets/images/ready-to-share-en-46b1123915abf3723d40e58f6e150664.png) After closing the screen, the Distribution Page will appear. ![Screenshot of Disribution Page](/assets/images/distribution-page-en-88fcaf5f4fa8b7b69e97d778d899930d.png) The Distribution Page is the page that shared URL recipients can access and it is customizable. * The Distribution Page allows for detailed configuration.
→ [Setting Up the Distribution Page](/docs/developer-guide/link-distribution/distribute-by-link.md#2-set-up-distribution-page) * You can restrict access to the page with the `Only Team members with access to the app` setting. This configuration confers Member Distribution benefits, including Capture feature use and detailed access management.
→ [Configuring Distribution Page Visibility](/docs/developer-guide/link-distribution/privacy-setting.md) 4. Link Distribution URL recipients should follow the instructions on this page to install the app.
→ [Installing Apps Distributed via Link Distribution](/docs/tester-guide/install-app-from-link.md) --- # 5. Mastering DeployGate with More Convenient and Advanced Features DeployGate provides tools to support a more efficient application development cycle. Here are some convenient features to try. ## 5.1 Allow members to log in with SAML Authentication​[​](#51-allow-members-to-log-in-with-saml-authentication "Direct link to heading") SAML Authentication is a feature only available on Enterprise Plans. * [Enabling SAML Authentication](/docs/administrator-guide/sso/saml-authentication.md) * [Set Up SAML with Google Workspace](/docs/administrator-guide/sso/saml-authentication-google-workspace.md) * [Set Up SAML with Microsoft Entra ID (formerly Azure AD)](/docs/administrator-guide/sso/saml-authentication-microsoft-entra-id.md) * [SAML Authentication with OneLogin](/docs/administrator-guide/sso/saml-authentication-onelogin.md) * [SAML Authentication with Okta](/docs/administrator-guide/sso/saml-authentication-okta.md) ## 5.2 Using Capture to Collect Feedback on Distributed Apps[​](#52-using-capture-to-collect-feedback-on-distributed-apps "Direct link to heading") The Capture feature **makes it easy to report bugs with Screenshots of the issue**.
With this feature, taking a Screenshot of an app under development allows the DeployGate app to automatically collect a variety of information, including logs from immediately prior to the Screenshot, device information, installed app information, and other details useful for debugging. This data is easily shareable between developers and testers.
For more details, refer to the [Developer Guide: Capture Feature](/docs/developer-guide/capture/about-capture.md). caution The Capture feature is only available with Member Distribution or Link Distribution with the members-only setting.
Currently, only Android apps are supported. ![Chart of Capture Summary](/assets/images/capture-summary-en-beaaeee96d52500507f389af32704631.png) ## 5.3 Integrating Chat to Receive Notifications[​](#53-integrating-chat-to-receive-notifications "Direct link to heading") By integrating DeployGate with your chat service, you can effortlessly share various updates that occur during app development with your entire team.
→ [Chat Notification](/docs/developer-guide/chat/.md) ## 5.4 Using Shared Teams to Share Testers Across Projects​[​](#54-using-shared-teams-to-share-testers-across-projects "Direct link to heading") The Shared Team feature allows you to share Teams across Projects within a Workspace. This is useful when a particular department requires constant access to multiple development apps, such as a dedicated internal QA team.
→ [Creating Shared Teams](/docs/administrator-guide/shared-team/create-shared-team.md) ![Chart of Shared Team](/assets/images/workspace_function_en-a4ec6d71e921378f9bc23b895fc513b8.png) ## 5.5 Streamlining Development Cycles with the API[​](#55-streamlining-development-cycles-with-the-api "Direct link to heading") Leveraging DeployGate’s API can help reduce manual tasks and improve operational efficiency. For detailed specifications and sample code, please refer to [this page](/docs/api/.md).
→ [DeployGate API Reference](/docs/api/.md) --- # 6. Migrating Applications from Other Plans to your Workspace The migration procedure varies by plan. Please review the applicable section below. ## 6.1 Migrating Projects from an Old Individual Plan (Free Plan) to a Workspace[​](#61-migrating-projects-from-an-old-individual-plan-free-plan-to-a-workspace "Direct link to heading") You can migrate your Individual Projects seamlessly to your Enterprise Plan Workspace. Please follow the instructions on the page below to complete the migration process.
→ [Migrating Individual Projects to an Enterprise Plan Workspace](https://intercom.help/deploygate/en/articles/8231442) ## 6.2 Migrating from a Flexible Plan to an Enterprise Plan[​](#62-migrating-from-a-flexible-plan-to-an-enterprise-plan "Direct link to heading") When migrating from the Free or Flexible plan to the Enterprise plan, you will need to create a new Workspace. Please note that members, apps, teams, and Projects cannot be carried over. For more details, please visit the followin FAQ page.
→ [Important Notes when downgrading from an Enterprise Plan](https://intercom.help/deploygate/en/articles/6168677) ## 6.3 Migrating Organizations from Discontinued Corporation & Organization Plans (Startup, Business, Large Business) to a Workspace[​](#63-migrating-organizations-from-discontinued-corporation--organization-plans-startup-business-large-business-to-a-workspace "Direct link to heading") You can migrate your Discontinued Plan Organizations to an Enterprise Plan Workspace. Please confirm the required number of members before initiating the migration.
→ [Migrating Legacy Discontinued Plan Organizations to an Enterprise Plan Workspace](https://intercom.help/deploygate/en/articles/8268312) ## 6.4 Migrating Applications from Old Personal Plans (Personal Free, Personal Pro) to a Workspace[​](#64-migrating-applications-from-old-personal-plans-personal-free-personal-pro-to-a-workspace "Direct link to heading") The Old Personal Plans, including the Personal Free and Personal Pro Plans, did not have the concept of “Projects” that our current plans offer. Apps were uploaded directly. As a result, you must migrate each app individually when migrating to an Enterprise Plan Workspace.
→ [Migrating Applications from Legacy Personal Plans to an Enterprise Plan Workspace](https://intercom.help/deploygate/en/articles/4682691) --- # Enterprise Plan Setup Guide ![Gif Create Organization and Upload Apps](/assets/images/gif-upload-app-08fa7a8b6c348d4d564afd95dca01511.gif) This guide outlines the first steps for using the Enterprise Plan. You can make the most of DeployGate’s features by following these steps. [1. Getting Started with Enterprise Trial](/docs/administrator-guide/setup/enterprise-workspace-setup-1.md) [2. Set Up your Workspace Administrator Account](/docs/administrator-guide/setup/enterprise-workspace-setup-2.md) [3. Getting Started with DeployGate - Learn How to Use its Features](/docs/administrator-guide/setup/enterprise-workspace-setup-3.md) [4. Distribute Apps to Developers, Testers, and Other Users​](/docs/administrator-guide/setup/enterprise-workspace-setup-4.md) [5. Mastering DeployGate with More Convenient and Advanced Features](/docs/administrator-guide/setup/enterprise-workspace-setup-5.md) [6. Migrating Applications from Other Plans to your Workspace](/docs/administrator-guide/setup/enterprise-workspace-setup-6.md) --- # Flexible Plan Setup Guide Thank you for choosing the Flexible Plan. This guide outlines the first steps for using DeployGate, beginning with creating a Workspace. You can make the most of DeployGate's features by following these steps. ## 1. Use DeployGate's Basic Features[​](#1-use-deploygates-basic-features "Direct link to heading") ### 1.1 Set Up Your Workspace[​](#11-set-up-your-workspace "Direct link to heading") 1. Log in to [DeployGate](https://deploygate.com) with your Workspace Administrator account. 2. Hover over your user icon/account name at the top right of the page to view the menu and click on your Workspace name (\*) to access the Workspace Admin Console. \*This is the company name provided when you submitted your application. 3. Click on Settings in the upper right corner of the Workspace Admin Console to configure additional Workspace settings. ![Gif of Setting Workspace](/assets/images/setting-workspace-en-0d95fed16db5d7e4f314ee8b00afdefe.gif) You can upload a profile image or change the Workspace display name as needed. ### 1.2 Create an Organization[​](#12-create-an-organization "Direct link to heading") 1. Click on `Organizations Settings` from the Workspace Admin Console’s left menu.
![Screenshot of Workspace organization setting ](/assets/images/go-to-group-setting-en-61235703897c7e212d2f5a52e34ebd6f.png) 2. Click on the `Create` button in the top right corner of the Manage Organizations screen to create a new Organization. ![Screenshot of Crerate New Organization ](/assets/images/create-new-org-en-a8ba474d78929df5c052770de91931e5.png) You can create multiple Organizations within a Workspace.
By creating an Organization for each project or internal department, you can manage access permissions more efficiently.
Each application will be uploaded to a specific Organization.
The following diagram illustrates the relationships between Workspaces, Organizations, Teams, and Applications. ![Chart of Elements Relationshop](/assets/images/deploygate-elements-en-40f850bfb993559509176521adb3008a.png) 4. Enter the Organization name, display name (optional), and Organization description (optional), then click `Create`. caution While you can change the display name at any time, you cannot modify the Organization name once selected. ![Screenshot of Set New Organization ](/assets/images/set-group-en-4f8d19184bb73724226d2d717db66fd8.png) 5. Click on `Organizations` from the left menu to return to the Manage Organizations screen. You should see the newly created Organization in the list. ![Screenshot of List Organization ](/assets/images/go-to-created-org-en-448af6d05602399de1d8bb16ba624c5e.png) ### 1.3 Uploading an Application[​](#13-uploading-an-application "Direct link to heading") 1. Hover over your user icon/account name at the top right of the page to view the menu and click on `Workspaces`. 2. On this screen, you will see a list of Organizations created within the Workspace. Click on the Organization you created earlier.
![Screenshot of Select Organization ](/assets/images/select-org-en-7ace3a0ee210a05d120c4e1d1cf05ce2.png) 3. When the following screen appears, click the `Upload` button.
This will open a file selection dialog. Select an APK/AAB file or an IPA file to upload the app to the Organization.
Once the upload is complete, the app management screen will open.
![Screenshot of Confirm Upload App](/assets/images/confirm-up-load-en-46ed0d6ffda5d1eccbd773c4856c6fdc.png) 4. After uploading the app, you will be redirected to the App Details screen, as shown below. A QR code for installing the app on your device will appear. ![Screenshot of Complete Upload](/assets/images/after-app-upload-en-0e1472f4927542e4f3038e91306717c2.png) ### 1.4 Installing the App on your Device[​](#14-installing-the-app-on-your-device "Direct link to heading") Please refer to the following documents for information on installing apps on your device: * [Installing the App on an Android Device](/docs/developer-guide/setup/download-app-self-device.md#install-apps-on-android-devices) * [Installing the App on an iOS Device](/docs/developer-guide/setup/download-app-self-device.md#download-apps-to-ios-devices) ## 2. Distribute the App to Others[​](#2-distribute-the-app-to-others "Direct link to heading") ### 2.1 Distribute App by Member Distribution Method[​](#21-distribute-app-by-member-distribution-method "Direct link to heading") DeployGate offers two distribution methods: "Member Distribution" and "Link Distribution." * **Member Distribution**: Ideal for regularly sharing the app with specific users, such as a development team. * Requires account registration * Update notifications available * Detailed log management * Access to all revisions * **Link Distribution**: Ideal for sharing a specific app revision with a wide range of testers. * No account registration required * Distribution limited to one revision For more details, please refer to [Two Distribution Methods](/docs/developer-guide/learning/two-ways-distribution.md). You can also choose different distribution methods depending on the application. ### 2.2 Inviting Members to the Workspace for Member Distribution[​](#22-inviting-members-to-the-workspace-for-member-distribution "Direct link to heading") Let’s try Member Distribution, where testers register accounts and participate as members.
Using Member Distribution offers several benefits, such as: * More detailed log tracking * Access control via accounts * Access to features like the [Capture Feature](/docs/developer-guide/capture/about-capture.md). You can invite members using methods such as [Inviting Members from the Workspace](/docs/administrator-guide/member/ep-add-member.md) or [Inviting Members via API](/docs/api/enterprise/enterprises-users-create.md).
In this example, we will invite members directly from the Team to grant them access to the application. 1. From the left menu, click on `Organizations`, then click the icon next to the applicable Organization in the list.
![Screenshot of Group Details](/assets/images/go-to-group-details-en-a42ea49051d661393dd5eeb341ebe518.png) 2. On the Organization Management Screen, click `Team List`. ![Screenshot of Team Details](/assets/images/click-team-list-en-1e9e197af526411e397620a6adc925ac.png) 3. The Team Details page will appear. The default Teams are those for Owners, Developers, and Testers. Click on `Developer` to invite someone to the Developer Team. ![Screenshot of Team Details](/assets/images/team-management-en-676f5f57b5a5004bda2aad848a2b70f4.png) Access Control with Teams * You can configure permissions for each team. -> [Team Roles](/docs/developer-guide/team/manage-team-role.md) * You can also create new teams. -> [Create New Teams](/docs/developer-guide/team/create-team.md) 4. Click `Invite New Member`to launch the invitation form.
Enter the email address of the person you wish to invite and click `Invite and Add to Workspace`. ![Screenshot of Invite New Member](/assets/images/invite-new-member-en-d8022c24a00696b3e8c9410f984f0444.png)
An invitation email will be sent to the ![Screenshot of Added New Member](/assets/images/member-added-en-e77469960a1ae6fb6ab0cb5723090462.png) 5. Go to the `Applications members can access to` on the right side of the screen and select the application you want to grant access to. ![Screenshot of App Assigned to Team](/assets/images/app-assign-en-db6e12b9ada6aef90c0501b0b56de4ec.png) 6. The invitee should follow the instructions on the following page to install the app: -> [Installing Apps Distributed via Member Distribution](/docs/tester-guide/install-app-from-team.md) Member Distribution provides notifications for app updates and allows downloads of all revisions.
We recommend using Member Distribution for individuals who are regularly involved as development members. ### 2.3 Distribute Apps via Link Distribution[​](#23-distribute-apps-via-link-distribution "Direct link to heading") With Link Distribution, users can install the app without creating an account, making it ideal for large-scale beta testing with numerous testers.
However, this method does not support account management, so detailed tracking, such as identifying individual app downloaders, is not possible.
With Link Distribution, it is possible to restrict access to members with accounts. You can take advantage of Link Distribution and Member Distribution benefits * Account management allows for detailed log tracking. * You can use [The capture feature](/docs/developer-guide/capture/about-capture.md). * You can specify and distribute only a specific revision. 1. Select the app from the Dashboard.
![Screenshot of Select App from Dashboard](/assets/images/select-app-from-dashboard-en-1620e7c7ce46fa697060bfa662c09dc4.png) 2. On the App Details screen, click `Create a Link`.
![Screenshot of Create Link](/assets/images/create-link-en-33089395e36e578300480d1a26b982b7.png) 3. When the following screen appears, copy the URL and share it with your members.
![Screenshot of Ready to Share](/assets/images/ready-to-share-en-46b1123915abf3723d40e58f6e150664.png)
After closing the screen, the Distribution Page will appear. ![Screenshot of Distribution Page](/assets/images/distribution-page-en-88fcaf5f4fa8b7b69e97d778d899930d.png) tip The Distribution Page is customizable. The “Distribution Page” is the page that shared URL recipients can access. * The Distribution Page allows for detailed configuration.
-> [Setting Up the Distribution Page](/docs/developer-guide/link-distribution/distribute-by-link.md#2-set-up-distribution-page) * You can restrict access to the page with the `Only team members` with access to the app setting. This configuration confers Member Distribution benefits, including Capture feature use and detailed access management.
-> [Configuring Distribution Page Visibility](/docs/developer-guide/link-distribution/privacy-setting.md) 4. Link Distribution URL recipients should follow the instructions on this page to install the app:
-> [Installing Apps Distributed via Link Distribution](/docs/tester-guide/install-app-from-link.md) ## 3. Mastering DeployGate with More Convenient Features[​](#3-mastering-deploygate-with-more-convenient-features "Direct link to heading") DeployGate provides tools to support a more efficient application development cycle.
Here are some convenient features to try: ### 3.1 Using Capture to Collect Feedback on Distributed Apps[​](#31-using-capture-to-collect-feedback-on-distributed-apps "Direct link to heading") The **Capture feature** makes it easy to report bugs with Screenshots of the issue. With this feature, taking a Screenshot of an app under development allows the DeployGate app to automatically collect: * Logs from just before the Screenshot was taken * Device information * Information about installed apps * Other details useful for debugging This data is then easily shareable between developers and testers.
For more details, refer to [Developer Guide: Capture Feature](/docs/developer-guide/capture/about-capture.md) caution This feature is available for member distribution or link distribution when the distribution setting is configured to distribute to members only. Currently it is supported only for Android apps. ![Chart of Capture Summary](/assets/images/capture-summary-en-beaaeee96d52500507f389af32704631.png) ### 3.2 Integrating Chat to Receive Notifications[​](#32-integrating-chat-to-receive-notifications "Direct link to heading") By integrating DeployGate with your chat service, you can effortlessly share various updates that occur during app development with your entire team.
-> [Chat Notification](/docs/developer-guide/chat/.md) ### 3.3 Using Shared Teams to Share Testers Across Organizations[​](#33-using-shared-teams-to-share-testers-across-organizations "Direct link to heading") The Shared Team feature allows you to share teams across Organizations within a Workspace. This is useful when a particular department requires constant access to multiple development apps, such as a dedicated internal QA team.
-> [Creating Shared Teams](/docs/administrator-guide/shared-team/create-shared-team.md) ![Chart of Shared Team](/assets/images/workspace_function_en-a4ec6d71e921378f9bc23b895fc513b8.png) ### 3.4 Streamlining Development Cycles with the API[​](#34-streamlining-development-cycles-with-the-api "Direct link to heading") Leveraging DeployGate's API can help reduce manual tasks and improve operational efficiency.
For detailed specifications and sample code, please refer to [this page](/docs/api/.md).
-> [DeployGate API Reference](/docs/api/.md) ## 4. Migrating Applications from Other Plans to your Workspace[​](#4-migrating-applications-from-other-plans-to-your-workspace "Direct link to heading") Unless you are currently on the Flexible plan, you can migrate existing Organizations and applications from any other plan to your Workspace. ### 4.1 Migrating Organizations for an Old Individual Plan (Free Plan) to your Workspace​[​](#41-migrating-organizations-for-an-old-individual-plan-free-plan-to-your-workspace "Direct link to heading") You can migrate your Individual Plan Organizations seamlessly to your Flexible Plan Workspace. -> [Migrating Individual Plan Organizations to a Flexible Plan Workspace](https://intercom.help/deploygate/en/articles/8054940) ### 4.2 Migrating Organizations from Discontinued Corporation & Organization Plans (Startup, Business, Large Business) to a Workspace​[​](#42-migrating-organizations-from-discontinued-corporation--organization-plans-startup-business-large-business-to-a-workspace "Direct link to heading") You can also migrate your Discontinued Plan Organizations to a Flexible Plan Workspace.
Please verify the required number of members before initiating the migration. -> [Migrating Legacy Discontinued Plan Organizations to a Flexible Plan Workspace](https://intercom.help/deploygate/en/articles/8267335) ### 4.3 Migrating Applications from Old Personal Plans (Personal Free, Personal Pro) to a Workspace[​](#43-migrating-applications-from-old-personal-plans-personal-free-personal-pro-to-a-workspace "Direct link to heading") The Old Personal Plans, including the Personal Free and Personal Pro Plans, did not have the concept of "Organizations" that our current plans offer. Apps were uploaded directly.
As a result, you must migrate each app individually when migrating to a Flexible Plan Workspace.
-> [Migrating Applications from Legacy Personal Plans to a Flexible Plan Workspace](https://intercom.help/deploygate/en/articles/8000354) --- # 1. Sign Up DeployGate To use DeployGate, you must create an account. On this page, we will outline the steps to create a DeployGate account. *** Sign up via Invitation Email, if you are invited from someone to DeployGate If you’ve been invited to join a Workspace by another user, you must sign up through the URL included in the invitation email. \*Please visit [here](/docs/developer-guide/setup/sign-up-workspace.md) for more information on how to sign up if you’ve been invited. ## 1.1 Sign up[​](#11-sign-up "Direct link to heading") \*To verify that the email address belongs to you, DeployGate will send an email to the address you register. Authentication is completed using the verification code included in the email, so please make sure you are able to receive emails before proceeding. 1. Visit the following page . 2. Click the `Agree and proceed to registration` button. A verification email will be sent to you. ![Screenshot of create account from web 1](/assets/images/create-account-web1_en-667b958ed7d0978b6497f528a8a0f99a.png) Note * If you cannot find the email from DeployGate in your inbox, please check your spam folder. * If you cannot locate the email in the spam folder, please try another email address. 3. When the following screen appears, check your inbox for the email. Enter the 6-digit number from the email into the “Verification Code” field and click the `Next` button to submit. ![Screenshot of create account from web 1](/assets/images/create-account-web2_en-d121352cfb5aa02c34b8def295563c77.png) 4. Fill in all the required fields and complete your registration. ![Screenshot of create account from web 3](/assets/images/create-account-web3_en-6c6a35061000f3dee4560345c1a1f579.png) --- # 2. Getting Started with DeployGate - Learn How to Use its Features ## 2.1 Set Up Your Workspace[​](#21-set-up-your-workspace "Direct link to heading") 1. Log in to [DeployGate](https://deploygate.com) with your Workspace Administrator account. 2. Hover over your user icon/account name at the top right of the page to view the menu and click on your Workspace name (\*) to access the Workspace Admin Console. \*This is the company name provided when you submitted your application. 3. Click on `Settings` in the upper right corner of the Workspace Admin Console to configure additional Workspace settings.
You can upload a profile image or change the Workspace display name as needed. ![Gif of Setting Workspace](/assets/images/setting-workspace-en-0d95fed16db5d7e4f314ee8b00afdefe.gif) ## 2.2 Create a Project[​](#22-create-a-project "Direct link to heading") Please visit [this page](/docs/administrator-guide/ep-group/ep-add-group.md) for information on how to create a Project. ## 2.3 Uploading an Application[​](#23-uploading-an-application "Direct link to heading") 1. Hover over your user icon/account name at the top right of the page to view the menu and click on `Workspaces`. 2. On this screen, you will see a list of Projects created within the Workspace. Click on the Project you created earlier.
![Screenshot of Select Project](/assets/images/select-org-en-7ace3a0ee210a05d120c4e1d1cf05ce2.png) 3. After the Project detail page opens, please upload an app by following the steps in [this page](/docs/developer-guide/app/upload-app.md#upload-from-project-dashboard). ## 2.4 Installing the App on your Device[​](#24-installing-the-app-on-your-device "Direct link to heading") Please refer to the following documents for information on installing apps on your device: * [Installing the App on an Android Device](/docs/developer-guide/setup/download-app-self-device.md#install-apps-on-android-devices) * [Installing the App on an iOS Device](/docs/developer-guide/setup/download-app-self-device.md#download-apps-to-ios-devices) --- # 3. Distribute Apps to Developers, Testers, and Other Users ## 3.1 Distribute App by Member Distribution Method[​](#31-distribute-app-by-member-distribution-method "Direct link to heading") DeployGate offers two distribution methods: "Member Distribution" and "Link Distribution." * **Member Distribution**: Ideal for regularly sharing the app with specific users, such as a development team. * Requires account registration * Update notifications available * Detailed log management * Access to all revisions * **Link Distribution**: Ideal for sharing a specific app revision with a wide range of testers. * No account registration required * Distribution limited to one revision For more details, please refer to [Two Distribution Methods](/docs/developer-guide/learning/two-ways-distribution.md) You can also choose different distribution methods depending on the application. ## 3.2 Inviting Members to the Workspace for Member Distribution[​](#32-inviting-members-to-the-workspace-for-member-distribution "Direct link to heading") Let’s try Member Distribution, where testers register accounts and participate as members.
Using Member Distribution offers several benefits, such as: * More detailed log tracking * Access control via accounts * Access to features like the [Capture Feature](/docs/developer-guide/capture/about-capture.md). You can invite members using methods such as [Inviting Members from the Workspace](/docs/administrator-guide/member/ep-add-member.md) or [Inviting Members via API](/docs/api/enterprise/enterprises-users-create.md).
In this example, we will invite members directly from the Team to grant them access to the application. 1. From the left menu, click on `Projects`. ![Screenshot of Project Details](/assets/images/workspace-console_projects_en-0aa990f280d52da297204789d8cc263b.png) 2. Click the icon next to the Project name. ![Screenshot of Project Details](/assets/images/workspace-project-management_link_en-05478e205df4f86db60cac636f29cf89.png) 3. Click `Team List`on the right side of the Project detail page.
![Screenshot of Team Details](/assets/images/click-team-list-en-1e9e197af526411e397620a6adc925ac.png) 4. The Team Details page will appear. The default Teams are those for Owners, Developers, and Testers. Click on `Developer` to invite someone to the Developer Team. ![Screenshot of Team Details](/assets/images/team-management-en-676f5f57b5a5004bda2aad848a2b70f4.png) Access Control with Teams * You can configure permissions for each team. -> [Team Roles](/docs/developer-guide/team/manage-team-role.md) * You can also create new teams. -> [Create New Teams](/docs/developer-guide/team/create-team.md) 5. Click `Invite new members`to launch the invitation form.
Enter the email address of the person you wish to invite and click `Invite and Add to Workspace`. ![Screenshot of Invite New Member](/assets/images/invite-new-member-en-d8022c24a00696b3e8c9410f984f0444.png) 6. The message "Successfully invited." displayed and an invitation email will be sent to the invited member. ![Screenshot of Added New Member](/assets/images/member-added-en-e77469960a1ae6fb6ab0cb5723090462.png) 7. Select the application you want to grant access to on the "Applications members can access to" section and click `Add` button. ![Screenshot of App Assigned to Team](/assets/images/app-assign-en-db6e12b9ada6aef90c0501b0b56de4ec.png) 8. The invitee should follow the instructions on the following page to install the app:
→ [Installing Apps Distributed via Member Distribution](/docs/tester-guide/install-app-from-team.md) Member Distribution provides notifications for app updates and allows downloads of all revisions.
We recommend using Member Distribution for individuals who are regularly involved as development members. ## 3.3 Distribute Apps via Link Distribution[​](#33-distribute-apps-via-link-distribution "Direct link to heading") With Link Distribution, users can install the app without creating an account, making it ideal for large-scale beta testing with numerous testers.
If you need to manage the members by detailed tracking, such as identifying individual app downloaders, please use [Member Distribution](#32-inviting-members-to-the-workspace-for-member-distribution).
It is possible to restrict access with a password or to members with accounts for Link Distribution. With Link Distribution, it is possible to restrict access to members with accounts You can take advantage of Link Distribution and Member Distribution benefits * Account management allows for detailed log tracking. * You can use [The capture feature](/docs/developer-guide/capture/about-capture.md). * You can specify and distribute only a specific revision.
::: 1. Select the app from the Dashboard.
![Screenshot of Select App from Dashboard](/assets/images/select-app-from-dashboard-en-1620e7c7ce46fa697060bfa662c09dc4.png) 2. On the App Details screen, click `Create a Link`.
![Screenshot of Create Link](/assets/images/create-link-en-33089395e36e578300480d1a26b982b7.png) 3. When the following screen appears, copy the URL and share it with your members.
![Screenshot of Ready to Share](/assets/images/ready-to-share-en-46b1123915abf3723d40e58f6e150664.png) After closing the screen, the Distribution Page will appear. ![Screenshot of Distribution Page](/assets/images/distribution-page-en-88fcaf5f4fa8b7b69e97d778d899930d.png) The “Distribution Page” is the page that shared URL recipients can access and it's customizable. * The Distribution Page allows for detailed configuration.
→ [Setting Up the Distribution Page](/docs/developer-guide/link-distribution/distribute-by-link.md#2-set-up-distribution-page) * You can restrict access to the page with the `Only team members` with access to the app setting. This configuration confers Member Distribution benefits, including Capture feature use and detailed access management.
→ [Configuring Distribution Page Visibility](/docs/developer-guide/link-distribution/privacy-setting.md) 4. Link Distribution URL recipients should follow the instructions on this page to install the app.
→ [Installing Apps Distributed via Link Distribution](/docs/tester-guide/install-app-from-link.md) --- # 4. Mastering DeployGate with More Convenient and Advanced Features DeployGate provides tools to support a more efficient application development cycle.
Here are some convenient features to try: ## 4.1 Using Capture to Collect Feedback on Distributed Apps[​](#41-using-capture-to-collect-feedback-on-distributed-apps "Direct link to heading") The **Capture feature** makes it easy to report bugs with Screenshots of the issue. With this feature, taking a Screenshot of an app under development allows the DeployGate app to automatically collect: * Logs from just before the Screenshot was taken * Device information * Information about installed apps * Other details useful for debugging This data is then easily shareable between developers and testers.
For more details, refer to [Developer Guide: Capture Feature](/docs/developer-guide/capture/about-capture.md) caution The Capture feature is only available with Member Distribution or Link Distribution with the members-only Privacy setting.
Currently, only Android apps are supported. ![Chart of Capture Summary](/assets/images/capture-summary-en-beaaeee96d52500507f389af32704631.png) ## 4.2 Integrating Chat to Receive Notifications[​](#42-integrating-chat-to-receive-notifications "Direct link to heading") By integrating DeployGate with your chat service, you can effortlessly share various updates that occur during app development with your entire team.
→ [Chat Notification](/docs/developer-guide/chat/.md) ## 4.3 Using Shared Teams to Share Testers Across Projects[​](#43-using-shared-teams-to-share-testers-across-projects "Direct link to heading") The Shared Team feature allows you to share teams across Projects within a Workspace. This is useful when a particular department requires constant access to multiple development apps, such as a dedicated internal QA team.
→ [Creating Shared Teams](/docs/administrator-guide/shared-team/create-shared-team.md) ![Chart of Shared Team](/assets/images/workspace_function_en-a4ec6d71e921378f9bc23b895fc513b8.png) ## 4.4 Streamlining Development Cycles with the API[​](#44-streamlining-development-cycles-with-the-api "Direct link to heading") Leveraging DeployGate's API can help reduce manual tasks and improve operational efficiency.
For detailed specifications and sample code, please refer to [this page](/docs/api/.md).
→ [DeployGate API Reference](/docs/api/.md) --- # 5. Migrating Applications from Other Plans to your Workspace Unless you are currently on the discontinued plans, you can migrate existing Projects and applications from any other plan to your Workspace. ## 5.1 Migrating Projects for an Old Individual Plan (Free Plan) to your Workspace​[​](#51-migrating-projects-for-an-old-individual-plan-free-plan-to-your-workspace "Direct link to heading") You can migrate your Individual Plan Projects seamlessly to your Workspace.
→ [Migrating Individual Plan Projects to Workspace](/docs/administrator-guide/ep-group/ep-import-group.md) ## 5.2 Migrating Organizations from Discontinued Corporation & Organization Plans (Startup, Business, Large Business) to a Workspace​[​](#52-migrating-organizations-from-discontinued-corporation--organization-plans-startup-business-large-business-to-a-workspace "Direct link to heading") You can also migrate your discontinued Plan Organizations to a Workspace.
Please verify the required number of members before initiating the migration.
→ [Migrating Legacy Discontinued Plan Organizations to a Workspace](/docs/administrator-guide/ep-old-group/ep-import-old-group.md) ## 5.3 Migrating Applications from Old Personal Plans (Personal Free, Personal Pro) to a Workspace[​](#53-migrating-applications-from-old-personal-plans-personal-free-personal-pro-to-a-workspace "Direct link to heading") The Old Personal Plans, including the Personal Free and Personal Pro Plans, did not have the "Projects" that our current plans offer. Apps were uploaded directly.
As a result, you must migrate each app individually when migrating to a Workspace.
→ [Migrating Applications from Legacy Personal Plans to a Workspace](https://intercom.help/deploygate/en/articles/8000354) --- # Workspace Setup Guide ![Gif Create Project and Upload Apps](/assets/images/gif-upload-app-08fa7a8b6c348d4d564afd95dca01511.gif) This guide outlines the first steps for using DeployGate, beginning with creating a new Workspace. You can make the most of DeployGate's features by following these steps. [1. Sign up for DeployGate](/docs/administrator-guide/setup/sign-up-individual.md) For Enterprise Trial users For instructions on how to use the Enterprise plan free trial, please see the page below.
[Getting Started with Enterprise Trial](/docs/administrator-guide/setup/enterprise-workspace-setup-1.md) [2. Getting Started with DeployGate - Learn How to Use its Features](/docs/administrator-guide/setup/workspace-setup-1.md) [3. Distribute Apps to Developers, Testers, and Other Users](/docs/administrator-guide/setup/workspace-setup-2.md) [4. Mastering DeployGate with More Convenient and Advanced Features](/docs/administrator-guide/setup/workspace-setup-3.md) [5. Migrating Applications from Other Plans to your Workspace](/docs/administrator-guide/setup/workspace-setup-4.md) --- # Create Shared Team With Workspace, it is possible to create a “shared team” for all members of a company to collaborate. Additionally, shared teams can be used with the Workspace’s Projects as a tester team. Here, we will explain how to make shared team in Workspace. All users with access to the Workspace Management Screen can perform this operation. *** ![Chart of Shared Team](/assets/images/workspace_function_en-a4ec6d71e921378f9bc23b895fc513b8.png) By default, a Workspace has an “All Staff” shared team. By adding this team to Projects and applications, all members of the Workspace will be able to access and test applications. ## Create Shared Team[​](#create-shared-team "Direct link to heading") 1. Select `Shared Team Management` from the left of the Workspace Management Screen. ![Screenshot of access to create shared team ](/assets/images/workspace-console_shared-teams_en-c5738fd1515e772d1a248740258598be.png) 2. Click the `Create` button at the top right of the shared team list. ![Screenshot of access to create shared team form](/assets/images/workspace-console_shared-teams_create_en-1b261ccfcdd2bcedf3d9a257e92c8cbe.png) 3. Enter the team name and description (optional). ![Screenshot of access to create shared team form](/assets/images/team-management_create_en-356a706cb373c410e9862f5d6b1d0f5c.png) Team names can consist of any characters, except for the forward slash (/). 4. Pressing the create button will create the team. Add members to the team to continue. ![Screenshot of access to create shared team form](/assets/images/team-creation-confirmation_en-fd4c6651a2b7c5aee04b6687406fb900.png) See [Shared Team Member Management](/docs/administrator-guide/shared-team/manage-shared-team.md) for next step. --- # Delete Shared Teams Here, we will explain how to delete a Shared Team in Workspace. All users with access to the Workspace Management Screen can perform this operation. *** 1. To delete a shared team from the Workspace, first open `Shared Teams` from the left of the Workspace Management Screen. ![Screenshot of select shared team ](/assets/images/workspace-console_shared-teams_en-c5738fd1515e772d1a248740258598be.png) 2. Select `Remove` menu at the right of the shared team to be deleted. The "All Staff" shared team cannot be deleted. ![Screenshot of erase shared team ](/assets/images/team-management_delete_en-11d604d5534026dca4a29967db87ae13.png) 3. A confirmation dialog box will appear, and the user will be removed when `OK` is selected. ![Screenshot of erase shared team ](/assets/images/team-deletion-confirmation_en-7d477a9fb61f0b67cb663d715125bee2.png) Deletions are permanent and cannot be reversed When a shared team is deleted, it will be removed from all Projects, and its members will no longer have access to applications. --- # Shared Team Member Management Here, we will explain how to add and delete members to a shared team. All users with access to the Workspace Management Screen can perform this operation. *** ## Add members to a Shared Team[​](#add-members-to-a-shared-team "Direct link to heading") 1. Click `Shared Teams` at the left of the Workspace Admin Console. ![Screenshot of select shared team](/assets/images/workspace-console_shared-teams_en-c5738fd1515e772d1a248740258598be.png) 2. Select the shared team name to add members. ![Screenshot of select shared team ](/assets/images/workspace-console_shared-teams_link_en-f7aaf4254fed47197d1adaef4c1361ec.png) 3. Select the member to be added from the dropdown list. Entering a partial or full username will filter the selections. ![Screenshot of search member to add shared team ](/assets/images/team-management_add-members_en-d7cc32ed4e02cedbc2e93aaa46012486.png) Only Workspace Members can be selected To add a user to the Project, it is necessary to [Add a Member to the Workspace](/docs/administrator-guide/member/ep-add-member.md) in advance. 4. By clicking 'join', the member will be added to the list. ![Screenshot of search member to added member shared team ](/assets/images/member-addition-confirmation_en-28f65ff95b7ae75e3de9499b679ef2e1.png) To add multiple members, repeat the steps above. ## Delete Members from a Shared Team[​](#delete-members-from-a-shared-team "Direct link to heading") 1. Click `Shared Teams` at the left of the Workspace Admin Console. ![Screenshot of select shared team](/assets/images/workspace-console_shared-teams_en-c5738fd1515e772d1a248740258598be.png) 2. Select the shared team name to remove members. ![Screenshot of select shared team ](/assets/images/workspace-console_shared-teams_link_en-f7aaf4254fed47197d1adaef4c1361ec.png) 3. Locate the member to be deleted from the shared team member list and open the dropdown menu on the right and select `Remove`. ![Screenshot of remove member from shared team ](/assets/images/team-management_delete-member_en-4286a7f49d06f856160468d771a9b01e.png) 4. A confirmation message will appear, and the user will be removed when OK is selected. ![Screenshot of remove member from shared team ](/assets/images/member-deletion-confirmation_en-cf12aa39e7524814ab0a4c3c4a41b845.png) Deleting users from multiple shared teams By clicking on the username, the member information screen will appear, showing all of the member’s shared teams. From this screen, it is possible to remove the user from multiple shared teams at once. --- # Use Shared Team from Project Here, we will explain how to use a Shared Team from a Project. Only Project owners/administrators can perform these operations. *** To use a shared team for a Project, add a shared team to the Project, and then attach an application to the team. Shared teams can only be used as testers. It is not possible for shared teams to have administrator/developer permissions. Shared Team is available in only a Project in Workspace. Please select a Project shown under the Workspace. 1. Open Project detail page and click `Add Shared Team` button. ![Screenshot of select add shared team to use](/assets/images/project-add-shared-team_en-af60db0ce36eb9d8531170b471eb190d.png) 2. Select the shared team you want to add from the displayed dropdown menu, then click the Add button. ![Screenshot of select shared team](/assets/images/select-shared-team-to-use-f23611e6cdc815182b983997ab0e6a72.png) 3. The shared team will be added to the Project. Click the shared team name to add applications. ![Screenshot of added shared team](/assets/images/added-shared-team-bc6621256f7e7aef9ad5af7209062f49.png) 4. Select the applications to add when the team management screen appears. ![Screenshot of apply shared team to app](/assets/images/apply-shared-team-app-3036dedf20219f679574c33cfa5f65ee.png) Shared teams can only be modified from the Workspace Management Screen. See [Shared Team Management](/docs/administrator-guide/shared-team/manage-shared-team.md) for details. All other operations function like any other team, including adding applications. See [Team Application Management](/docs/developer-guide/team/manage-team-app.md) for details. --- # Single Sign-On caution Single Sign-On is available on Enterprise Plans. Restricts password logins and requires a specified authentication method. *** When enabling Single Sign-On, accounts belonging to a Workspace will no longer be able to log in with a password and will be required to use the specified authentication method instead. Currently, Single Sign-On supports the following two authentication methods. * OAuth authentication with Google Workspace * Authentication with SAML 2.0 Some functions, including provisioning that creates DeployGate accounts for unregistered users, are not supported. --- # Google Workspace Authentication The Single Sign On (SSO) feature is available only with the Enterprise plan. This operation requires “Administrator” privileges. *** On Enterprise plans, account management can be performed in conjunction with Google’s “Google Workspace.” ## Enable Google Workspace Authentication[​](#enable-google-workspace-authentication "Direct link to heading") 1. To enable Google Workspace authentication for your Workspace, open “Settings” from the top right section of the Workspace Admin Console. ![Screenshot of Google Workspace ](/assets/images/google-workspace1-e3b73076a05e6adfef2f0b40f5c9b8d3.png) 2. On the Settings screen, select `Authentication` from the left menu. ![Screenshot of Google Workspace ](/assets/images/google-workspace2-f149aa1f26df0bea335ece094ab1ce01.png) 3. The Google Workspace Authentication Settings page will be displayed. Please carefully read the warnings before clicking on the `Enable Google Workspace authentication` button. ![Screenshot of Google Workspace ](/assets/images/google-workspace3-85788cf8242cf22bfb3cc5a62644c4c8.png) 4. After clicking on the `Enable Google Workspace authentication` button, you will be redirected to the Google account authentication screen. Select a Google Workspace account or log in if you haven’t already logged in. Once the Google Workspace account authentication is complete, the Workspace’s Google Workspace integration is complete. Additionally, all Workspace members will receive an email informing them that Google Workspace integration is enabled. Furthermore, as seen in the following Screenshot, the Workspace Admin Console will show that Google Workspace authentication is enabled. ![Screenshot of Google Workspace ](/assets/images/google-workspace4-39facb5c195f05dd77692b79c0100466.png) Google Workspace Transition period after enabling Google Workspace authentication The 14 days after enabling Google Workspace authentication is a transition period, and passwords can also be used to log in during this time. However, even during this transition period, Google Workspace SSO will take precedence for users who have enabled Google Workspace integration for their account, and their passwords will be disabled. Please proceed to “Authenticate DeployGate account with Google Workspace.” ## Authenticate DeployGate account with Google Workspace[​](#authenticate-deploygate-account-with-google-workspace "Direct link to heading") 1. After enabling Google Workspace Authentication with the Workspace, Workspace members will be notified by email. The email will contain a URL for the user to enable Google Workspace authentication for their DeployGate account. For users who are already logged in to DeployGate, a message will appear at the top of their dashboard, letting them know that Google Workspace authentication is enabled. They can also be directed to the page to enable Google Workspace authentication from this message. ![Screenshot of Google Workspace ](/assets/images/google-workspace5-a83268e59ba1edab4de554a0560449ea.png) 2. Users can enable Google Workspace authentication for their DeployGate accounts on the Authenticate with Google Workspace page. Please carefully read the warnings before clicking on the `Authenticate with Google Workspace Account` button. ![Screenshot of Google Workspace ](/assets/images/google-workspace6-cc24c4a584997f6e97ee76809a295307.png) 3. Authenticating with a Google Workspace account will enable the DeployGate account’s Google Workspace authentication. Additionally, it’s possible to see each account’s Google Workspace authentication status by going to the [Member Details page](/docs/administrator-guide/member/ep-show-member.md). ![Screenshot of Google Workspace ](/assets/images/google-workspace7-4a8b3ff744e291e40f7cda3ec230c277.png) --- # SAML Authentication The Single Sign On (SSO) feature is available only with the Enterprise plan. This operation requires “Administrator” privileges. *** Enterprise plans support user authentication using SAML (Security Assertion Markup Language). Using user account information already registered with a Project’s authentication provider (IdP: Identity Provider), Single Sign-On to DeployGate is available. DeployGate is a SAML 2.0 compliant service provider (SP) and can be integrated with various authentication providers, including Google Workspace, OneLogin, and Microsoft Entra ID (Formerly known as Azure AD). This document outlines the steps to set up SAML authentication with the various authentication providers. Authentication methods cannot be combined When enabling SAML authentication, all of the Workspace’s accounts will switch to a dedicated login screen for user authentication. Please note that this cannot be used in conjunction with Google Workspace authentication or standard DeployGate login methods. ## Enabling SAML authentication[​](#enabling-saml-authentication "Direct link to heading") Both DeployGate and IdP must be properly configured to enable SAML authentication. Because the terminology for SAML authentication settings varies by the IdP, the following is a general overview of a typical process. Please make sure you read and understand the details of each IdP setting before proceeding with the configuration. We have specific configuration instructions for major IdPs, including Google Workspace and Microsoft Entra ID, so please refer to those documents for more details. To enable SAML authentication, open the Workspace Admin Console’s settings page. Then, select “Authentication” from the left menu and select `Enable SAML authentication` from the `SAML Authentication` section. ![Screenshot of Google Workspace ](/assets/images/saml-auth1-0b11a0d83800819f16fb85e5f30c16c1.png) A settings wizard will appear and will guide you through the set up process, so enter the information required for SAML authentication into the form. ![Screenshot of Google Workspace ](/assets/images/saml-auth2-aee17e7ddd9b538c84961ac7e1226f17.png) In the Your IdP Settings section, enter the IdP’s information to proceed with the integration with DeployGate. The information in this section is unique to each IdP and is typically provided by the IdP. This information is displayed when adding an SAML app in Google Workspace or when registering an app in OneLogin. (For details, please see the specific tutorials) | Settings | Description | | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | IdP Name | The name of the authentication provider that is displayed to members. The name can be anything, so we suggest a clear and descriptive name. It can be a service provider, such as OneLogin or Google Workspace, or “XX Company’s Google Workspace account.” | | IdP Entity ID | The Entity ID provided by the IdP. The IdP typically provides this as part of the SP’s settings information. | | SSO (Single Sign-On) URL | The URL for the IdP’s login screen. The IdP typically provides this as part of the SP’s settings information. | | SLO (Single Logout) URL | The URL required to terminate IdP login sessions with SP-initiated SLO. The IdP typically provides this as part of the SP’s settings information. | | IdP Certificate | The certificate that validates communication between the IdP and SP. Please use a X.509 format PEM file prepared by the IdP. | It’s also possible to autofill the fields by Importing a metadata file (XML). Please note that this overwrites manual entries. To save the settings, select the save button (for manual entries) or the import button (for imports). The bottom of the screen will display DeployGate’s information, which is required for the IdP’s settings. Please configure the IdP settings with this information to complete the process. | Settings | Description | | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ACS URL | The ACS (Access Control) URL provided by DeployGate. | | Entity ID | Unique ID that identifies DeployGate as an SP entity. This is equivalent to the download URL of DeployGate’s SP metadata file (XML). | | SLO URL | The URL required to process logouts when using SP-initiated SLO or IdP-initiated SLO. | | RelayState | The value for IdP-initiated authentication. If this is not specified on the IdP side, only SP-initiated authentication will function. | | SP-initiated SSO URL | DeployGate’s dedicated login URL for the Workspace. | | Required Attributes | The names and values of the attributes required for authentication between the IdP and DeployGate. These attributes are required. If they are not provided, we do not guarantee any functionality and cannot provide support for operational issues. | | DeployGate Logo | DeployGate’s logo image. You can use this logo when registering DeployGate as an SAML app with the IdP. | NameID in IdP-initiated SAML authentication Please select urn:oasis:names:tc:SAML:2.0:nameid-format:persistent. It will not function properly with other formats. The labels for these settings may vary depending on the Identity Provider (IdP) you use. For example, in the Japanese UI of Microsoft Entra ID, these settings are referred to as Unique User Identifier (Name ID) and Persistent. If you need help matching these settings to the terminology used by your IdP, please contact your IdP's support team. Additional Attributes (claims) URI is also available instead of `email` attribute. Other Information Please use the logo image as an icon in the IdP settings. The SP-initiated SSO URL is the URL of the page where members log in. Please share it with members as needed. After configuring the IdP, clicking on “Enable SAML authentication” will redirect you to the IdP login screen. If the login is successful, you should be redirected to DeployGate. If you see a message that states the authentication was successful, the SAML authentication process is completed. ![Screenshot of Google Workspace ](/assets/images/saml-auth3-46caed702e979eb6b57363d75d5929e2.png) Transition period after enabling SAML authentication The 14 days after enabling SAML authentication is a transition period, and passwords can also be used to log in during this time. However, even during this transition period, SAML SSO will take precedence for users who have enabled SAML integration for their account, and their passwords will be disabled. ## Dedicated Workspace Login Page[​](#dedicated-workspace-login-page "Direct link to heading") After enabling SAML authentication, a Workspace will have a dedicated login page to log in to DeployGate. Please use the “SP-initiated SSO URL,” which is displayed during the SAML setup process on the DeployGate Settings page. In most cases, the URL will be `https://deploygate.com/saml/login/[Workspace name]`. ![Screenshot of Google Workspace ](/assets/images/saml-auth4-d7f26b90ccfa0972c99303c56cb1c800.png) ## Emergency Use: Password authenticated logins for accounts with Administrator privileges[​](#emergency-use-password-authenticated-logins-for-accounts-with-administrator-privileges "Direct link to heading") When a Workspace enables SAML authentication, the login authentication method will switch to SSO authentication via IdP for all Workspace users. Logging in with a password will no longer be possible. However, as an exception, **accounts with administrator privileges will retain the ability to log in with passwords even after enabling SAML authentication**. This is to ensure that key personnel can address IdP connectivity errors, configuration problems, or other issues that may require immediate attention. As such, please be mindful of managing administrator accounts. Only grant administrator privileges to necessary personnel and ensure that passwords are properly managed and protected. ### Logging in with a password after enabling SAML authentication[​](#logging-in-with-a-password-after-enabling-saml-authentication "Direct link to heading") To log in using a password after SAML authentication has been enabled, follow these steps: 1. Log out of DeployGate. 2. [Reset your password](https://deploygate.com/reset_password) using the password reset feature. 3. [Log in](https://deploygate.com/login) with your new password. This feature allows for a non-SSO authenticated login method for emergencies, such as during IdP connection failures Only use password logins in an emergency. For all other times, use SSO authentication with the IdP. Also, please ensure that administrator accounts have strong passwords. If you are unable to reset your password Depending on the conditions under which SAML was enabled, such as if the account has been separated into an Workspace-only account, you may be unable to reset your password using the standard interface. In such cases, you will see an error message instructing you to [contact user support](https://deploygate.com/contacts/new). We apologize for the inconvenience, but please contact user support for assistance. --- # Set Up SAML with Google Workspace Single-Sign On feature is only available for Enterprise plan. This document outlines the process to register DeployGate as a SAML app in Google Workspace. This operation requires “Administrator” privileges. *** First, log in to Google Workspace’s Google Admin Console. After selecting `Apps,` select `SAML Apps,` and click `Add` button. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml1-ce1c2893efef71b5a4ef65a949aa9f2e.png) ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml2-8e6ce497ba29a88d3191f5f7b2b07af9.png) The SAML Application setup wizard will appear. In Step 1, select Setup My Own Custom App. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml3-343cfb72f8a5b2a5432f554c6843b144.png) In Step 2, Google’s IdP Information will appear. Please enter this information into DeployGate’s SAML authentication settings wizard. Enter the `SSO URL` into the `IdP SSO Target URL` field and the `Entity ID` into the `IdP Entity ID` field. Download the certificate and upload it to DeployGate. Please use a clear and descriptive name for the IdP Name. After moving to Step 2 of the DeployGate Settings page, please click “Next” on the Google Workspace Settings screen to proceed to the next Step. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml4-fa572989a268d21f60d34619aaa03611.png) Enter the SAML app’s basic information in Step 3. Enter `DeployGate` for the Application Name. For `Upload logo`, upload the logo image file downloaded from Step 3 of the DeployGate Settings page. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml5-5a594fc916c1561f1c407f5124efaa93.png) In Step 4, enter the information for DeployGate as the Service Provider. This information is available in Step 3 of the DeployGate Settings. Enter the `ACS URL` in the ACS URL field, `Entity ID` in the `Entity ID` field, and `SSO URL` in the `Start URL` field. Check the box for Signed Response. Select `Basic Information - Primary Email` for the Name ID and select `Persistent` for the Name ID Format. After entering the information, proceed to Step 5 of the Google Workspace Settings. Please remain on Step 3 for the DeployGate Settings. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml6-f0f6f28a548e0a424e67e10bd7971df4.png) In Step 5 of the Google Workspace Settings, configure user mapping. Provide the user’s email address using the `email` attribute. Click Finish when you’ve completed the configuration. Obsolete Settings Previously, we used email addresses to identify Workspace users, but as of August 2021, we started to use Persistent IDs. We will contact affected customers about the expiration of their old authentication settings. Please update your settings as soon as possible. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml7-4b36f84448df5a484f078b64d5995f3b.png) If the configuration is successful, Google Workspace’s SAML App Settings will be enabled. Move to the DeployGate Settings, clicking on `Enable SAML authentication` will redirect you to the Google Workspace login screen, and SAML authentication will be enabled. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml8-1c5a7f041b07c5b430e233798cb53b4c.png) However, at this point, only administrators can use DeployGate’s SAML authentication. To enable SAML authentication for all or specific organizational units, click Edit Service in the SAML App Settings. Select the applicable audience (all or specific organizational units) and click “ON for everyone” to enable the service. Once enabled, users can use the dedicated Workspace login page to log in to DeployGate. ![Screenshot of SAML Google Workspace ](/assets/images/google-workspace-saml9-74bac64a4c0e2c16118d2a28ddf1f322.png) --- # Set Up SAML with Microsoft Entra ID (Formerly known as Azure AD) The Single Sign On (SSO) feature is available only with the Enterprise plan. This document outlines the process to setup SAML with Microsoft Entra ID. This operation requires “Administrator” privileges. *** IdP-initiated SAML Specify urn:oasis:names:tc:SAML:2.0:nameid-format:persistent for the format of Unique User Identifier (Name ID) and `user.objectid` for the value. For Additional claims, provide `user.email` as “email”. Microsoft Entra ID supports SAML authentication, and you can manage DeployGate accounts using your company’s Microsoft Entra authentication infrastructure. For specific configuration instructions, please refer to the official Microsoft Entra ID document, “[Quickstart: Add an enterprise application.](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal)” Please see the following table for the corresponding values between Microsoft Entra ID and DeployGate. | Microsoft Entra ID | DeployGate | | ------------------------------------------ | ---------------------------------------------------------- | | Sign on URL | SSO URL | | Identifier (Entity ID) | Entity ID | | Reply URL (Assertion Consumer Service URL) | ACS URL | | RelayState | Optional: Specify Enterprise's main page. Otherwise, omit. | | Claim | Attribute | After enabling SAML authentication, you must assign users to the application. Please assign DeployGate as a service provider for the account. ![Screenshot of SAML Microsoft Entra ID](/assets/images/saml-auth-microsoft1-166cb32e4caa19dfc209f71b0e2885f0.png) To register the app, go to Microsoft Entra ID, select Enterprise applications, and select Add an application. ![Screenshot of SAML Microsoft Entra ID](/assets/images/saml-auth-microsoft2-c159eee11d4a14d9ee627ec0f70691dc.png) To register DeployGate, select “non-Gallery application” to configure the settings. --- # SAML Authentication Settings with Okta The Single Sign On (SSO) feature is available only with the Enterprise plan. This operation requires “Administrator” privileges. *** IdP-initiated SAML Specify urn:oasis:names:tc:SAML:2.0:nameid-format:persistent for the format and Persistent Identifier for the value. For attribute mapping, provide the user’s email address as “email”. This document outlines the steps to set up SAML authentication with the Okta. * Adding and Configuring an Application on Okta * DeployGate Settings ## Okta Settings[​](#okta-settings "Direct link to heading") Log in to Okta and proceed to the Admin Dashboard. ### Add Application[​](#add-application "Direct link to heading") Select Add Applications from the Admin Dashboard. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta1-1b9d5c47b45966460cde88ee313b9c68.png) Click the `Create New App` button. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta2-784aaca0b7523943cf91ab58bd71030d.png) In the pop-up, select `SAML 2.0` and click the Create button. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta3-964b521baa8ee5c0f6522abff84f6103.png) ### Create SAML Integration[​](#create-saml-integration "Direct link to heading") In General Settings, enter "DeployGate" in the App name field. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta4-e6e6453f2bc01e3f2928bc51dfc41174.png) Please download the following image and use it as the App Logo. ![DeployGate Logo](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWIAAABGCAYAAAD2Fp7uAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3M0ZFNkVGNjUzMjExRTNBNkU5QzI2RTA3MUVENkE5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3M0ZFNkYwNjUzMjExRTNBNkU5QzI2RTA3MUVENkE5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTczRkU2RUQ2NTMyMTFFM0E2RTlDMjZFMDcxRUQ2QTkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTczRkU2RUU2NTMyMTFFM0E2RTlDMjZFMDcxRUQ2QTkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6z8dtmAAAa5UlEQVR42uxdB7gWxbn+OFSpQRRRiihFsRwUEAXJFRS9YoklCnaJijVivCrWeGMSG0ZjYkTR2FCMGiwxRolBglgRCxoVFFQUlK6ogILAyb73f//L/nNmZ9vsniXO+zzzPOf8/7+7s1Per8w339TbdovNxMHBwcGh7lBVgDps7pWJXlnolV+7LskNV3hllVde90p31xwOGwHqe+XnXpnllfleuccr7f4TXqxeATTiMV45w/f/AK+84MZcpujhlXd9///ZK0NdszgUHGO9cqryGUi5l1e+cRpxOnRS/t/ajbfMsa3y/5auSRwKDozREZrPt/fKURv7y1W5/nVwcNgI0AUWfMB3XR0ROzg4ODgec0Ts4ODg4IjYwcHBwcERsYODg4MjYgcHBwcHR8QODg4OjogdHBwcHBwROzg4ODgidnBwcHBwROzg4ODgiNjBwcHBITIapLy+pVc6e6WZVxp5ZYWU0ll+WrD33FRKyYWaSimV3koppdFbXKA6biKl/fRN2Z5feeVzr3zilXX/AWMN6U478v1qpJSCc55Xllp8Rm+vfOGVD3OYN304huZbVIrQPkiH2EJK2cRW8l1WFagf63MuYU618srXrN8cr6zO4Hnd+bydDL8BBw32/b+O9ZmXURu0l1L6zeZeWcN+mss5mwsRt/bKj70yxCt7eGWrgN+hYm94ZZJXJnjlnZwHCwYz0jru55X+JAEdvvTKNK8845UHSHp5obFXDvLKwVJK/YmMaLqkJujoGV6ZIqV0la9uJMSLsYGsWPt4pR/Hjg7LvPIix8qDXlmU8HnjvHI8J+HpXvljhlYkxst/kXiGeeUvCe9VzesHUog0DvjdXLbR37zyqOSf8hFz/Qiv7MU6N9L8Zj2FxvNeedwrT6Yk5h9wvA+O8NujpHYGNgj7u6WUNnNtyvffke+PuuxKRUkHKKDPSSm/+iMUUpEQNR8xJNIor5xEzS0u/umVqzjZVDzhlQN9/x/rlfsTNhhS4l3klWO80jDmtes5eK70yssZa+c/88pPDeRkwpteuZaktT5hHQ5ku5eByfNDS++H3LCXeuVQie/6Aok+5JVrvPJWjOs6KNrPEn62JoP++5FCvM+RlCPPObbNJdSq42K5V272yo2WrQmdwMFcvJBEFBeLWcc/xCEkHyZQ6UuLy73yq4TX7sOxPCjBtauoDFwXxWoKmyjQmC+WUvLlsxKSsPBF/sEB3CGDQdPEN3lPTEDC5bY4iJoHMv+3yaCew73ynpROGWid8B49KahAnjsXSAOGBoPE3dO9crgkW3+A2Xu0V17zyu9o+kXBVwrpwgI6MqP3PFP5f0FMM/sZakt9UrTzpRxHIyQ4NWRaYfoKrYwdE96jLZWv96hNxgFcnodZepfjElwDjnqMiuOghM+FC26kV2Z65QKO7UREDB/IZDamiYA/IwG+RhNqTYg2ATP7vy0OGuQifYmSu6FB251PbfJ1uiDWGjSWE/i7PSzVEYRyn1fuotvEpEW8w7acLWbfYD9OlhEFIOFdWOdTDWNqLdv9DY6BeRLs+27AQTw9IhF8RZPdRJi2xtq+ymd3Rrz2GLbRIEt1gWV1G0m9lcV3/CmVkd6W7rclXQxjqTBFVaxsBRI0i/n7fTk+D7E490dTEd0iLhF3J7npzFWYQzexwlhUaE8tDRJ+G0qCakqBGZrr29DXdZKFl+zNQbNLgIAYTb8WOqMjf4drtmY9+3rlMkptnTtmMoVHGrThfY7VfLeS2vch/B06aie2ZXfWezsp+TynBgzY2+hOyUIzioLBNM+31XwHn+EVFBpN2e696GfrxPcbwPrPC3A1Pc/fhGGM8n//gHGRBqcrc2YOJ1gYLqIgbp5B+x/KsZH2lBWMn99ybjfOoJ4Q0hOp0Udxa9haV5oS47cne+WpjKxhCOCXJeB8SJ2PuGtAxyIi4pcc8CtjVADa72+k9qonnOnn8PskPuKdSQCtNIICfqE7JLqPsIrm9GgKEz/W8bvHEzR+K9ZxZ412CP/ZtRLPz9ebbTlQ8901dCNFgS0f8d4cuOrizXxaKA9K9IgPaMHH0wJrp/G34VnTQu7xL2Wc3S61zzhLik34Xpv6PjvfK9dHIOGrcxCIcyh8liS8Xj07MiugD/eJwCG7e+XvKbX9j6Tkv48S2YJxcmsOCs0iKhZzTETcmuauevQImHyYJI8qwCTDCc2jlBcFGX+pSMkoRNyRZp4aDfE0J/PiFJPtRs3kXUXymx7znf9OAvFjNtvyjRSay1kkZFVzgWD7fU5EvBOvUyfKeE7orxO+X2ua+4cqn39Ozfp9w7VnKJrxCo6V5RYm0E8UNwQiFzqwXqZr7og4uddyTLzH8daM1uaOEhz1oyO5QRI/qmIUlYIoWE233fv8uz4tnT4RtV2hFTEkgpDuSD7oxLYIsk5nkLf8dQTRjYvY9wdQ0aofsf5YM5tJJaoRLdndYmjSqBvcnst0RFyP/iZ1AsC/c5zYWYE+joPZtJgWRsS4FlEYe2ok+kixE3N7LjUd/wT6mCb1FxHvcS0HuB9w9xwUMnmjYi8Onpa+z9ZQAwjTHNMScXMKpe2Vz/+XVlNa1GP7XaB8/ga1vm8N9fqMLrO4wikM06Vyge2uEPfaTuyHpiH3BfHeIKVokeUBbYFJC9/tURLuOx1LF0qccfRMBBJ6nfV8VPRrF/UpBEZyjIcJn7hjZQCtS0lpDaroxHcLI9GPyTH3cYzprOo+bPtjRR/i5wfcswdTGa3o1KM1JPw4P7cVBnQftYSaFPc4R0PCt1BLtLXx4bcaEtiaroso6EuzVR3IQyyRMPAs7+efFI1IEA0lW/xSQ8JXWCLhsqUEIXad8vmuIRNuBbUgP063YG72ldpRDmNCXF13hZDwao4REPZtBs2thgL8WGpdb4bU9TSa/lHQhPU0kfBXnLN9aO0ELSBj7k2i1jqQbgETfi7FiPoZE0LC30lpHak75/9nAb9bT60cwrmnQWj4laET/AOmbJKrvq63ScK2d3WNT+Eza0tJKoo2d04GHXS9ZlLDmR9lNfkmRcgtofT70nIdX+TE86MHtaesAAI+W/kM2twvMngW/MxPaczoTiETS22PtJEKagQGJtyrIS4JU3jaMpLV9RJvs0E5kufRmOMvCFA2tgnRAvG8u2MqT1hj6kVlweS6+10dk/ABUrk+pQLWL1yLV8ZURmfxultDfjeaVtz/dxYIpp3irzpWsttaebnoIyrC8DOpXHmGiTqcUisLnCuVix/QrC4JuWY/alCqVvZZRnWElTFBM8GaZPS8i6RyR+ZCjTCwhRr273JFi7vAcM27GgJIE8pW3qUZVRtuwDYKwipO/qSbhjDmj1RcS6IRPodHcC+ZFBiMe0TEzExYz+UkOpObbJBEi4jJCpeG9NMQKnpJAA49g9aOSbE8xU/E6mopLn4rwwZYl0CLhbmtxszC9/dBhvX8XEO8cN9sZbjmLOV/hK49kvGAOk+R2Ih4OSKD52xKK8mPS8TOYlgQsPCq7owCObeIoRUjPLB9wucPl8o4+qW0AIIA8upq+H6khPvwo8wfmLWmXAphERDDQkxyvPeclPVcRSG2PEU9swJCG/uHKH3TLDznbKlcSBSNkvZ/RIyY3x0UX8e1OTQEzJeXYvx+sFRuhgDx3JhDPccp2mwVB7EOWDXeX/nsqhzqiGiWB5TPhmbwHGhZ/kWI+dTIs4bqQ20eYlJiV9QCRUtNEsZWJbUXvmCmm6ISjgpxJd1pqU2+oMUWhIFiji0+2vAdLKwnLY7Nyw3fHyLJd+ymQVg/2cpVsoYWY5CLF/sEdq2iKe3HFMkv+c29MX6r7sZ7QuJtL03TkOOVz4IWQwZoiOqfObXlPcr/e0v67HqiuacfD2ToFvIDi3APa1xApj5TJ9IIib+IiTHXRVFSwvx++xq++5WkW6hWAUvrXwYhsnfAd3Dv7Gm475UZCNKFAd8hTG8PyR+mfrracj/NELMraZ8GmkZ4KsfGmBjjt7vVYT2hHfj9kv0Cftdf837rc6rjVJqCTX0DHJaOTRdTf0275AXEZJ9sGA+6yX+xTxhBOzwsxK2g4kxNHUyuMETWBLmtkJnracttArJA1MMNhv4ar/m8lwSvIcySZOs3Jqym5XR+wPf9clRYhHOkZ8B3UCzg9rKdq+Rjw3d7YJCqW+5eybFBEOKyVMz5F8pQ6zkpx3piYeVb3+DdlEUNReuh/D8txzqWNwTsqbTZWxYH79YKCeQ5VtRndaXWFyToYI08LpWLVmfEIOLOUlps8mNMzDHqxz8yEsqmLdbdAj43+bD/mlH/PW0g4u1y1oaxHT8oZA9W0/0516c7BrKaDe2DnCsRJYl3Yw1Zf0QyyKN8o9EgdIs/bRO8m02ofbeVxXur74atmitzfLf5ihukiVRuN9ZBJc6BUrkeYoKaV2JuBAvAtCD4dkbtMsvgHtoq5uciyXd8hsH0/lvlPE86SrHQoUpqZyf6KudKRImtbSbFg24PfIsE72YTKzJst7p+t3Ua4g/btTaZRGVyNwQJ/pOVz26NoNGa6rMoo3aBJbQsYp+Zxm4ZSzKq54ICze+i8UlzELG666gm50qoz9MFTteT4mFpgnfLuy3r5fisIr4ffn+L8hnCvsKyoA1VLDD4OO+IUL96ddReNRt5vzbP+XlF45PVVRoto0Uda5a6TSQrC9Ro0Myu02haOvwg57o1y7DdVsTQqrKAznqLsuFonFJ3jO/jQ65RteYHIwpeU33aZtQu8HXGTdtosno3y6iebQs0h4vEJ8BELNZ9qhDGtpJPWFgZnZX/dSnrsFCGhTG/T7Ba7B3cGAeoS9TsVtvkXLcuyv8LLd5bNVnb0RTP62BL+F8bKZZTlLwdiD/+k1RuBjpToymXgXwWaiTRLRbM7x0yapduEp5gRmKMi2oKHtvYUYqD+QWqC8IPR4KIZyuNhD3yL+RUCTjN/Vnr4YMLWixEPXf3/d9LgmMoi4LeEU1aW5qRGpLznmWN+FPZsCBVj33wfI5t6ccciZ4HZYxCxEi0gyx1UyNow8jvEHU7silF52C2mW3Tf3CCa0w75pAT5dIM+m/fAs3LD8k1unwcWPjErrq1OdQDAhFhuN+BiBFi5c+6hiD2vJJxqEH5bxvMhlcVIsY+8HsKTsT7ZzT5dEAspj8lJrT2dy0/AzuOjlT6IC8iVjf0vBbj2hmse3+FcFUihmV4jIbE40zwxQFmOCy/gWI/XvbEBNe8RotCp0kjIxrCMGdarCN45rgCzcsV5JpqzXcIX8NO2sfyrBAkwiSN5Noyp+ernfOM4bdqvCTS7bWRYgOuiT1zepbq95wq9k8xVknkaLF3tpgJCFVTc2fEjSNX3QuHacb5cKmMfIBbI25MqaletjXNAyTZIaSrQrT8iy3Xc7hkGzKWZIu0iWsulJwX9Kqoac5RpNd5OTx7N6l95M8Dht9PlMp8A2j8s6X4uDCHZ2yhIeKHMnjOw4rJBkEzNIf3w0TeTNH24x5dhfbwL7hBG/SHqGHiqQlo7pL4p12Y/KvYGj/MUps0T2m5PhCiIO1lcWzayLfyreG7tpbffw+pHb6YOREDY5XPkc+2W4bPxaBXE/YgkNy0U2s1J4YfEBgdCk7EB4ndU6t1GC21M4RlseCyWGrnfECCqCzjMnF0kppwfrzEz/imyz9xqmzYAg1fq39nnC70LQqgMJhytYyV9AnRMX9wHl/XFPfAAuaXhvuPtzC3GvE5m1sYB6YFxr4J7veKmDevQMjtkhdJlIkYwer+oPDG7IhGGT0XWqKatyBKopHrFckIrQCLYfWl2LhdsgsLOlSjDUPIZRWig4Qo/o0NnSTbNYWxykReK9FPSlGhbsqAuXww/1a1YbjCZid4Bgj/OsP3rUjWOyV8BwiOu8WcPSwKIMhM/u/2bIOtE96/KYX2IEvjYIHBOkG0UJK8xleG1H+SmFNlhglLWHI4jRrRPZPFkB+lTMRwXl+icR3cmYGvBL7dXyufwfcYJWcvVu2vUT7bT3O/ogETfoKE7wSLi56clP4++kjCTxZOgzc1miXMuCxOScGYPFKjqcxOeD8kXvmb8tmZCiGXMSZFvSE8wrb0IgXsSTHnVzfOlRMsCtVPDd/jNJbpUvsItTBAk5xGa9AW1on5mKgxCSyzR8S8eIo1KPiSz5J4ayFwlfyVFvwOtOoGkYy7mIhYOLlUBzZO6bjNosb5I/pm/PfDab+nS/TIgms1JsVFJGNbQmNf3q+fxYEEn9tjYm8XUW9K7FbKYD1FzP40G7hYameTwjl/Z1t+hqqxIBzvFynvqxIs/La/kcqUoZ9oCDsOvmM/mBZLy9bcNAqbxiGE+AcphWvaPNECc++0kLkHa+RRcsMBIVzQm4rB9BQavwmmhVC4e16IqcHW8P1NJ443YdvPoMJhUqbgD4cbDZu9Dgzoc+3Brv5TnMs3elXjG0LmJDjwk+5DB0GOIrk1UBoCJlbchaVu7Gx1dxf8oiMk+VHuTalxneIzM3tKtF10wFtS6f9boSFedOjQFFpdWUDeqrl31JNx057iDPSlNqEOTAxaZNlanaIPbqZZ58cqCsa02eSqSOgm/+plYicn7zkS/fACjJUXWbdV1O7ak9CSrtd8EtG1gHkZNaLjC2rz77OP6/MZu4v5LEETIGCqI/xuB5r6YZhFfoA7YxGFqimmfigVxCiK3BreG89Y6uPNaloCYZozfObHhBFxWbI8S3Xaj6XUUu6ReMnA+1Jb0kmqUSH+NBP604elEsE83hfkHjXtIDrgEJpq6unEIyR6tn6ViGEB4DinzsrvvuHgB+nH8eViQo4OMBVvkehns9kg4vL7PaLRkjBI/0fi5Ywu9wHcKttqBv8QmnY2cL5h3K0hodhK0nO1mM+wyxJRiRhtfy8FfF0gKhELx+2BMe+PdQUc6Go6TWaU5HMy0RU6q64qoFGQ2V9dpQRj305N7gqaIUFmSgeq8ZNpevXXmATnpyBhofaADlH3zXek1HmXE2Bng6TrQnP6TZpf22v8Ui+nqONcmpLqxopNqHF9TCH1Q4NpujklNtwaMwNI+Fapm1A+hJAN02i/aMcn6UKCVridgQCg5ZzHcfeohoShHR5mkYRFzGFpD4vdTGmXSPLFxbxQPqS16BukykI0bkghrPDbpHIXr4rRvHeWm68WSMDag04j9pPUBDGHcMAX+QG1ZWjJbUiEm4WYYKeSLG2gmvXsFvJMLGIto3TcjFqPKZ/tMrpN4mwcUDXiahIMnjMuRJKvYR2XsF1b0jRtHyLpL00w0VWNeLlUHg+/nPecHvF+e9G0a2f4zXIKnmUk4Da0FFqGaHTwn2aRgP4ujftDKBSz2C0Ia+UGMfuCk+A5CrM2KTRiv2C8jC4u25FIIPkTLWjEZdfcvRJ/TejHEh4UcBQVTtsZ4d6kEjU3LhEDcFTD53iu2Dn/bCpN/fctv2RLateniJ2dXtD0EM70Wczrgoi4PMjPpTVho5PfoUB7McG1KhHr8AWFalTXSTu6YWwcMVNDM/JcCc61mxa7aQge/dczQ42oFyd5Lwv3ghVyFcsHovfPxiViv2CFBtndQj0XcZw+To1QJ6zhYtwv5n1hcd8cU7AhiiPKImx3vr+NTS1rafVeLoZF9DDS+pa+EwzO+yV6khUV5QWqgRmQsNA9gdXPfuzwpOYFtAtETBySgISjkMsNsmEF/JuE94HWjHCaXROSMBAlqXvrEA1XxUL2MdxaafIpIMYWCXlOyJCEhW4edWKMkWyBBEJ9SSJJF2tBwAgr7UElKYvkNM9SoYBbaV7Ce2D+XEBSK++C/HPAbyckuP8dFKZTIv5+Cd8rCsBRg6hUJD2/7ztaidXkUGMkU5hGrAK+X+QXGMIBFRS3t54DfRIbOa/EMGVg6+0xlLJ9JfigxO9oMkzkIEm7Im/SiFUgwQzyJyB+dUCIm2Q2BxzqODmFQCyjIUm8TwghHpBCqPVgH+zD5zQ0EMt0jpX7JV00SRxASxurCKcOUjvvclaoohtkGBWUHiFunZdpxehyI39sWSP2oz7n0RHUELuECOOpNP/h71fD97Cw/pBscNHVUCk5R9L5ZjHHj6MS1V2jYC5h/acmvP8AXj+Y/RSkwH7NsfwE3/PTyD6hmESsDiSYrp1JyI04iNEZcyT7WNaoaMDB2IkDoQHruYiTfrXFZ8UhYhVIQNOVdWxGLf9ztmUWx1c1ofbaLMAtMVnsHXbZkMKxI98Pk24Vta25Ei8KxxZmKG6Im7wy0uL9EXa2O0lgooQnYGrO/seEbEHyXcqyMISoMJbbZkTEKlqynlAcWnEuYXx+KNEXOas5H2eK/TMym5OTtuDfGGcviL282U34/u14f/TrSpLuR0mVpDRE7GCXiB3yQ3+pzLldQ+K0lTYUG0QQvldeTHqFWmUW5/y1MAjqWSGatkNBUOWawOF7CDXeeopFEkZs9XlSuaIP0zmLdAEi5kicj1xXOyJ2cCgiYAKqkR02F+n2D/j8cClFgdhEPTGnrH3NdbcjYgeHIgIhjv6sgnmexoBddoMs3g+7xUwLrk+67nZE7OBQxPF+mvIZ4kVthoCZSB0CANEEvS08BwT8e8P3WK94yXW5I2IHh6IBYZedff+vJRHbBBJkmTYNINIAcdaHpngG4rURimVK+3iT625HxA4ORYS6SAftdEEGz8EJN6YMgIh0QKwttlnHOR+yLQUHNgqYzmlDpM7drrsdETs4FA2IY1YX0rLaSTdXSnksTLG/5RMcEH+LPAzY2NNa8zts/MHW3D/yviPEHH2B+P2fSD7HwTtYQgPXBA7fE5yuKB4IV5uS4fOg8SLz2tUhv8MGgRNkw6kbOBewHBfcUuIdjAnix2Kki5ZwROzgUDggMcxJOWnDfuBYL4TLxTkVva0kO5W4hs8Z77p744NzTTh8HzBUKlOzYlvuuJyejRy3SPqyPsNnwB0xXEpZvhwcETs4FBLqCc3IZft1js9HilYkzPkgg3vDxbJ7joLFwRGxg0Ns4MQP9RDYMXVQD2QgRJKhqy0JASRmwtFlSIf6lutmR8QOG7DY9zeyMC1wTVLnQHYsf/QCYnjfrqO6IEsXFvAQwYEDApKk/ETaVoThIXvZNRKe1c1hI4DLvmYX0E6Qf3lzais3uyYpBNAXOAIIeXuPEHsJfmwAp3UgMxuSnCNTGhbqcOwR/L7I1ob0iogLxlFW2LL8oetOR8QODg4ODpbxbwEGAMzFtGuKzdF6AAAAAElFTkSuQmCC) ### Input SAML Settings[​](#input-saml-settings "Direct link to heading") ![Screenshot of SAML Okta](/assets/images/saml-auth-okta5-320e696ea1141a7a57f3298dd612b55b.png) Enter the following information into the SAML Settings. | Item | Value | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | Single sign on URL | | | Audience URI (SP Entity ID) | Please obtain this information from DeployGate’s screen. | | Default RelayState | Please obtain this information from DeployGate’s screen. As of July 2021, it will be displayed in the following format. (e.g. s;;) | For all other fields, please use the default values. Click `Next` when you’re done. ### Feedback Settings[​](#feedback-settings "Direct link to heading") Select `I'm an Okta customer adding an internal app` and click `Finish`. Other fields can remain blank. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta6-86fbdf2ba3d21b2d0f4395504c75a1dd.png) ### Obtaining Settings[​](#obtaining-settings "Direct link to heading") When finished, select `View Setup Instructions` to obtain the settings to be entered into DeployGate. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta7-e2ac9064c71d25a3ce71833a3ab97e5b.png) `Identity Provider Single Sign-On URL` and `Identity Provider Issuer` values should be copied or written down. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta8-6d72b7a0d527174f2aacfdbe24677eda.png) X.509 Certificate Is also required for the following steps. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta9-a76324fa188813f21327cd70c585dbc7.png) ### Set up accounts in Assignments[​](#set-up-accounts-in-assignments "Direct link to heading") Next, go to Assignments to set up user assignments. At a minimum, the individual who is configuring all these settings must have their account assigned. Otherwise, they will not be able to complete the setup in DeployGate. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta10-08f336fe3624873e632a9a4c4ddaa07b.png) In Assign, select and add People or Group, depending on who you would like to be able to use DeployGate. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta11-8c98ffc099fe695cce6f5c9d0a5a9481.png) Assign Everyone to make it available to all users. (\*optional) ![Screenshot of SAML Okta](/assets/images/saml-auth-okta12-099554bed21a49f8069f770ffbdd0ea1.png) When you’ve confirmed that the assignments were successfully added, proceed to DeployGate’s Settings. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta13-ad3bd464df5e449cd69617e29d092be6.png) ## DeployGate Setting[​](#deploygate-setting "Direct link to heading") Open the DeployGate Workspace Admin Console and select `Enable SAML authentication` button. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta14-d353b4e84132aa1a4cc4044712dd1771.png) ### Enter authentication settings[​](#enter-authentication-settings "Direct link to heading") Enter the required information into the authentication settings wizard and click `save and continue` button. ![Screenshot of SAML Okta](/assets/images/saml-auth-okta15-aee17e7ddd9b538c84961ac7e1226f17.png) | Item | Description | | ------------------ | ----------------------------------------------------- | | Idp name | Okta (or your choice of name) | | Idp entity id | The Identity Provider Issuer obtained earlier | | Idp sso target url | Identity Provider Single Sign-On URL obtained earlier | | Idp certificate | The X.509 Certificate obtained earlier | When uploading the certificate, if you’re unable to select the file, you have two options to set it up. You can either change the extension of the downloaded certificate file to .pem or drag and drop the file directly to the Choose File button. ### Verifying the settings information[​](#verifying-the-settings-information "Direct link to heading") Once saved, the information to be entered into Okta will be displayed. Please ensure that the displayed information (especially RelayState) is identical to the previously configured information. If you’re satisfied that the information is correct, click the `Enable SAML authentication` button. Steps to take immediately after enabling authentication * After clicking on the “Enable SAML authentication” button, you will be redirected to Okta for authentication. You will also be prompted to log in to DeployGate again for confirmation. * If you log in with the email and password of the current account, you will be logged out and the configuration will be completed. These steps complete the configuration process. Once finished, please use DeployGate’s `Login with SAML authentication` or Okta’s Applications selection to log in. ## Troubleshooting[​](#troubleshooting "Direct link to heading") ### In the case of showing “Sorry, you can’t access…” error after enabling SAML authentication[​](#in-the-case-of-showing-sorry-you-cant-access-error-after-enabling-saml-authentication "Direct link to heading") ![Screenshot of SAML Okta](/assets/images/saml-auth-okta16-a3362591aac2f20c9fdf22b3612a0beb.png) This error appears when People/Projects are not assigned in the Application section of Okta. Please follow the steps outlined in the Set up accounts in the `Assignments` section above. --- # SAML Authentication Settings with OneLogin Single-Sign On feature is only available for Enterprise plan. This operation requires “Administrator” privileges *** OneLogin, Inc.’s OneLogin supports SAML authentication, and you can manage DeployGate accounts using your existing OneLogin account. Please see the following table for the corresponding values between OneLogin and DeployGate. | OneLogin | DeployGate | | ------------------------ | ------------------ | | Issuer URL | Idp entity id | | SAML 2.0 Endpoint (HTTP) | Idp sso target url | ## STEP 1: Add App[​](#step-1-add-app "Direct link to heading") First, log in to OneLogin and go to the Add Apps page. Search for “deploygate” and click on the `DeployGate` app result that appears. ![Screenshot of SAML OneLogin ](/assets/images/saml-auth-onelogin1-528705bb5b0f7fcaf9c99c157e3d13ed.png) Then, click on the “SAVE” button at the top right of the page to add the app. ![Screenshot of SAML OneLogin ](/assets/images/saml-auth-onelogin2-dc94b770ca72e70723c5a044547f22d8.png) ## STEP 2: Obtain Configuration Information[​](#step-2-obtain-configuration-information "Direct link to heading") After adding the app, obtain the configuration information to be added to DeployGate’s SAML Settings. The information is available in the SSO tab of the DeployGate app that you added in Step 1. ![Screenshot of SAML OneLogin ](/assets/images/saml-auth-onelogin3-e87ec419ee053be00242d91cc01cbdfb.png) Enter the "Issuer URL" and "SAML 2.0 Endpoint (HTTP)" values ​​in the "IdP Entity ID” and “IdP SSO Target URL” fields of DeployGate’s SAML Settings, respectively. To obtain the IdP Certificate, go to the SSO tab’s “X.509 Certificate” and click on View Details. ![Screenshot of SAML OneLogin ](/assets/images/saml-auth-onelogin4-59e210167e653dc295a9fdbdf45f72c5.png) ## STEP 3: Configuring RelayState[​](#step-3-configuring-relaystate "Direct link to heading") If you enter the SSO configuration information into DeployGate’s SAML Settings, the RelayState will be displayed. ![Screenshot of SAML OneLogin ](/assets/images/saml-auth-onelogin5-6b97b595a6a36e7d6d89909076893ba1.png) Return to OneLogin’s DeployGate app. In the Configuration tab, add the RelayState information to the RelayState field. ![Screenshot of SAML OneLogin ](/assets/images/saml-auth-onelogin6-da5445b7b0347d517c1a797ab5ba2767.png) Finally, click on the `SAVE` button to finish configuring OneLogin. Return to DeployGate and enable SAML authentication. --- # Rotate the certificate for SAML Authentication Only available for Workspaces with single sign-on enabled using SAML authentication This document outlines the process to rotate the public key certificate used for SAML authentication. This operation requires Administrator privileges. *** There can be only one active certificate. You may experience some authentication downtime while DeployGate and your Identity Provider (IdP) complete the certificate rotation. Please consider this downtime when planning your certificate rotation work. ## Rotate the public key certificate from the Admin Console[​](#rotate-the-public-key-certificate-from-the-admin-console "Direct link to heading") ### 1. Download a new public key certificate (X.509 format) from your IdP[​](#1-download-a-new-public-key-certificate-x509-format-from-your-idp "Direct link to heading") Please download a new public key certificate in the X.509 format. Please contact your IdP service for download instructions or assistance. ### 2. Update the public certificate key from the admin console[​](#2-update-the-public-certificate-key-from-the-admin-console "Direct link to heading") Open the Workspace Admin Console and select `Authentication` from the menu. In the `SSO Authentication Restriction Settings` section, select `Edit configurations/certificate`. ![Screenshot of sso settings](/assets/images/saml-authentication-update-certificate1-e3173d730ccb36e1185a50c1b286edbd.png) In the `Public Key Certificate` section, click on Choose File to upload the public key certificate (.pem file). ![Screenshot of saml settings](/assets/images/saml-authentication-update-certificate2-76fcf09b37d965c4f1966ec2113ba6d9.png) After uploading the file, select `Change` to rotate the certificate. ### 3. Authenticate[​](#3-authenticate "Direct link to heading") Please check if your account or test accounts can be authenticated through SP-initiated SAML and/or IdP-initiated SAML. DeployGate’s public key certificate rotation process completes if the authentication succeeds without any errors. ## Rotate the certificate via the Web API[​](#rotate-the-certificate-via-the-web-api "Direct link to heading") Please refer to the [API Reference - Update the certificate for SAML authentication](/docs/api/enterprise/enterprises-saml-settings-update-certificate.md) document for more details. ### Preparation: Obtain the API Key[​](#preparation-obtain-the-api-key "Direct link to heading") Please refer to the [Admin Guide - Using the Workspace API Key](/docs/administrator-guide/api/enterprise-api.md) document for information on how to obtain the Workspace's API Key. You can also visit the [API Reference](/docs/api/.md) guide for details about obtaining a Workspace Administrator’s User API Key. We recommend using the Workspace API Key for the smoothest operations and to avoid permission issues. ### 1. Download a new public key certificate (X.509 format) from your IdP[​](#1-download-a-new-public-key-certificate-x509-format-from-your-idp-1 "Direct link to heading") Please download a new public key certificate in the X.509 format. Please contact your IdP service for download instructions or assistance. ### 2. Call the Web API via the command line[​](#2-call-the-web-api-via-the-command-line "Direct link to heading") The following code sample uses “curl” to call the Web API. If you would like to use “wget” or other commands, please ensure that the “idp\_cert” field is a file part instead of the certificate’s content. ``` curl \ -X PUT \ --url "https://deploygate.com/api/enterprises/${Workspace Name}/saml_settings/update_certificate" \ -H "Authorization: Bearer ${API Key}" \ -F "idp_cert=@${Path to the new certificate}" ``` ### 3. Authenticate[​](#3-authenticate-1 "Direct link to heading") Please check if your account or test accounts can be authenticated through SP-initiated SAML and/or IdP-initiated SAML. DeployGate’s public key certificate rotation process completes if the authentication succeeds without any errors. --- # DeployGate API Reference DeployGate provides API to support the automated management of applications and users. Using these APIs, you can customize the upload from CI and link member additions/deletions with other systems. * You can see API keys to call the API from the account setting. * You can use different APIs for Project/Organization and Workspace. * [Notice: For Using Project/Organization API](/docs/api/group/organizations-api-notice.md) * [Notice: For Using Workspace API](/docs/api/enterprise/enterprises-api-notice.md) Use these APIs from an AI agent Most of the operations documented here are also available through the **DeployGate MCP server** (`@deploygate/mcp`), so you can drive them from an AI coding agent in natural language — without handling API keys yourself. It works with Claude Code, Codex, and any MCP-compatible client. See the [DeployGate Agent Plugin](/docs/developer-tools/agent-plugin/.md) and the [Standalone MCP Server](/docs/developer-tools/agent-plugin/standalone-mcp.md) guide. ## Confirm API Key[​](#confirm-api-key "Direct link to heading") There are 3 kinds of API keys in DeployGate, for users, Projects/Organizations, and Workspaces respectively. ### Users[​](#users "Direct link to heading") API Key of the user is listed in the profile page. ![Screenshot of API Key of the user](/assets/images/api-key_user_en-eae685da0a60c430c1c6a43680c21e57.png) ### Projects/Organizations[​](#projectsorganizations "Direct link to heading") Press "Show Project/Organization's API Key" to show API Key of the Project/Organization. ![Screenshot of the Project/Organization page](/assets/images/api-key_organization_en-9c98d7f51ce220aa755055ec984fe6fb.png) ![Screenshot of API Key of the Project/Organization](/assets/images/api-key_organization_en_2-ee6108d1aae60bfbacdd726de7619a08.png) ### Workspaces[​](#workspaces "Direct link to heading") Review the [Using the Workspace API Key](/docs/administrator-guide/api/enterprise-api.md) page. --- # Add Team to App `POST` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/teams` This operation is allowed to Project/Organization managed App only. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ---------------------------------------------------- | | ORGANIZATION\_NAME | string | true | Project/Organization Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ---- | ------ | -------- | ------------ | | team | string | true | Name of Team | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/teams" \ -H "Authorization: Bearer ${TOKEN}" \ -X POST \ --form-string "team=${TEAM_NAME}" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` ``` --- # Remove Users from App `DELETE` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/members` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Form Data[​](#form-data "Direct link to heading") | Name | Type | Required | Description | | ----- | ------ | -------- | ------------------------------------------------------------------------------------------ | | users | string | true | Username or email address. Use a comma (,) to add additional usernames or email addresses. | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/members" \ -H "Authorization: Bearer ${TOKEN}" \ -X DELETE \ --form-string "users=${USERS}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "invite": "member remove success(Warning: some users were not a member [ non_member ])" } } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` { "error": true, "message": "tried to invite existing member", "because": "tried to invite existing member" } ``` --- # Get Users of App `GET` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/members` *** Caution App's owner itself isn't contained in the response data. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/members" \ -H "Authorization: Bearer ${TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "usage": { "used": 2, "max": 1000 }, "users": [ { "name": "existing_user", "role": 2 }, { "name": "another_user", "role": 2 } ] } } ``` --- # List Shared Team of App `GET` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/shared_teams` This operation is allowed to Workspace Projects. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ---------------------------------------------------- | | ORGANIZATION\_NAME | string | true | Project Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/shared_teams" \ -H "Authorization: Bearer ${TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "teams": [ { "name": "Name of Team", "role": "owner", "member_count": 1 } ] } ``` --- # List Teams of App `GET` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/teams` This operation is allowed to Project/Organization managed App only. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ---------------------------------------------------- | | ORGANIZATION\_NAME | string | true | Project/Organization Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/teams" \ -H "Authorization: Bearer ${TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "teams": [ { "name": "Name of Team", "role": "owner", "member_count": 1 } ] } ``` --- # Add Shared Team to App `POST` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/shared_teams` This operation is allowed to Enterprise Project/Organizations. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ---------------------------------------------------- | | ORGANIZATION\_NAME | string | true | Project/Organization Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ---- | ------ | -------- | ------------------- | | team | string | true | Name of Team to add | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/shared_teams" \ -H "Authorization: Bearer ${TOKEN}" \ -X POST \ --form-string "team=${TEAM_NAME}" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` ``` --- # Create an App’s Distribution Page `POST` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/distributions` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username or Project/Organization name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | title | string | true | The Distribution Page’s title | | revision | int32 | false | A number representing the revision on the package management screen (Example: # 1)
Default: Latest revision | | release\_note | string | false | The Distribution Page’s release notes
Default: Revision's descriptions | | active | boolean | false | Enable or disable the Distribution Page Feature Flag. Change by selecting one of these options.- `true` (Enable)
- `false` (Disable)Default: true | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/distributions" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ --form-string "title=${TITLE}" \ --form-string "revision=${REVISION}" \ --form-string "release_note=${RELEASE_NOTE}" \ --form-string "active=${ACTIVE}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "access_key": "${ACCESS_KEY}", "active": true, "title": "title of the distribution page", "release_note": "release note of the distribution page", "release_scope": "${RELEASE_SCOPE}", "max_members": 100, "updated_at": 1709033626, "application": { "package_name": "${APP_ID}", "os_name": "Android", "name": "DeployGate Sample App", "version_code": "1", "version_name": "1.0", "sdk_version": 21, "raw_sdk_version": "21", "target_sdk_version": 32, "signature": "^[0-9a-f]{40}$", "fingerprints": [ { "md5": "^[0-9a-f]{32}$", "sha1": "^[0-9a-f]{40}$", "sha256": "^[0-9a-f]{64}$", "max_sdk_version": 2147483647, "min_sdk_version": 21 } ], "lineages": [], "file_size": 1441970, "md5": "^[0-9a-f]{32}$", "revision": "${REVISION_NUMBER}", "info": "app info", "updated_at": 1709000986, "revision_url": "https://deploygate.com/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}", "sdk_abilities": [], "path": "/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}" }, "url": "https://deploygate.com/distributions/${ACCESS_KEY}" } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "message": "revision not found", "because": "revision not found", "error": true } ``` --- # Remove Team from App `DELETE` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/teams/{TEAM_NAME}` This operation is allowed to Project/Organization managed App only. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ---------------------------------------------------- | | ORGANIZATION\_NAME | string | true | Project/Organization Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | | TEAM\_NAME | string | true | App team to delete | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/teams/${TEAM_NAME}" \ -H "Authorization: Bearer ${TOKEN}" \ -X DELETE ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "team name was leaved from app name(Project/Organization name)" } ``` --- # Delete Distribution Page by Name `DELETE` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/PLATFORM_TYPE/apps/APP_ID/distributions` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | distribution\_name | string | true | Distribution name (title of Distribution Page). If there are multiple pages with the exact same name, the request will fail and respond with status code 400. | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/distributions" \ -H "Authorization: Bearer ${TOKEN}" \ -X DELETE \ --form-string "distribution_name=${DISTRIBUTION_NAME}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "message": "deleted successfully" } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "error": true, "message": "not found", "because": "not found" } ``` --- # Delete Distribution Page of App `DELETE` `https://deploygate.com/api/distributions/{DISTRIBUTION_KEY}` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------ | | DISTRIBUTION\_KEY | string | true | The unique key of distribution page. This is last 40 hex digits of URL path after`https://deploygate.com/distributions/` | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/distributions/${DISTRIBUTION_KEY}" \ -H "Authorization: Bearer ${TOKEN}" \ -X DELETE ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "message": "deleted" } } ``` --- # Delete Revision `DELETE` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/binaries/{REVISION_NUMBER}` Delete a specific revision. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ---------------- | ------ | -------- | --------------------------------------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | | REVISION\_NUMBER | int32 | true | A number representing the revision on the package management screen (Example: #1) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}" \ -H "Authorization: Bearer ${TOKEN}" \ -X DELETE ``` ### Result 200[​](#result-200 "Direct link to heading") 200 OK ``` { "error": false } ``` ### Result 400[​](#result-400 "Direct link to heading") 400 Bad Request - Latest Revision ``` { "error": true, "message": "Cannot delete latest revision" } ``` 400 Bad Request - Protected Revision ``` { "error": true, "message": "Cannot delete protected revision" } ``` ### Result 500[​](#result-500 "Direct link to heading") 500 Internal Server Error ``` { "error": true, "message": "Failed to delete binary" } ``` --- # Remove Shared Team from App `DELETE` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/shared_teams/{TEAM_NAME}` This operation is allowed to Enterprise Project/Organizations. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ---------------------------------------------------- | | ORGANIZATION\_NAME | string | true | Project/Organization Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | | TEAM\_NAME | string | true | Name of Team to delete | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/shared_teams/${TEAM_NAME}" \ -H "Authorization: Bearer ${TOKEN}" \ -X DELETE ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "Name of Team was leaved from Name of App(Project/Organization Name)" } ``` --- # Disable Revision Protection `DELETE` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/binaries/{REVISION_NUMBER}/protect` ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ---------------- | ------ | -------- | ---------------------------------------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | | REVISION\_NUMBER | int32 | true | A number representing the revision on the package management screen (Example: # 1) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}/protect" \ -H "Authorization: Bearer ${TOKEN}" \ -X DELETE ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": "remove protection successfully" } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "message": "unknown binary", "because": "unknown binary", "error": true } ``` --- # List Distribution Pages `GET` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/distributions` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | Username or Project/Organization name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/distributions" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "distributions": [ { "access_key": "${ACCESS_KEY}", "title": "feature/deploygate", "release_note": "release note of the revision", "release_scope": "${RELEASE_SCOPE}", "max_members": 1000000, "updated_at": 1671494779, "flags": { "norobot": true }, "application": { "name": "DeployGate Sample App", "package_name": "${APP_ID}", "os_name": "Android", "path": "/organizations/${ORGANIZATION_NAME}/${PLATFORM_TYPE}/apps/${APP_ID}", "updated_at": 1674458366, "version_code": "1", "version_name": "1.0", "sdk_version": 26, "raw_sdk_version": "26", "target_sdk_version": 33, "signature": "^[0-9a-f]{40}$", "md5": "^[0-9a-f]{32}$", "revision": 23, "file_size": 5802610, "icon": "https://secure.gravatar.com/avatar/default", "message": "description of the app", "user": { "name": "${OWNER_NAME}" } }, "extension_type": null } } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "invalid_params":null, "message": "no application is found", "error": true, "because": "no application is found", "error_type": "resource_not_found" } ``` --- # Enable Revision Protection `POST` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/binaries/{REVISION_NUMBER}/protect` Prevent past revisions that exceed the limit from being automatically deleted. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ---------------- | ------ | -------- | ---------------------------------------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | | REVISION\_NUMBER | int32 | true | A number representing the revision on the package management screen (Example: # 1) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}/protect" \ -H "Authorization: Bearer ${TOKEN}" \ -X POST ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": "protected successfully" } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "message": "unknown binary", "because": "unknown binary", "error": true } ``` --- # Invite Users to App `POST` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/members` Individual users can invite other users to their own apps. (Project/Organizations have a separate, dedicated API) *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ----- | ------ | -------- | --------------------------------------------------------------------------------------------------- | | users | string | true | Username or email address. Use a comma (,) to add additional usernames or email addresses. | | role | string | true | Specify "1" to add as a developer (Only for Old Free/Lite/Pro/Biz Plans) or "2" to add as a tester. | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/members" \ -H "Authorization: Bearer ${TOKEN}" \ -X POST \ --form-string "users=${USERS}" \ --form-string "role=${ROLE}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "invite": "member invite success", "added": [ { "name": "existing_user", "role": 2 } ], "invited": [ { "email": "new_user@example.com" } ] } } ``` --- # Get Revisions of App `GET` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/binaries` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | App owner's username or Project/Organization name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's package name (Example: com.deploygate.android) | ## Query Params[​](#query-params "Direct link to heading") | Name | Type | Required | Description | | ---- | ------- | -------- | -------------------------------- | | page | integer | false | Page number. The default is `1`. | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "entries": [ { "package_name": "${APP_ID}", "os_name": "Android", "name": "DeployGate Sample App", "version_code": "2", "version_name": "1.0", "sdk_version": 8, "raw_sdk_version": "8", "target_sdk_version": 15, "signature": "^[0-9a-f]{40}$", "fingerprints": [ { "md5": "^[0-9a-f]{32}$", "sha1": "^[0-9a-f]{40}$", "sha256": "^[0-9a-f]{64}$", "max_sdk_version": 2147483647, "min_sdk_version": 21 } ], "file_size": 164466, "md5": "^[0-9a-f]{32}$", "revision": 1, "message": "message", "info": "app info", "updated_at": 1717051961, "embedded_sdk": null, "protected": false, "revision_url": "https://deploygate.com/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/1", "file": "https://example.com/path/to/file", "icon": "https://example.com/path/to/icon", "sdk_abilities": [], "user": { "name": "${OWNER_NAME}" } } ], "current_page": 1, "per_page": 50, "total_entries": 1, "total_pages": 1 } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "invalid_params": null, "message": "no application is found", "error": true, "because": "no application is found", "error_type": "resource_not_found" } ``` --- # Retrieve app details `GET` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}` ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------- | | OWNER\_NAME | string | true | Username or Project/Organization Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's Package Name (Example: com.deploygate.android) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "package_name": "${APP_ID}", "os_name": "Android", "name": "DeployGate Sample App", "version_code": "2", "version_name": "1.0", "sdk_version": 8, "raw_sdk_version": "8", "target_sdk_version": 15, "signature": "^[0-9a-f]{40}$", "fingerprints": [ { "md5": "^[0-9a-f]{32}$", "sha1": "^[0-9a-f]{40}$", "sha256": "^[0-9a-f]{64}$", "max_sdk_version": 2147483647, "min_sdk_version": 21 } ], "lineages": [], "file_size": 164466, "md5": "^[0-9a-f]{32}$", "revision": 1, "message": "Uploaded from web.", "info": "app info", "updated_at": 1732695079, "embedded_sdk": null, "revision_url": "https://deploygate.com/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}", "file": "https://example.com/path/to/file", "icon": "https://example.com/path/to/icon", "sdk_abilities": [], "labels": {}, "user": { "id": 1, "name": "${OWNER_NAME}", "profile_icon": "https://secure.gravatar.com/avatar/${OWNER_NAME}" }, "path": "/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}" } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "invalid_params": null, "message": "no application is found", "error": true, "because": "no application is found", "error_type": "resource_not_found" } ``` --- # Get the app's Capture `GET` `https://deploygate.com/api/device_captures/{DEVICE_CAPTURE_ID}` This operation can only be used for captures of apps that have been uploaded to Projects within a Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------- | ------ | -------- | ------------ | | DEVICE\_CAPTURE\_ID | string | true | Capture's ID | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/device_captures/${DEVICE_CAPTURE_ID}" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "thumbnail": "${THUMBNAIL_URL}", "title": "${CAPTURE_TITLE}", "url": "https://deploygate.com/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}", "reporter": { "name": "${USERNAME}" }, "device": { "name": "${DEVICE_NAME}", "url": "https://deploygate.com/distributions/${DISTRIBUTION_KEY}/devices/${DEVICE_ID}", "android_os": "${ANDROID_OS_NAME}" }, "application": { "name": "DeployGate Sample App", "package_name": "${APP_ID}", "version_name": "1.0", "version_code": "1", "revision": "${REVISION_NUMBER}", "signature_md5": "${SIGNATURE}" }, "distribution": { "url": "https://deploygate.com/distributions/${DISTRIBUTION_KEY}" }, "device_information": { "online": true, "wifi": true, "battery_temperature": 1.0, "battery_level": 1, "free_storage_space": 1.0, "free_memory_space": 1.0, "locale_setting": "ja_JP", "emulator": false, "screen_dpi": 1, "screen_width": 1, "screen_height": 1 }, "custom_attributes": { "key": "value" }, "logcat_url": "https://deploygate.com/api/devices/${DEVICE_ID}/device_logs/${DEVICE_LOG_ID}/download", "installed_at": "2024-09-20T14:58:07.000+09:00", // ISO 8601 "captured_at": "2024-09-20T14:58:11.000+09:00" // ISO 8601 } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "invalid_params": null, "message": "the resource is not found", "error": true, "because": "the resource is not found", "error_type": "resource_not_found" } ``` --- # Display App Distribution Page Details `GET` `https://deploygate.com/api/distributions/{DISTRIBUTION_KEY}` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | DISTRIBUTION\_KEY | string | true | A unique Distribution Page value that appears at the end of a Distribution Page's URL. It is a 40-character hexadecimal number that follows `https://deploygate.com/distributions/`. | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/distributions/${DISTRIBUTION_KEY}" \ -H "Authorization: Bearer ${TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "access_key": "${ACCESS_KEY}", "active": true, "title": "title of the distribution page", "release_note": "release note of the distribution page", "max_members": 10000, "updated_at": 1671494779, "flags": { "norobot": true }, "extension_type": null, "application": { "package_name": "${APP_ID}", "os_name": "Android", "name": "DeployGate Sample App", "version_code": "2", "version_name": "1.0", "sdk_version": 14, "raw_sdk_version": "14", "target_sdk_version": 33, "signature": "^[0-9a-f]{40}$", "fingerprints": [ { "md5": "^[0-9a-f]{32}$", "sha1": "^[0-9a-f]{40}$", "sha256": "^[0-9a-f]{64}$", "max_sdk_version": 2147483647, "min_sdk_version": 21 } ], "lineages": [], "file_size": 58318, "md5": "^[0-9a-f]{32}$", "revision": 1, "info": "app info", "updated_at": 1745460120, "embedded_sdk": { "artifact_version": "4.10.0", "is_exact_artifact_version": true, "supported_features": [ "update_message_of_build", "serialized_exception", "logcat_bundle", "streamed_logcat", "device_capture" ] }, "revision_url": "https://deploygate.com/organizations/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}", "icon": "https://example.com/path/to/icon", "sdk_abilities": [ "capture", "replay_capture" ], "labels": {}, "user": { "id": 1, "name": "${OWNER_NAME}", "description": "" }, "path": "/organizations/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}" }, "display_name": "device display name", "ip_restriction": null, "ip_restriction_enable": false } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "invalid_params": null, "message": "distribution not found", "error": true, "because": "distribution not found", "error_type": "resource_not_found" } ``` --- # Obtain an App's Revision Details `GET` `https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/binaries/{REVISION_NUMBER}` ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ---------------- | ------ | -------- | ---------------------------------------------------------- | | OWNER\_NAME | string | true | Username or Project/Organization Name | | PLATFORM\_TYPE | string | true | ios or android | | APP\_ID | string | true | App's Package Name (Example: com.deploygate.android) | | REVISION\_NUMBER | int32 | true | Revision number shown on the Package Admin Screen (Ex: #1) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/{OWNER_NAME}/platforms/{PLATFORM_TYPE}/apps/{APP_ID}/binaries/{REVISION_NUMBER}" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X GET ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "package_name": "${APP_ID}", "os_name": "Android", "name": "DeployGate Sample App", "version_code": "2", "version_name": "1.0", "sdk_version": 8, "raw_sdk_version": "8", "target_sdk_version": 15, "signature": "^[0-9a-f]{40}$", "fingerprints": [ { "md5": "^[0-9a-f]{32}$", "sha1": "^[0-9a-f]{40}$", "sha256": "^[0-9a-f]{64}$", "max_sdk_version": 2147483647, "min_sdk_version": 21 } ], "lineages": [], "file_size": 164466, "md5": "^[0-9a-f]{32}$", "revision": 1, "message": "Uploaded from web.", "info": "app info", "updated_at": 1732695079, "embedded_sdk": null, "revision_url": "https://deploygate.com/users/${OWNER_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}", "file": "https://example.com/path/to/file", "icon": "https://example.com/path/to/icon", "sdk_abilities": [], "labels": {}, "user": { "id": 1, "name": "${OWNER_NAME}", "profile_icon": "https://secure.gravatar.com/avatar/${OWNER_NAME}" } } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "invalid_params": null, "message": "unknown binary", "error": true, "because": "unknown binary", "error_type": "common_not_found" } ``` --- # Update the app’s Distribution Page `PUT` `https://deploygate.com/api/distributions/{DISTRIBUTION_KEY}` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------- | | DISTRIBUTION\_KEY | string | true | The unique key of distribution page. This is last 40 hex digits of URL path after `https://deploygate.com/distributions/` | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ----------------------- | ------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | active | boolean | true | Enable or disable the Distribution Page Feature Flag. Change by selecting one of these options.- `true` (Enable)
- `false` (Disable) | | release\_scope | string | true | The Distribution Page’s privacy settings. Change by selecting one of these options.- `public` (Publicly visible)
- `unlisted` (Only available to people with the link)
- `passcode` (Password required)
- `authorized_only` (Only available to team members with access to the app) ※※ Only Flexible Plan customers have the `authorized_only` option. | | passcode | string | false | The Distribution Page’s password. Required if a passcode is set in `release_scope`. | | title | string | false | The Distribution Page’s title | | release\_note | string | false | The Distribution Page’s release notes | | ip\_restriction\_enable | boolean | false | IP restriction flag (This feature is currently available for selected workspaces) - `true` (Enable)
- `false` (Disable) (Default) | | ip\_restriction | string | false | Allowed IP addresses. Required when ip\_restriction\_enable is true. (This feature is currently available for selected workspaces) Example: `1.2.3.4,100.200.0.0/16` | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/distributions/${DISTRIBUTION_KEY}" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X PUT \ --form-string "active=${ACTIVE}" \ --form-string "release_scope=${RELEASE_SCOPE}" \ --form-string "passcode=${PASSCODE}" \ --form-string "title=${TITLE}" \ --form-string "release_note=${RELEASE_NOTE}" \ --form-string "ip_restriction_enable=${IP_RESTRICTION_ENABLE}" \ --form-string "ip_restriction=${IP_RESTRICTION}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "access_key": "${ACCESS_KEY}", "active": true, "title": "title of the distribution page", "release_note": "release note of the distribution page", "release_scope": "${RELEASE_SCOPE}", "max_members": 100, "updated_at": 1709033626, "application": { "package_name": "${APP_ID}", "os_name": "Android", "name": "DeployGate Sample App", "version_code": "1", "version_name": "1.0", "sdk_version": 21, "raw_sdk_version": "21", "target_sdk_version": 32, "signature": "^[0-9a-f]{40}$", "fingerprints": [ { "md5": "^[0-9a-f]{32}$", "sha1": "^[0-9a-f]{40}$", "sha256": "^[0-9a-f]{64}$", "max_sdk_version": 2147483647, "min_sdk_version": 21 } ], "lineages": [], "file_size": 1441970, "md5": "^[0-9a-f]{32}$", "revision": "${REVISION_NUMBER}", "info": "app info", "updated_at": 1709000986, "revision_url": "https://deploygate.com/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}", "sdk_abilities": [], "path": "/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}" }, "ip_restriction":"1.2.3.4,100.200.0.0/16", "ip_restriction_enable":true } } ``` --- # Update a Distribution Page's Revision `POST` `https://deploygate.com/api/distributions/{DISTRIBUTION_KEY}/packages` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------- | | DISTRIBUTION\_KEY | string | true | The unique key of distribution page. This is last 40 hex digits of URL path after `https://deploygate.com/distributions/` | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ---------------------------------------------------------------------------------- | | revision | int32 | true | A number representing the revision on the package management screen (Example: # 1) | | release\_note | string | false | The Distribution Page’s release notes
Default: Revision's descriptions | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/distributions/${DISTRIBUTION_KEY}/packages" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ --form-string "revision=${REVISION}" \ --form-string "release_note=${RELEASE_NOTE}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "results": { "access_key": "${ACCESS_KEY}", "active": true, "title": "title of the distribution page", "release_note": "release note of the distribution page", "release_scope": "${RELEASE_SCOPE}", "max_members": 100, "updated_at": 1709033626, "application": { "package_name": "${APP_ID}", "os_name": "Android", "name": "DeployGate Sample App", "version_code": "1", "version_name": "1.0", "sdk_version": 21, "raw_sdk_version": "21", "target_sdk_version": 32, "signature": "^[0-9a-f]{40}$", "fingerprints": [ { "md5": "^[0-9a-f]{32}$", "sha1": "^[0-9a-f]{40}$", "sha256": "^[0-9a-f]{64}$", "max_sdk_version": 2147483647, "min_sdk_version": 21 } ], "lineages": [], "file_size": 1441970, "md5": "^[0-9a-f]{32}$", "revision": "${REVISION_NUMBER}", "info": "app info", "updated_at": 1709000986, "revision_url": "https://deploygate.com/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}/binaries/${REVISION_NUMBER}", "sdk_abilities": [], "path": "/organizations/${ORGANIZATION_NAME}/platforms/${PLATFORM_TYPE}/apps/${APP_ID}" }, "url": "https://deploygate.com/distributions/${ACCESS_KEY}" } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "message": "revision not found", "because": "revision not found", "error": true } ``` --- # Upload App `POST` `https://deploygate.com/api/users/{OWNER_NAME}/apps` Easily and automatically upload from test servers and self-created tools. *** The behavior when both distribution\_key and distribution\_name are specified distribution\_key takes priority. If the corresponding distribution page specified with distribution\_key doesn't exist, API returns 404 error. Application upload for Workspace (Flexible/Enterprise plans) Apps will be uploaded to projects under the Workspace. For `${API_TOKEN}`, use API key of the user who belongs to Owner or Developer team of the Project. Also, specify the destination Project name for `${OWNER_NAME}`. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ----------- | ------ | -------- | ------------------------ | | OWNER\_NAME | string | true | Username or Project name | ## Form Data[​](#form-data "Direct link to heading") | Name | Type | Required | Description | | ------------------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | file | file | true | App's binary file (IPA/APK) | | message | string | false | Description of uploaded file | | distribution\_key | string | false | By specifying the distribution page's hash (the "xxxx" portion of the distributed page's URL: /distributions/xxxx), that distribution page will be updated simultaneously. | | distribution\_name | string | false | Specify the name of the updated distribution page. If none exists, a new distribution page will be created. Possible uses include creating distribution pages for each Git branch name. | | release\_note | string | false | Message displayed during distribution page app updates. | | disable\_notify | string | false | (iOS only) A setting of "true" disables Push notification emails. | | ios\_simulator\_zip | file | false | (iOS only) Simulator build for Instant Device feature (zip file containing the .app directory) | ## Example[​](#example "Direct link to heading") ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/apps" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ -F "file=@sample.apk" \ --form-string "message=sample" ``` Update distribution pages ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/apps" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ -F "file=@sample.apk" \ --form-string "message=sample" \ --form-string "distribution_key=abcd1234" \ --form-string "release_note=new build" ``` Distribute per Git branch ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/apps" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ -F "file=@sample.apk" \ --form-string "message=git:${GIT_HASH}" \ --form-string "distribution_name=${GIT_BRANCH}" \ --form-string "release_note=new build" ``` Upload iOS app with simulator build for Instant Device ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/apps" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ -F "file=@sample.ipa" \ -F "ios_simulator_zip=@sample_simulator.zip" \ --form-string "message=sample" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error":false, "results":{ "name":"DeployGate", "package_name":"com.deploygate", "secret":"1234567890abcdef1234567890abcdef12345678", "os_name":"Android", "path":"/users/_your_name_/apps/com.deploygate", "revision":1, "version_code":"36", "version_name":"1.6.0", "sdk_version":"7", "target_sdk_version":23, "signature":"1234567890abcdef1234567890abcdef12345678", "message":"sample", "file":"https://example.com/path/to/file", "md5":"1234567890abcdef1234567890abcdef", "icon":"https://example.com/path/to/icon", "user": { "name": "${OWNER_NAME}" } } } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` { "error": true, "message": "application create error: cannot detect the package.", "because": "application create error: cannot detect the package." } ``` --- # Notice For Using Workspace API ## Authentication[​](#authentication "Direct link to heading") User's API Key can be used for the authentication. The user should have Administrator permission of the target Workspace. Requests Not Linked to Users Only when using APIs related to DeployGate Workspace, **API Key of Workspace Account** can be used as a replacement for user's API key. With Workspace API Key, you can run operations without linking to the specific user. Permission of Workspace API Key Access with Workspace API Key requires **Administrator** permission and it enables you to run all operations. --- # Add Project to Workspace `POST` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/organizations` Add a new Project to the Workspace. The user to be the owner of the Project must belong to the Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | -------------- | | WORKSPACE\_NAME | string | true | Workspace Name | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ---------------------- | ------ | -------- | ------------------------------------------------------------------ | | owner\_name\_or\_email | string | true | username or email address of the member to be owner of the Project | | name | string | true | Project Name | | display\_name | string | false | Display Name | | description | string | false | Description | ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/organizations" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "owner_name_or_email=${OWNER_NAME_OR_EMAIL}" \ --form-string "name=${NAME}" \ --form-string "display_name=${DISPLAY_NAME}" \ --form-string "description=${DESCRIPTION}" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` { "error": false, "results": { "name": "${NAME}", "display_name": "${DISPLAY_NAME}", "description": "${DESCRIPTION}" } } ``` --- # Obtain a List of a Workspace’s Projects `GET` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/organizations` This process will allow you to obtain a list of a Workspace’s Projects. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/organizations" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "organizations": [ { "type": "Organization", "name": "${ORGANIZATION_NAME}", "display_name": "${ORGANIZATION_DISPLAY_NAME}", "description": "${ORGANIZATION_DESCRIPTION}", "url": "https://deploygate.com/organizations/${ORGANIZATION_NAME}" } ] } ``` --- # Add Member to Project in Workspace `POST` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/organizations/{ORGANIZATION_NAME}/users` Add new member to Project in your Workspace. Member account should be belongs to your Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | | ORGANIZATION\_NAME | string | true | Name of Project | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ---- | ------ | -------- | -------------------- | | user | string | true | Name of User Account | ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/organizations/${ORGANIZATION_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "user=${USERNAME}" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` ``` --- # Remove Member from Workspace `DELETE` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/organizations/{ORGANIZATION_NAME}/users/{USERNAME}` Remove member from the Project in your Workspace. This is not member removal from Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | -------------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | | ORGANIZATION\_NAME | string | true | Name of Project | | USERNAME | string | true | Name of User Account | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/organizations/${ORGANIZATION_NAME}/users/${USERNAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "${USERNAME} was removed from ${ORGANIZATION_NAME}(${WORKSPACE_NAME})" } ``` --- # Workspace Project Members List `GET` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/organizations/{ORGANIZATION_NAME}/users` Get member list of the Project in your Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | | ORGANIZATION\_NAME | string | true | Project Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/organizations/${ORGANIZATION_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "users": [ { "type": "User", "name": "${USERNAME}", "display_name": "${USER_DISPLAY_NAME}", "icon_url": "https://example.com/path/to/user/icon.png", "url": "https://deploygate.com/users/${USERNAME}", "full_name": "${FULL_NAME}", "email": "${EMAIL}", "last_access_at": "2023-09-08T11:18:36.000+09:00" // ISO 8601 } ] } ``` --- # Update the certificate for SAML authentication `PUT` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/saml_settings/update_certificate` Update the certificate for SAML authentication. *** Our SAML SSO only supports one certificate at a time. Please note that you may experience some authentication downtime while DeployGate and your Identity Provider (IdP) complete the certificate rotation. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | --------- | ---- | -------- | ------------------------------------------------------ | | idp\_cert | file | true | New certificate file. It must be an X.509 format file. | ## Example[​](#example "Direct link to heading") ``` curl \ -X PUT \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/saml_settings/update_certificate" \ -H "Authorization: Bearer ${API_TOKEN}" \ -F "idp_cert=@/path/to/certificate" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "results": { "idp_display_name": "Example IdP", "idp_entity_id": "https://example.com/idp/unique_id", // New certificate’s content "idp_cert": "-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----", // SHA256 fingerprint of a new certificate "idp_cert_fingerprint_sha256": "A0:.........:Z9", "idp_sso_target_url": "https://example.com/idp/saml/sso", "idp_slo_target_url": "https://example.com/idp/saml/slo", "make_enable": true } } ``` --- # Add Shared Team to Workspace `POST` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/shared_teams` Add new shared team to Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ----------- | ------ | -------- | -------------------------- | | name | string | true | Name of Shared Team | | description | string | false | Description of Shared Team | ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/shared_teams" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "name=${SHARED_TEAM_NAME}" \ --form-string "description=this is the description of the new shared team" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` ``` --- # Remove Shared Team from Workspace `DELETE` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/shared_teams/{SHARED_TEAM_NAME}` Remove shared team from Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ------------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | | SHARED\_TEAM\_NAME | string | true | Name of Shared Team | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/shared_teams/${SHARED_TEAM_NAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "${SHARED_TEAM_NAME} was removed" } ``` --- # Get Shared Team list in Workspace `GET` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/shared_teams` Get shared team list of Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/shared_teams" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "teams": [ { "name": "Owner", "role": "owner", "member_count": 1 } ] } ``` --- # Add Member to Workspace `POST` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/users` Add a new member's account to your Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ---- | ------ | -------- | ------------ | | user | string | true | Mail Address | ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "user=${EMAIL}" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` ``` --- # Remove Member from Workspace `DELETE` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/users/{USERNAME}` Remove a member's account from your Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | ---------------------------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | | USERNAME | string | true | Name of User Account to be removed | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/users/${USERNAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "${USERNAME} was removed from ${WORKSPACE_NAME}" } ``` --- # List Members of Workspace `GET` `https://deploygate.com/api/enterprises/{WORKSPACE_NAME}/users` Get member list of your Workspace. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | --------------- | ------ | -------- | ----------------- | | WORKSPACE\_NAME | string | true | Name of Workspace | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/enterprises/${WORKSPACE_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "users": [ { "type": "User", "name": "${USERNAME}", "display_name": "${USER_DISPLAY_NAME}", "icon_url": "https://example.com/path/to/user.png", "url": "https://deploygate.com/users/${USERNAME}", "full_name": "${FULL_NAME}", "email": "${EMAIL}", "role": "administrator" | "manager" | "general user", "created_at": "2022-12-16T17:28:53.000+09:00", // ISO 8601 "last_access_at": "2023-09-08T11:18:36.000+09:00" // ISO 8601 } ] } ``` --- # Notice Regarding Project API * For using APIs related to DeployGate Projects, `token` parameters can be used with **user's API Key** or **Project's API Key**. (except for listing or creating Projects) * By using the Project's API Key, operations are not tied to specific users. **Administrator** privileges are required in order to access apps with the Project's API Key. --- # Obtain a List of a Project’s Apps `GET` `https://deploygate.com/api/organizations/{PROJECT_NAME}/apps` This process will allow you to obtain a list of a Project’s apps. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | Project Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}/apps" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "applications": [ { "name": "DeployGate", "package_name": "com.deploygate", "labels": { "ja": "DeployGate" }, "os_name": "Android", "current_revision": 4, "icon_url": "https://example.com/path/to/icon.png", "owner": { "type": "Organization", "name": "ExampleProject", "description": "This is a Project", "url": "https://deploygate.com/organizations/ExampleProject", "enterprise": { "type": "Enterprise", "name": "ExampleEnterprise", "display_name": "Example Enterprise Inc.", "url": "https://deploygate.com/enterprises/ExampleEnterprise", "icon_url": "https://deploygate.com/img/icons/enterprise-default-thumb.png" } }, "url": "https://deploygate.com/organizations/ExampleProject/platforms/Android/apps/com.deploygate" } ] } ``` --- # Delete Project `DELETE` `https://deploygate.com/api/organizations/{PROJECT_NAME}` *** Caution * When deleting your Project, all teams and applications contained within that Projects are also deleted. * Projects with an active subscription of Starup, Business and Large Business plans cannot be deleted. You must first cancel the subscription. [The cancellation procedure](https://intercom.help/deploygate/en/articles/4536554) differs depending on the payment method (credit card or invoice). ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | Project Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 204[​](#result-204 "Direct link to heading") ``` { "error": false, "results": { "message":"the Project was removed successfully" } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "error": true, "message": "invalid Project name", "because": "invalid Project name" } ``` --- # List Your Projects `GET` `https://deploygate.com/api/organizations` Retrieve a list of Projects your account belongs to. *** Project's API Key is not allowed to use. Please use User's API Key. ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "organizations": [ { "type": "Organization", "name": "ExampleProject", "description": "This is a Project", "url": "https://deploygate.com/organizations/ExampleProject" }, { "type": "Organization", "name": "ExampleEnterpriseProject", "description": "This is a Project created within Workspace", "url": "https://deploygate.com/organizations/ExampleEnterpriseProject", "enterprise": { "type": "Enterprise", "name": "ExampleWorkspace", "display_name": "Example Workspace Inc.", "url": "https://deploygate.com/enterprises/ExampleWorkspace", "icon_url": "/img/icons/enterprise-default-thumb.png" } } ] } ``` ### Result 400 - If Access With Project's API Key[​](#result-400---if-access-with-projects-api-key "Direct link to heading") ``` { "error": true, "message": "requester must be a user", "because": "requester must be a user" } ``` --- # Add Member to Project `POST` `https://deploygate.com/api/organizations/{PROJECT_NAME}/members` Add new users to the Project as members. If the user has not registered with DeployGate, an invitation will be sent. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | Project Name | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | -------- | ------ | -------- | -------------------------------------------------------------------------------------------------- | | username | string | false | DeployGate username | | email | string | false | Email address registered with DeployGate, or the email address to which an invitation will be sent | Parameters in request body When inviting a user, **provide either `username` or `email` as a query parameter**. * When `username` is specified, **the DeployGate user whose username matches the specified value** will be added as a member. * When `email` is specified * If the email address is already registered to a DeployGate user, that user will be added. * If **the email address is not yet registered**, an invitation email will be sent to the specified email address. Follow the instructions in the invitation email to sign up, and once registration is complete, you will be automatically added to the group that invited you. ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}/members" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "email=${EMAIL}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "${EMAIL} was invited to ${PROJECT_NAME}" } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # Remove Member from Project `DELETE` `https://deploygate.com/api/organizations/{PROJECT_NAME}/members/{USERNAME}` Remove member account from the Project. *** Cancel Member Invitation If you cancel the invitations for users who haven't signed up for DeployGate, specify email address as the parameter `id` in the URL. This allows you to remove the users from the Project members. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | --------------------------------------------------- | | PROJECT\_NAME | string | true | Project Name | | USERNAME | string | true | Username or Email Address of the user to be deleted | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}/members/${USERNAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "invitee was removed from ${PROJECT_NAME}" } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # List Members of Project `GET` `https://deploygate.com/api/organizations/{PROJECT_NAME}/members` Acquire a list containing user information of all members within a Project. *** Invited Users Unregistered users even if they should receive the invitations are listed with the property `"inviting": true`. In this case, the email addresses will be returned as member's name. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | Project Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}/members" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "members": [ { "type": "User", "name": "${USERNAME}", "display_name": "${USER_DISPLAY_NAME}", "icon_url": "https://secure.gravatar.com/avatar/${USERNAME}", "url": "https://deploygate.com/users/${USERNAME}" }, { "type": "User", "name": "${EMAIL}", "display_name": null, "icon_url": "https://secure.gravatar.com/avatar/default", "inviting": true, "url": "https://deploygate.com/users/${EMAIL}" } ] } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # Acquire Project Information `GET` `https://deploygate.com/api/organizations/{PROJECT_NAME}` ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | Project Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "organization": { "type": "Organization", "name": "ExampleProject", "description": "This is Example Project created via API", "url": "https://deploygate.com/organizations/ExampleProject" } } ``` --- # Add Member to Team `POST` `https://deploygate.com/api/organizations/{PROJECT_NAME}/teams/{TEAM_NAME}/users` Add new member to team in the Project. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | Project Name | | TEAM\_NAME | string | true | Name of team | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ---- | ------ | -------- | -------------------- | | user | string | true | Name of User Account | ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}/teams/${TEAM_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "user=${USERNAME}" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` { "error": false, "results": "invitee has been added to ${TEAM_NAME}(${PROJECT_NAME})" } ``` --- # Remove Member from Project `DELETE` `https://deploygate.com/api/organizations/{PROJECT_NAME}/teams/{TEAM_NAME}/users/{USERNAME}` Remove member from team in the Project. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------------------------ | | PROJECT\_NAME | string | true | Project Name | | TEAM\_NAME | string | true | Name of team | | USERNAME | string | true | Name of User Account to delete | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}/teams/${TEAM_NAME}/users/${USERNAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "invitee was removed from ${TEAM_NAME}(${PROJECT_NAME})" } ``` --- # List Members of Team `GET` `https://deploygate.com/api/organizations/{PROJECT_NAME}/teams/{TEAM_NAME}/users` Get list of members of team in the Project. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | Project Name | | TEAM\_NAME | string | true | Name of team | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}/teams/${TEAM_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "users": [ { "type": "User", "name": "${USERNAME}", "display_name": "${USER_DISPLAY_NAME}", "icon_url": "https://secure.gravatar.com/avatar/${USERNAME}", "url": "https://deploygate.com/users/${USERNAME}" }, { "type": "User", "name": "${EMAIL}", "display_name": null, "icon_url": "https://secure.gravatar.com/avatar/default", "inviting": true, "url": "https://deploygate.com/users/${EMAIL}" } ] } ``` --- # Modify Project Overview `PATCH` `https://deploygate.com/api/organizations/{PROJECT_NAME}` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------- | ------ | -------- | ------------ | | PROJECT\_NAME | string | true | project Name | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ----------- | ---- | -------- | ------------------------------------------ | | description | file | false | project's Description (Publicly Displayed) | ## Example[​](#example "Direct link to heading") ``` curl \ -X PATCH \ --url "https://deploygate.com/api/organizations/${PROJECT_NAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "description=this is the new description of the group" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "organization": { "type": "Organization", "name": "${PROJECT_NAME}", "description": "Updated description", "url": "https://deploygate.com/organizations/${PROJECT_NAME}" } } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # Notice Regarding Organization API * If you use Flexible/Enterprise plan, please visit [the pages for Project](/docs/api/group/organizations-api-notice.md) for further information. * For using APIs related to DeployGate Organizations, `token` parameters can be used with **user's API Key** or **Organization's API Key**. (except for listing or creating Organizations) * By using the Organization's API Key, operations are not tied to specific users. **Administrator** privileges are required in order to access apps with the Organization's API Key. --- # Obtain a List of an Organization’s Apps This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-api-notice.md) `GET` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/apps` This process will allow you to obtain a list of an Organization’s apps. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/apps" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "applications": [ { "name": "DeployGate", "package_name": "com.deploygate", "labels": { "ja": "DeployGate" }, "os_name": "Android", "current_revision": 4, "icon_url": "https://example.com/path/to/icon.png", "owner": { "type": "Organization", "name": "ExampleOrganization", "description": "This is an organization", "url": "https://deploygate.com/organizations/ExampleOrganization", "enterprise": { "type": "Enterprise", "name": "ExampleEnterprise", "display_name": "Example Enterprise Inc.", "url": "https://deploygate.com/enterprises/ExampleEnterprise", "icon_url": "https://deploygate.com/img/icons/enterprise-default-thumb.png" } }, "url": "https://deploygate.com/organizations/ExampleOrganization/platforms/Android/apps/com.deploygate" } ] } ``` --- # Delete Organization This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-apps-index.md) `DELETE` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}` This process will allow you to delete your Organization. *** Caution * When deleting your Organization, all teams and applications contained within that Organizations are also deleted. * Organizations created for Startup, Business, and Large Business Plans under contract cannot be deleted. PayPal and/or invoices must be settled and cancelled for the contract to be terminated. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 204[​](#result-204 "Direct link to heading") ``` { "error": false, "results": { "message":"the organization was removed successfully" } } ``` ### Result 404[​](#result-404 "Direct link to heading") ``` { "error": true, "message": "invalid organization name", "because": "invalid organization name" } ``` --- # List Your Organizations This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-index.md) `GET` `https://deploygate.com/api/organizations` This process will allow you to get list of Organizations your account belongs to. *** Organization's API Key is not allowed to use. Please use User's API Key. ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "organizations": [ { "type": "Organization", "name": "ExampleOrganization", "description": "This is an organization", "url": "https://deploygate.com/organizations/ExampleOrganization" }, { "type": "Organization", "name": "ExampleEnterpriseOrganization", "description": "This is an organization created in Enterprise", "url": "https://deploygate.com/organizations/ExampleEnterpriseOrganization", "enterprise": { "type": "Enterprise", "name": "ExampleEnterprise", "display_name": "Example Enterprise Inc.", "url": "https://deploygate.com/enterprises/ExampleEnterprise", "icon_url": "/img/icons/enterprise-default-thumb.png" } } ] } ``` ### Result 400 - If Access With Organization's API Key[​](#result-400---if-access-with-organizations-api-key "Direct link to heading") ``` { "error": true, "message": "requester must be a user", "because": "requester must be a user" } ``` --- # Add Member to Organization This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-members-create.md) `POST` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/members` Add new users to the Organization as members. If the user has not registered with DeployGate, an invitation will be sent. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | -------- | ------ | -------- | -------------------------------------------------------------------------------------------------- | | username | string | false | DeployGate username | | email | string | false | Email address registered with DeployGate, or the email address to which an invitation will be sent | Parameters in request body When inviting a user, **provide either `username` or `email` as a query parameter**. * When `username` is specified, **the DeployGate user whose username matches the specified value** will be added as a member. * When `email` is specified * If the email address is already registered to a DeployGate user, that user will be added. * If **the email address is not yet registered**, an invitation email will be sent to the specified email address. Follow the instructions in the invitation email to sign up, and once registration is complete, you will be automatically added to the group that invited you. ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/members" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "email=${EMAIL}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "${EMAIL} was invited to ${ORGANIZATION_NAME}" } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # Remove Member from Organization This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-members-destroy.md) `DELETE` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/members/{USERNAME}` Remove member account from the Organization. *** Cancel Member Invitation If you cancel the invitations for users who haven't signed up for DeployGate, specify email address as the parameter `id` in the URL. This allows you to remove the users from the Organization members. ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | --------------------------------------------------- | | ORGANIZATION\_NAME | string | true | Organization Name | | USERNAME | string | true | Username or Email Address of the user to be deleted | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/members/${USERNAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "invitee was removed from ${ORGANIZATION_NAME}" } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # List Members of Organization This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-members-index.md) `GET` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/members` Acquire a list containing user information of all members within an Organization. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/members" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") Invited Users Users who have already been sent an invitation email but have not yet completed their DeployGate registration are also included in the response, with `"inviting": true`. In this case, the username will be the email address. ``` { "error": false, "members": [ { "type": "User", "name": "${USERNAME}", "display_name": "${USER_DISPLAY_NAME}", "icon_url": "https://secure.gravatar.com/avatar/${USERNAME}", "url": "https://deploygate.com/users/${USERNAME}" }, { "type": "User", "name": "${EMAIL}", "display_name": null, "icon_url": "https://secure.gravatar.com/avatar/default", "inviting": true, "url": "https://deploygate.com/users/${EMAIL}" } ] } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # Acquire Organization Information This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-show.md) `GET` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}` ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "organization": { "type": "Organization", "name": "ExampleOrganization", "description": "This is Example Organization created via API", "url": "https://deploygate.com/organizations/ExampleOrganization" } } ``` --- # Add Member to Team This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-teams-users-create.md) `POST` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/teams/{TEAM_NAME}/users` Add new member to team in the Organization. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | | TEAM\_NAME | string | true | Name of team | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ---- | ------ | -------- | -------------------- | | user | string | true | Name of User Account | ## Example[​](#example "Direct link to heading") ``` curl \ -X POST \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/teams/${TEAM_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "user=${USERNAME}" ``` ### Result 201[​](#result-201 "Direct link to heading") ``` { "error": false, "results": "invitee has been added to ${TEAM_NAME}(${ORGANIZATION_NAME})" } ``` --- # Remove Member from Organization This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-teams-users-destroy.md) `DELETE` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/teams/{TEAM_NAME}/users/{USERNAME}` Remove users who belong to a team from that team. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ------------------------------ | | ORGANIZATION\_NAME | string | true | Organization Name | | TEAM\_NAME | string | true | Name of team | | USERNAME | string | true | Name of User Account to delete | ## Example[​](#example "Direct link to heading") ``` curl \ -X DELETE \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/teams/${TEAM_NAME}/users/${USERNAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "message": "invitee was removed from ${TEAM_NAME}(${ORGANIZATION_NAME})" } ``` --- # List Members of Team This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-teams-users-index.md) `GET` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}/teams/{TEAM_NAME}/users` Get list of members of team in the Organization. *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | | TEAM\_NAME | string | true | Name of team | ## Example[​](#example "Direct link to heading") ``` curl \ -X GET \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}/teams/${TEAM_NAME}/users" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "users": [ { "type": "User", "name": "${USERNAME}", "display_name": "${USER_DISPLAY_NAME}", "icon_url": "https://secure.gravatar.com/avatar/${USERNAME}", "url": "https://deploygate.com/users/${USERNAME}" }, { "type": "User", "name": "${EMAIL}", "display_name": null, "icon_url": "https://secure.gravatar.com/avatar/default", "inviting": true, "url": "https://deploygate.com/users/${EMAIL}" } ] } ``` --- # Modify Organization Overview This page contains information intended for the Discontinued Organization Plans. If you are using Flexible/Enterprise plan, please visit [this page.](/docs/api/group/organizations-update.md) `PATCH` `https://deploygate.com/api/organizations/{ORGANIZATION_NAME}` *** ## Path Params[​](#path-params "Direct link to heading") | Name | Type | Required | Description | | ------------------ | ------ | -------- | ----------------- | | ORGANIZATION\_NAME | string | true | Organization Name | ## Body[​](#body "Direct link to heading") | Name | Type | Required | Description | | ----------- | ---- | -------- | ----------------------------------------------- | | description | file | false | Organization's Description (Publicly Displayed) | ## Example[​](#example "Direct link to heading") ``` curl \ -X PATCH \ --url "https://deploygate.com/api/organizations/${ORGANIZATION_NAME}" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ --form-string "description=this is the new description of the group" ``` ### Result 200[​](#result-200 "Direct link to heading") ``` { "error": false, "organization": { "type": "Organization", "name": "${ORGANIZATION_NAME}", "description": "Updated description", "url": "https://deploygate.com/organizations/${ORGANIZATION_NAME}" } } ``` ### Result 400[​](#result-400 "Direct link to heading") ``` {} ``` --- # Welcome to DeployGate Developer Guide This document explains to developers functions to upload and distribute applications developed by the developer. * If you are invited as a tester, please visit [DeployGate Tester Guide](/docs/tester-guide/.md), which explains how to install applications distributed through DeployGate. * If you are an administrator, please visit[ DeployGate Administrator Guide](/docs/administrator-guide/.md), which explains how to manage members in a Workspace. --- # Add/Delete UDID of New Devices ## Add UDID of New Devices to iOS App​[​](#add-udid-of-new-devices-to-ios-app "Direct link to heading") To distribute Ad-hoc builds on iOS to new devices, you must add the UDIDs of those devices to the Provisioning Profile. ### Steps to Add UDIDs[​](#steps-to-add-udids "Direct link to heading") 1. **Obtain UDIDs from DeployGate** * Go to the app management screen's options and select "UDID List" to view a list of users and the UDIDs of their devices * See the [Obtain UDID from DeployGate](#obtain-udid-from-deploygate) section below for details 2. **Register UDIDs in Apple Developer Center** * Log in to [Apple Developer Center](https://developer.apple.com/account) * Navigate to "Certificates, Identifiers & Profiles" * Select "Devices" from the sidebar * Click the "+" button to register a new device * Enter the device name and UDID, then click "Continue" * You can also register multiple devices at once by uploading a file * For detailed instructions, see [Apple's official guide](https://developer.apple.com/help/account/register-devices/register-a-single-device/) 3. **Update Provisioning Profile** * In Apple Developer Center, go to "Profiles" * Select the Ad-Hoc Provisioning Profile you want to update * Click "Edit" and add the newly registered devices * Download the updated Provisioning Profile 4. **Build and Archive with Xcode** * Install the updated Provisioning Profile in Xcode * Build and archive your app with the new profile * For detailed steps, see [Steps to Create IPA File Using Xcode](/docs/developer-tools/xcode/.md) ## Obtain UDID from DeployGate​[​](#obtain-udid-from-deploygate "Direct link to heading") DeployGate has a UDID acquisition feature. Use any of the following methods to add a device to the app, and the device’s UDID will become obtainable through DeployGate. (1) Use the “Send to Your Own Devices” option from the app details page. ![Screenshot of getting UDID](/assets/images/get-udui-9deaae33290b8b8e12bd598d75ff6728.png) (2) Create a link using the “Distribution by Link” method, then access the link from a test device, and “Join Test.” (3) Use the app’s “Distribution to Members” method and install DeployGate onto your device as an app’s member. ## Display UDID List​[​](#display-udid-list "Direct link to heading") After following the previous steps, selecting “UDID List” on the app details page will display the UDID List of all enrolled devices. ![Screenshot of show UDID](/assets/images/get-udui-list-52df8ad8105c7f4a8deea7558a070e80.png) ![Screenshot of show UDID](/assets/images/show-udui-list-72103caf59bb0b89d2c7f9ed418eca34.png) The UDID List will display the following. * UDIDs registered in the Provisioning Profile * UDIDs of devices owned by users invited to the app (including yours) * UDIDs of devices that used the distribution page ## Delete Registered UDID[​](#delete-registered-udid "Direct link to heading") ### 1. If the UDID is registered in the Provisioning Profile​[​](#1-if-the-udid-is-registered-in-the-provisioning-profile "Direct link to heading") Delete the UDID from the Provisioning Profile. ### 2. Deleting a UDID of a device linked to a user​[​](#2-deleting-a-udid-of-a-device-linked-to-a-user "Direct link to heading") Go to “Dashboard” > “Your Devices,” select the applicable device, and click on “Remove iOS Device.” ![Screenshot of show UDID](/assets/images/delete-udui1-8ef7bd77454050ff08d25ae62234d52f.png) ![Screenshot of show UDID](/assets/images/delete-udui2-17bda84a404bb1e4a8655041a2b75243.png) ### 3. Deleting a UDID of a device linked to a test user​[​](#3-deleting-a-udid-of-a-device-linked-to-a-test-user "Direct link to heading") Go to the right side of the app details screen to the “Testers” section. Open the menu next to the applicable user and select “Remove this user.” ![Screenshot of show UDID](/assets/images/erase-udui-from-tester-a3b5dc99bbb8212377f853171b685857.png) ### 4. Deleting a UDID of a device using the distribution page​[​](#4-deleting-a-udid-of-a-device-using-the-distribution-page "Direct link to heading") Go to the distribution page management screen’s “Devices Using This Distribution.” Locate the applicable device and select the trash icon to delete. ![Screenshot of show UDID](/assets/images/erase-udui-from-devicelist-50deff9cd9a4456c087b51db53e88a94.png) --- # Manage Revisions A revision is the upload history and app files of a specific app. The latest revision appears on the App Details Page, but you can also view past revisions and download app files from DeployGate. Each revision is assigned a revision number in ascending order of its upload. ## View Past Revisions[​](#view-past-revisions "Direct link to heading") You can view the revision list from the “Package Archive.” Visit the App Details Page, click “Options” and select “Package Archive.” ![Screenshot of app revision list 1](/assets/images/app-revision-list_01-37d424e8615bef519c526a7842e91195.png) ![Screenshot of app revision list 2](/assets/images/app-revision-list_02-766e800c35fa0f3a9870e99e7f9e2569.png) ### View Revision Details​[​](#view-revision-details "Direct link to heading") If you would like to search with keywords for a specific revision, you can do so from the search bar at the top right of the Package Archive page. The searchable targets are as follows. * DeployGate revision number * Revision description * Revision name * App name ![Screenshot of app revision list 3](/assets/images/app-revision-list_03-143994fb11daf75886c07f3df69db4c8.png) Click on a specific revision to view its details. ![Screenshot of app revision list 4](/assets/images/app-revision-list_04-5adee79ecb9d0f27ad08118bf4f71a0d.png) ### Download App Files[​](#download-app-files "Direct link to heading") From the Revision Details Page, click the download button to download the app’s files. ![Screenshot of app revision list 5](/assets/images/app-revision-list_05-25bd791777708557edd964802fc3aa6a.png) You can also download files from the “Package Archive”page by opening the menu on the right of each revision and selecting the download button. ![Screenshot of app revision list 6](/assets/images/app-revision-list_06-0e940044837a1d2c0c6227f0ea7a479d.png) ## Modify Revision Descriptions​[​](#modify-revision-descriptions "Direct link to heading") Only Owners, Administrators, and Developers can perform this operation Open the menu on the right of each revision and select “Change the description.” ![Screenshot of app revision list 7](/assets/images/app-revision-list_07-3ad50d0a314a514ac1a66277ad4c556e.png) In the modal window, modify the revision’s descriptions and click “Update” to save the changes. ![Screenshot of app revision list 8](/assets/images/app-revision-list_08-574b43069615bafb31c7da6a95553908.png) You can also modify the descriptions from the “Package Archive” page. ![Screenshot of app revision list 9](/assets/images/app-revision-list_09-89a21eef5572bcc0207acab6bde00b54.png) ![Screenshot of app revision list 10](/assets/images/app-revision-list_10-448c22971f1a6419eeb6bec8329ded1e.png) ## Protect Revisions[​](#protect-revisions "Direct link to heading") Only Owners, Administrators, and Developers can perform this operation If the number of revisions exceeds your plan’s limits, the oldest revisions are automatically deleted. By protecting revisions in advance, they will not be deleted during the automatic deletion process. Visit the “Package Archive” page or the Revision Details Page and click the pin icon to protect a specific revision. To remove the protections, simply click the pin icon again. ![Screenshot of app revision list 11](/assets/images/app-revision-list_11-78b822abaa5b5235475bb0c435880f7c.png) ![Screenshot of app revision list 12](/assets/images/app-revision-list_12-a6294adf1403b0ce43f63119b7bc6ed5.png) ## Delete Revisions[​](#delete-revisions "Direct link to heading") Only Owners can perform this operation Visit the “Package Archive” page or the Revision Details Page and open the menu. Select “Delete this revision.” ![Screenshot of app revision list 13](/assets/images/app-revision-list_13-73ece106b853100572d49d8a893ce699.png) ![Screenshot of app revision list 14](/assets/images/app-revision-list_14-af847e6d1d00dd1466df348abb9f4b06.png) The delete option will not appear if any of the following apply. Please resolve these conditions before attempting to delete the revision. * Latest revision * Revisions distributed through the distribution page * Users without Owners privileges --- # Delete Apps **Only owners/administrators can perform this function.** *** 1. In order to delete an uploaded application, visit the upper right corner of the Application Management Screen and select “Delete Application” in the option menu. ![Screenshot of upload app 1](/assets/images/delete-app1-aaf436eff7b540078b5acd60f4d5cb7c.png) 2. A confirmation screen will appear to prevent accidental application deletion. To continue with the deletion, enter the application name. ![Screenshot of upload app 1](/assets/images/delete-app2-5df1f8066e021e48891035f7281991e0.png) Deleted Applications Cannot Be Restored Please note that deleting an application will not only delete the last uploaded build, but also all past revisions, logs, and distribution pages. This process is irreversible, and we will be unable to help restore the application once it is deleted. Please use extreme caution when using the delete function. --- # Migrate App to Another Project Only Owners and Administrators can perform this operation. *** Please note that once an application has been moved from Individual Project to a Project within a Workspace, it cannot be moved back to the Individual Project. ## Migrate Personal App to a Project​[​](#migrate-personal-app-to-a-project "Direct link to heading") An app uploaded to an individual account can be migrated to a Project. If you are on the Startup Plan, you cannot migrate apps If you are on the Startup Plan, you cannot migrate personal apps to that plan’s Projects. You must re-upload the app directly to the Project. ## App Migration Screen​[​](#app-migration-screen "Direct link to heading") ### If you have not uploaded an app to the Project​[​](#if-you-have-not-uploaded-an-app-to-the-project "Direct link to heading") If you have not uploaded an app to the Project, a button to the App Migration page will appear below the Upload button. ![Screenshot of Transfer app ](/assets/images/transfer-app1-b19a81a094d8b0239ebc4ba17673f5e3.png) ### If you have already uploaded an app to the Project​[​](#if-you-have-already-uploaded-an-app-to-the-project "Direct link to heading") If you have already uploaded an app to the Project, a link to the App Migration page will appear below the app list. ![Screenshot of Transfer app ](/assets/images/transfer-app2-b40ef51c89c01cfbc9596b53c5c2a8e1.png) ## Personal App Migration Page​[​](#personal-app-migration-page "Direct link to heading") Your Personal App Migration Page will have a list of your owned apps. Select the app that you want to move to a Project and select the “Initiate migration” button to migrate the app. \*Please note that this operation cannot be reversed. ![Screenshot of Transfer app ](/assets/images/transfer-app3-525a34eaf4546cb2e1e4827cec975809.png) Using API requires changes to the API parameters If you use an API to upload apps, you must edit the API’s owner parameters and API Key. Please refer to the applicable [API Document](/docs/api/.md) for more details. --- # Update App Only Owners and Administrators can perform this operation. On this page, we will explain how to upload a new revision of a previously uploaded app. *** To update an uploaded app, you can drag and drop a new APK/IPA file to the app page. On iOS, the upload screen has an “email notifications” field. Please enable “email notifications” when uploading. When an upload is complete, the revision number in the app details will increase to 2. If the distributed revision number is 2 on the statistics screen, the update is complete. ### If Using the Member Distribution ​[​](#if-using-the-member-distribution- "Direct link to heading") When a new revision is uploaded, **an update notification will be sent automatically to all users who are invited as testers**. Users who used the Link Distribution will not be notified. Android users will receive Push notifications, while iOS users will receive notifications by email. ### If Using the Link Distribution[​](#if-using-the-link-distribution "Direct link to heading") Because updating the app does not affect the revision being distributed on the distribution page, you can conduct repeated internal testing and verification within the team. Once that’s completed, you can adjust the settings for “Update Distribution” on the respective distribution pages to immediately notify participants about an update. On the app details page, go to the distribution page to select the “Update Distribution” action. For Distributions by Link, only a specific revision will be distributed unless the distribution page is updated. --- # Upload Apps to DeployGate On this page, we will explain how to upload apps to a Project. There are two ways to upload an app - Web browser and API. *** ## Upload via Web Browser​[​](#upload-via-web-browser "Direct link to heading") When using a web browser to upload apps, you can do so from the Project Dashboard or Individual Dashboard. ### Upload from Project Dashboard​[​](#upload-from-project-dashboard "Direct link to heading") 1. Access the Project Dashboard and click `Upload App` button. ![Screenshot of upload app](/assets/images/project_upload-app_en-239f5b31c364d7c364b011af75c1dfe7.png) 2. The file selector will appear. Select an APK file or IPA file to upload. **(Optional) When Using Instant Device Feature with iOS Apps:** When you select an iOS app (ipa file), a form to add a simulator build for Instant Device will appear. If you want to use the Instant Device feature, click "Choose File" and select **a zip file containing the .app directory built for the simulator**. ![iOS Instant Device upload modal](/assets/images/ios_instant_device-d051c7b32850a89980d8f39715848927.png) info If you don't want to use the Instant Device feature, you can proceed without selecting a zip file. For more details, see [Getting Started with Instant Device](/docs/developer-guide/instant-device/getting-started.md). 3. Confirm the uploaded file name on the dialog and enter Release Note if needed. By clicking on `Upload` button, the app will be uploaded to the Project. ![Screenshot of upload app](/assets/images/upload-app_en-4f518845c1f23d1e0809adf6098f2db7.png) 4. After uploading the app, the screen as the Screenshot below will be displayed. You can install the app via a QR code or links. ![Screenshot of Complete Upload ](/assets/images/after-app-upload-en-0e1472f4927542e4f3038e91306717c2.png) If necessary, [modify the app’s access permissions](#set-up-app-access-permissions). If the Upload Button Doesn’t Appear The upload button will not be available if any of the following apply. * You are not an owner or administrator * You have reached your plan’s limits for the maximum number of apps * Your Project’s trial period has ended ### Upload from Individual Dashboard[​](#upload-from-individual-dashboard "Direct link to heading") ​ You can also upload apps directly to a Project from your Individual Dashboard, which is the first page you see when logging in. 1. Access the Project Dashboard and click `Upload App` button or drag and drop the target app file directly. ![Screenshot of upload app 1](/assets/images/upload-app-from-dashboard-3974f6666fdf4c7c29261cb2a92b6b93.png) 2. The file selector will appear. Select an APK file or IPA file to upload. **(Optional) When Using Instant Device Feature with iOS Apps:** When you select an iOS app (ipa file), a form to add a simulator build for Instant Device will appear. If you want to use the Instant Device feature, click "Choose File" and select **a zip file containing the .app directory built for the simulator**. ![iOS Instant Device upload modal](/assets/images/ios_instant_device-d051c7b32850a89980d8f39715848927.png) info If you don't want to use the Instant Device feature, you can proceed without selecting a zip file. For more details, see [Getting Started with Instant Device](/docs/developer-guide/instant-device/getting-started.md). 3. Confirm the uploaded file name on the dialog and enter Release Note if needed. The default location will be your personal account, but you can select a Project from the drop-down menu. By clicking on `Upload` button, the app will be uploaded to the Project. ![Screenshot of upload app popup](/assets/images/upload-app-popup-f4ab8ef3b7b7483b6f554b0e5ee1142d.png) 4. After uploading the app, the screen as the Screenshot below will be displayed. You can install the app via a QR code or links. ![Screenshot of Complete Upload ](/assets/images/after-app-upload-en-0e1472f4927542e4f3038e91306717c2.png) ## Upload with API​[​](#upload-with-api "Direct link to heading") When using [Upload API](/docs/api/application/upload.md) to upload to a Project, specify the Project's name (OWNER\_NAME) in the path. ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/apps" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ -F "file=@sample.apk" \ --form-string "message=sample" ``` **When Using Instant Device Feature with iOS Apps:** When uploading iOS apps, you can use the `ios_simulator_zip` parameter to upload a zip file of the simulator build at the same time. ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/apps" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ -F "file=@sample.ipa" \ -F "ios_simulator_zip=@sample_simulator.zip" \ --form-string "message=sample" ``` Visit API Reference's [Upload App](/docs/api/application/upload.md) for details about other options. Use the same commands or API endpoints to upload app updates ## Set Up App Access Permissions​[​](#set-up-app-access-permissions "Direct link to heading") Immediately after uploading a new app, only users on the Owner team can view the app. For the app to be visible to other teams, you must link those teams with the app. Use a browser to open the app management screen. Go to the `Team` section on the right side of the screen to select the teams you would like to attach to the app. ![Screenshot of upload app popup](/assets/images/upload-app-access-baa824dc613b2afe1b8c456fe94947ea.png) --- # What is the Capture feature? [Feature Intro Capture\_EN](https://player.vimeo.com/video/1130198528?badge=0\&autopause=0\&player_id=0\&app_id=58479) **This guide is for app developers.** This guide is for app developers. If you are a tester testing apps under development, please refer to the [Tester Guide](/docs/tester-guide/tester-capture/about-capture-for-tester.md). ## Replay feature (Video) and Screenshot feature[​](#replay-feature-video-and-screenshot-feature "Direct link to heading") The Capture feature is a convenient tool that allows you to easily submit reports to developers when conducting app tests from a device. The Capture feature can acquire app and device information, save logs, and record videos (screen recording) through the [Replay feature](#replay-screen-recording-feature) and [Screenshot feature](#screenshot-feature) to share with developers. ![Appearance of Capture](/assets/images/capture-summary-en-beaaeee96d52500507f389af32704631.png) Note * The Capture feature is included with the plans providing Workspace features. There are no additional charges. * The Capture feature is **not available for Old plan**. If you are currently on Old plan, please consider switching to one of our current plans. For more details, please refer to our [Pricing page](https://deploygate.com/pricing).
Reference FAQ:[What is an Old Plan? How do I find out if I have an Old Plan?](https://intercom.help/deploygate/en/articles/6543892) Important Notice for Using Free Plan * When using Free plan, capture data will be retained for **3 days**. ## Replay (Screen Recording) feature[​](#replay-screen-recording-feature "Direct link to heading") The Replay feature allows you to record videos (screen recording) of app tests conducted on your device. The recordings will save the last 30 seconds of footage. ![Appearance of Replay](/assets/images/about-replay-en-3813e2c25181ec58170bb78992d84637.png) The Replay (Screen Recording) feature does not require SDK installation. ## Screenshot feature​[​](#screenshot-feature "Direct link to heading") The feature makes it easy to report bugs with Screenshots of an issue. Taking a Screenshot of an app under development allows the DeployGate app to automatically collect a variety of information, including logs from immediately prior to the Screenshot, device information, installed app information, and other details useful for debugging. This data is easily shareable between developers and testers. System requirements for the Capture feature Apps must meet the following system requirements to use the Capture feature. Some features may not be available otherwise. * Enabled DeployGate Android SDK (ver 4.8.0 or later) * Installed DeployGate Android Client App (ver 1.17.0 or later) To use the Capture feature, you must integrate the latest DeployGate Android SDK (version 4.8.0 or later) into the app and upload it to DeployGate. Please visit [Upload DeployGate Android SDK Integrated App](/docs/developer-guide/capture/android-sdk-for-capture.md) for information on how to integrate the SDK. ## Differences depending on whether or not SDK is installed[​](#differences-depending-on-whether-or-not-sdk-is-installed "Direct link to heading") By integrating the SDK, you’ll gain access to additional features and data points, so please consider implementing it to suit your intended use. | Feature | Without SDK | With SDK | | ----------------------------------------------------------------- | ----------- | -------- | | Replay (screen recording) feature | ◯ | ◯ | | Screenshot feature | - | ◯ | | [Callback setting](/docs/developer-guide/capture/set-callback.md) | - | ◯ | The differences in the data that can be obtained are as follows. | Data | Without SDK | With SDK | | ---------------------------------------------------------------------------------------------- | ----------- | -------- | | [Device information](/docs/developer-guide/capture/view-capture.md#display-device-information) | ◯ | ◯ | | Logs | - | ◯ | | [Custom attribute](/docs/developer-guide/capture/custom-attribute.md) | - | ◯ | --- # Upload DeployGate Android SDK Integrated App The Replay feature (Screen Recording) does not require SDK installation. ## Integrate SDK​[​](#integrate-sdk "Direct link to heading") The Capture’s Screenshot feature requires DeployGate Android SDK (ver 4.7.1 or later). Please visit [here](https://github.com/DeployGate/deploygate-android-sdk/releases) for the latest SDK version. Please visit [here](/docs/developer-tools/android-sdk/.md) for information on how to integrate DeployGate Android SDK. ## Upload to DeployGate[​](#upload-to-deploygate "Direct link to heading") Once the SDK-integrated app is ready, upload the APK or AAB file to DeployGate. Please visit [Upload Apps](/docs/developer-guide/app/upload-app.md) for information on how to upload apps. Please upload the app to a Project within the Flexible/Enterprise Plan’s Workspace. ## Verify SDK[​](#verify-sdk "Direct link to heading") After uploading the app, verify the SDK’s proper integration. Visit the App Details Page, click on “Options,” and select “Package Archive.” ![App details page to package archive](/assets/images/app-details-package-en-0d00930d29ec8f1a8e2d478ef20dde43.png) Select the revision you uploaded and look at the DeployGate SDK field. If it displays the message, “The capture feature is available,” the SDK integration is complete. ![Package Archive](/assets/images/list-of-app-archives-en-80e615bc6d823d71c681710f86c3892b.png) ![Package Archive Details](/assets/images/package-archive-details-en-81e48e6db4a6f734fa06193180b22014.png) --- # Capture Feature Frequently Asked Questions ## Can I use the Capture feature on iOS?​[​](#can-i-use-the-capture-feature-on-ios "Direct link to heading") Currently, Capture feature is not available on iOS. ## Are there any devices that cannot use the Capture feature?[​](#are-there-any-devices-that-cannot-use-the-capture-feature "Direct link to heading") The Capture feature can only be used on Android OS devices or devices running an OS based on Android OS. Additionally, some devices do not function properly when using the Capture feature. Devices with limited functionality (As of 2024/1/22) The following devices have limited functionality when using the Capture feature. * Capture fails to collect LogCat * Nothing Phone (1) Please note that this list may be incomplete, and other devices may also have limited functionality. Please contact [Customer Support](https://deploygate.com/contacts/new) if you encounter any difficulties. ## The Capture feature doesn’t work when taking a Screenshot (Screenshot feature only)[​](#the-capture-feature-doesnt-work-when-taking-a-screenshot-screenshot-feature-only "Direct link to heading") These are the minimum requirements for the Capture feature. If some members experience problems where the Capture feature doesn’t work, please ensure that the distributed app meets the following conditions. * Captured an Android app * Enabled DeployGate Android SDK (ver 4.8.0 or later) * Installed the distributed app via the DeployGate Android Client App ## The Screenshot feature doesn’t work in a release build (Screenshot feature only)[​](#the-screenshot-feature-doesnt-work-in-a-release-build-screenshot-feature-only "Direct link to heading") If the Screenshot feature works in a debug build but not in a release build, please see if the following applies. ### “Capture feature available” is NOT displayed[​](#capture-feature-available-is-not-displayed "Direct link to heading") If the “Capture feature available” message is not displayed, it's possible that `mock-sdk` is set instead of `sdk` in your release build settings. If you follow the instructions [here](/docs/developer-tools/android-sdk/.md) without any changes, only the debug build will include an SDK with full functionality. * In the document’s example, the `debugImplementation` includes `sdk`, while `releaseImplementation` includes `mock-sdk`. * Removing both `debugImplementation` and `releaseImplementation` and changing them to `implementation` will result in a fully functional SDK. ### “Capture feature available” is displayed but the Screenshot feature doesn’t work[​](#capture-feature-available-is-displayed-but-the-screenshot-feature-doesnt-work "Direct link to heading") If the “Capture feature available” message is displayed, please check if the SDK is working. Go to the “App Details Page” and the “Activities” section to see if the following launch activities appear. If the SDK is functioning properly, the “Activities” section of the “App Details Page” will display the following types of launch activities. If the launch activities do not appear, your SDK is not functioning properly. ![Activity of SDK started](/assets/images/SDK-started-en-b41cbe5f3276cfcaa9f06357f0a53875.png) If the launch activities do not appear, please try the following. * You have [manually initialized SDK](https://github.com/DeployGate/deploygate-android-sdk/?tab=readme-ov-file#for-jetpack-app-startup-users-or-those-who-would-like-to-initialize-sdk-manually) and applied default values. * The SDK is not configured to work with release builds when `DeployGate.install()` is called with default values. * Please ensure that `setEnabledOnNonDebuggableBuild` (or `forceApplyOnReleaseBuild`) is set to `true` where DeployGate.install is called. * For the SDK to function correctly in a release build, `setEnabledOnNonDebuggableBuild` (or `forceApplyOnReleaseBuild`) must be explicitly set to true. Example: ``` DeployGate.install( this, DeployGateSdkConfiguration.Builder() .setEnabledOnNonDebuggableBuild(true) .build() ) ``` ## I don’t know how to save and view Screenshots after taking them[​](#i-dont-know-how-to-save-and-view-screenshots-after-taking-them "Direct link to heading") Once you receive a notification, you must tap “Save Capture” on the next screen. You must open this window when receiving a push notification to save a Capture. When the saving is completed, a new notification will appear. Please select either "Copy URL" or "Share" option and proceed to share it. Also you can check saved captures and obtain permanent links from the DeployGate web application. For more information, Please visit [View Saved Captures](/docs/developer-guide/capture/view-capture.md) for more details. ## Is the Capture feature available on apps not installed with the DeployGate app?[​](#is-the-capture-feature-available-on-apps-not-installed-with-the-deploygate-app "Direct link to heading") In that case, the Capture feature isn't available. It's only accessible for apps installed on devices via the DeployGate app. ## Is the Capture feature available through both Link Distribution and Member Distribution?​[​](#is-the-capture-feature-available-through-both-link-distribution-and-member-distribution "Direct link to heading") The Capture feature is available through both distribution methods, **but to create a Capture, users must belong to a Team that can access the app**. (For Developers and Administrators) On the App Details Page, go to “Teams with Access to the App” and click on the applicable Team. Verify that the members can access the distributed app. (For Developers and Administrators) Please verify whether the members can access the distributed app by referring to [Enable members to access the distributed app](/docs/developer-guide/capture/share-capture.md#enable-members-to-access-the-distributed-app) ![App details team access](/assets/images/app-details-en-09a99d1e008c7773ec0d5e3f1e050d50.png) ![Team details](/assets/images/team-details-en-8e1abb0320b608f7a739c686899222bd.png) ## The app doesn’t show the “Capture feature available” message in the DeployGate app.[​](#the-app-doesnt-show-the-capture-feature-available-message-in-the-deploygate-app "Direct link to heading") ![Capture availablbility check](/assets/images/capture-available-from-device-en-4823aa3ab94964b0485bbc673377b34c.png) Please confirm the following. * Capturing Android app * DeployGate Android SDK (ver 4.7.1 or higher) is enabled * The distributed app is installed from the DeployGate app → [Upload DeployGate Android SDK integrated app](/docs/developer-guide/capture/android-sdk-for-capture.md) * The members can access the distributed app → [Distribute to Team Members](/docs/developer-guide/capture/share-capture.md#enable-members-to-access-the-distributed-app) ## I accidentally skipped the dialog guide about the capture feature that appeared when installing the app.[​](#i-accidentally-skipped-the-dialog-guide-about-the-capture-feature-that-appeared-when-installing-the-app "Direct link to heading") Tap the vertical ellipsis (three dots) to open a menu and click on “Settings.” On the next screen, tap on “Capture” and follow the on-screen instructions to adjust the permission settings. ![Activation from setting](/assets/images/activation-from-setting-en-1bcdc49e2258c9e9f00db6d5031a523e.png) ## Some users cannot use the Capture feature.[​](#some-users-cannot-use-the-capture-feature "Direct link to heading") If only some users cannot use the Capture feature, the following may apply. * Can the user access the app? → Visit [Distribute to Team Members](/docs/developer-guide/capture/share-capture.md#enable-members-to-access-the-distributed-app) for more information. * Is the user utilizing the DeployGate app and logged in with an account that has access privileges to the app? * Is the application that the user is attempting to capture installed via the DeployGate app, and is the "Capture Feature available" displayed? * Did the user skip steps to configure permissions when downloading the application? -> Visit [I forfot to congigure permission when I downloaded the app](#i-accidentally-skipped-the-dialog-guide-about-the-capture-feature-that-appeared-when-installing-the-app) ## Is the Replay feature affected if I use/navigate the DeployGate Client App during a Replay screen recording?[​](#is-the-replay-feature-affected-if-i-usenavigate-the-deploygate-client-app-during-a-replay-screen-recording "Direct link to heading") If you log out of DeployGate during a screen recording, you will not be able to Replay the recorded video. Please log in and record the screen again. If you uninstall the relevant app during a screen recording, the recording will end. However, you can Replay the video up to that point and save the Capture. If you update the relevant app during a screen recording, the recording will continue. If you save a Capture after completing the update, it will be saved as a new revision. --- # Set custom attribute Custom Attributes is a feature that allows you to configure your desired Key-Value format data for your Capture’s Screenshot feature. By configuring Key-Value data via DeployGate SDK, you can save Captures linked with that Key-Value data. This feature allows developers to specify the data they want to collect when errors occur, which improves feedback quality. ## System Requirements​[​](#system-requirements "Direct link to heading") The Custom Attributes feature requires to use a specific version or later of the DeployGate Android Client App and the DeployGate SDK. The required version varies depending on the feature you want to use. | Feature | Android Client App Version | DeployGate SDK Version | | ------------------ | -------------------------- | ---------------------- | | Screenshot Feature | v1.17.0 or later | v4.8.0 or later | | Replay Feature | v1.20.1 or later | v4.8.0 or later | ## Enabling[​](#enabling "Direct link to heading") Custom Attributes can be enabled from `DeployGate SDK’s DeployGate.getRuntimeExtra()` or `DeployGate.getBuildEnvironment()`. ``` CustomAttributes buildEnvironmentAttrs = DeployGate.getBuildEnvironment(); // BuildConfig.BUILD_TYPE -> release buildEnvironmentAttrs.putString("build_type", BuildConfig.BUILD_TYPE); // BuildConfig.FLAVOR -> devreal buildEnvironmentAttrs.putString("flavor", BuildConfig.FLAVOR); CustomAttributes runtimeExtraAttrs = DeployGate.getRuntimeExtra(); runtimeExtraAttrs.putString("string", "value"); runtimeExtraAttrs.putInt("int", 123); runtimeExtraAttrs.putBoolean("boolean", true); runtimeExtraAttrs.putFloat("float", 1.23f); runtimeExtraAttrs.putDouble("double", 1.23); runtimeExtraAttrs.putLong("long", 123L); ``` ![Capture custom attribute](/assets/images/capture-custom-attributes-en-d2e0a2c516435d820694b90c7af8fcf3.png) ## Deleting​[​](#deleting "Direct link to heading") You can delete saved values at any time. ``` CustomAttributes attrs = DeployGate.getRuntimeExtra(); // もしくは DeployGate.getBuildEnvironment(); // Set values attrs.putString("string", "value"); // Delete values attrs.remove("string"); attrs.removeAll(); ``` ## Other Limitations[​](#other-limitations "Direct link to heading") For more information about restrictions and specifications, please refer to the README and the code for the SDK version you are using on . ## How to Use​[​](#how-to-use "Direct link to heading") If you have a simple E-commerce app that allows users to log in and shop, you might want to identify the circumstances surrounding a specific error or event to help with the QA process. For example, knowing which user encountered a problem, their membership status, and which product they were viewing could help you to find an issue’s cause. You can use `DeployGate.getRuntimeExtra();` to specify Custom Attributes, like these variables. You can incorporate the following code into your app so that login\_user\_id, last\_access\_item\_id, and user\_rank are associated with saved Captures. ``` CustomAttributes attrs = DeployGate.getRuntimeExtra(); attrs.putInt("login_user_id", 123); attrs.putInt("last_access_item_id", 456); attrs.putString("user_rank", "Premium"); ``` Other information can also help diagnose errors, such as an app running in a production, test, or development environment. When saving static values, such as build environments, please use `DeployGate.getBuildEnvironment();` to enable Custom Attributes. ``` CustomAttributes attrs = DeployGate.getBuildEnvironment(); attrs.putString("build_type", BuildConfig.BUILD_TYPE); // Release attrs.putString("flavor", BuildConfig.FLAVOR); // Staging attrs.putString("api_endpoint", BuildConfig.API_ENDPOINT); // https://staging.example.com/api ``` These examples illustrate how Custom Attributes can add crucial information to Captures and aid with debugging and error investigations. ![Capture custom attribute usecase](/assets/images/custome-attirbute-usecase-en-6398c2480cb2f84c7a01059faf84c539.png) --- # Create a Callback when saving a Capture You can create a Callback when saving a Capture’s Screenshot to easily integrate with internal development tools, such as Jira. The development process runs more smoothly by sending the Capture to the tool automatically. ## How to set up a Callback[​](#how-to-set-up-a-callback "Direct link to heading") You can incorporate the following into the code to implement a Callback with your desired processes when saving a Capture’s Screenshot. ``` @Override public void onCaptureCreated(String captureUrl, long createdAtMillis) { // will be called when the capture is created String message = "onCaptureCreated: url=" + captureUrl + ", created_at=" + createdAtMillis; Log.d(TAG, message); Toast.makeText(this, "onCaptureCreated called", Toast.LENGTH_LONG).show(); } ``` Please view [the sample code](https://github.com/DeployGate/deploygate-android-sdk/blob/master/sample/src/main/java/com/deploygate/sample/SampleActivity.java#L253) for more details. The Callback function requires DeployGate SDK (version 4.9.0 or later) and the DeployGate Android Client App (version 1.18.0 or later). --- # Distribute to Team Members Prepare to distribute the app to Team members so that they can use the Capture feature. ## Enable members to access the distributed app[​](#enable-members-to-access-the-distributed-app "Direct link to heading") On the App Details Page, go to “Teams with Access to the App” and click on the applicable Team. Confirm if the members can access the distributed app. ![App details team access](/assets/images/app-details-en-09a99d1e008c7773ec0d5e3f1e050d50.png) ![Team details](/assets/images/team-details-en-8e1abb0320b608f7a739c686899222bd.png) If the members have not joined the team, please visit [Manage Team Members](/docs/developer-guide/team/manage-team-member.md). ## Distribute[​](#distribute "Direct link to heading") There are two distribution methods - [Link Distribution](/docs/developer-guide/link-distribution/distribute-by-link.md) and [Member Distribution](/docs/developer-guide/member-distribution/distribute-to-member.md). While you can use either method to distribute, Testers must be assigned to an applicable Team to use the Capture feature. Please share the [Tester Guide](/docs/tester-guide/tester-capture/about-capture-for-tester.md) with testers and other members installing the distributed app. --- # Use the Screenshot feature Once you’ve finished [uploading a DeployGate Android SDK integrated app](/docs/developer-guide/capture/android-sdk-for-capture.md), download it to your device and use the Capture feature. ## Use the DeployGate Client App to install the app to be tested[​](#use-the-deploygate-client-app-to-install-the-app-to-be-tested "Direct link to heading") Please scan the QR code of the revision where the Capture feature is available and install the app using the DeployGate app. Make sure to log in with a DeployGate account that has access to the target app. If you haven’t installed the DeployGate app, please download the latest version from Google Play. ![Scan QR code from Package details](/assets/images/scan-qr-on-package-archive-en-7415ff7e8deba1c33a0788829c39fc32.png) If you aren’t logged in to the DeployGate app, scanning the QR code opens a login page. Please log in to your DeployGate account. When downloading the app, please see if this message appears - “Capture feature available.” ![Capture availability check](/assets/images/capture-available-from-device-en-4823aa3ab94964b0485bbc673377b34c.png) If the "Capture feature available" message does not appear, please check the following: * Make sure you're logged in with an account that has access to the target app. * Ensure that you have the latest version of the DeployGate app installed. * Confirm that when you check the target app with the revision using the web, the message "Capture feature available" is displayed. ## Configure Permissions​[​](#configure-permissions "Direct link to heading") When the installation is complete, you will see a message informing you that the Capture feature is available. Click on “View details” and follow the instructions to configure permissions and other settings. When complete, you can use the Capture feature. ![Popup activation](/assets/images/pop-up-capture-activate-en-84a81eb7f494366e65608abfbbb4aebc.png) Configure permissions later If you tap on “Skip,” you can configure permissions later. Tap the vertical ellipsis (three dots) to open a menu and click on “Settings.” On the next screen, tap on “Capture” and follow the on-screen instructions to adjust the permission settings. ## Save Captures​[​](#save-captures "Direct link to heading") Open the distributed app and take a Screenshot. When taking a Screenshot, a notification will appear. Tap to save the Capture. ![Push notification after capture](/assets/images/push-notice-after-capture-en-aca6c3372f6c82caefc5344f76b3f4cf.png) On the next screen, tap on “Save Capture” to save the Capture. You can edit the Capture from your device. * Tap on the image icon to replace the Screenshot with another image on your device. * You can use the standard OS editing features, such as paint, to mark up and highlight areas of the Screenshot. * You can add comments to the Notes field. ![Save Capture from the Device](/assets/images/save-capture-en-cc7741d7cb43e0ef0864fbe9bfb2b65a.png) ## Share Captures​[​](#share-captures "Direct link to heading") The following push notification will appear when you tap “Save Capture.” You can share the URL of your Capture via Slack and other messaging platforms to provide feedback to your team. ![Capture Share](/assets/images/popup-capture-share-en-aca6c3372f6c82caefc5344f76b3f4cf.png) This section has guided you through the process of saving a Capture. [View saved Captures](/docs/developer-guide/capture/view-capture.md) will illustrate how to view saved Captures. --- # Using the Replay (Video) feature The Replay feature allows you to use your device to record videos of tests and share them with developers. As of April 2025, this feature is only available on Android devices. The Replay feature does not require SDK installation. ## Use the DeployGate Client App to install the app to be tested[​](#use-the-deploygate-client-app-to-install-the-app-to-be-tested "Direct link to heading") Access the Capture feature-enabled revision, scan the QR code, and install the app. Please ensure that you’re logged in to a DeployGate account with access to the relevant app. Please visit Google Play to install the latest version of the DeployGate app if you do not already have it installed. ![Screenshot of Scan QR code from Package details](/assets/images/scan-qr-on-package-archive-en-7415ff7e8deba1c33a0788829c39fc32.png) A login screen will appear if you scan the QR code without logging in to the DeployGate app. Please ensure that you’re logged in to your DeployGate account. You must log in to the DeployGate Client App to use the Replay feature. ![Screenshot of Login Client App](/assets/images/login-install-client-app-en-66f4a2cb7bb2c802e79a783c0c6276b9.png) ## Enable the Replay feature[​](#enable-the-replay-feature "Direct link to heading") After you download the relevant app, tap the `Start Replay Capture` button. ![Image of Tap to Start Replay Capture to Prepare](/assets/images/prepare-replay-capture-en-5651d174cd3d1609ba800f3742c1bc1e.png) Next, tap the `Allow Audio Recording` button and follow the prompts to allow audio recording. ![Image of Allow Record Audio](/assets/images/allow-audio-recording-en-bebebeacfad1fe4ae50a41f43f4ac565.png) Tap the `Open About Phone` button to proceed to the About Phone section. Tap the `Build number` **7 times** to enable Developer options. ![Image of Enable Developer Option](/assets/images/developer-option-en-e4be04de8619e7408a8704a6585bb03a.png) Finally, tap `Open Developer Options` and tap the `Show taps` toggle to enable the display of visual feedback for taps. ![Image of Show tap](/assets/images/show-tap-en-c7797979c57ffb1b78a1458d22d1671c.png) The process to enable “Developer options” may vary by device type. Please visit [here](https://developer.android.com/studio/debug/dev-options) for more details. ## Start Replay[​](#start-replay "Direct link to heading") After you tap the `Start Screen Recording` button, you will return to the initial screen. Tap the `Start Replay Capture` button. ![Image of Start Replay Capture](/assets/images/start-replaycapture-en-93c446a54f96f97484663a4f7d305de2.png) The message, `Start recording or casting with DeployGate?` will appear, so tap the `Start` button. Tapping `Open` will redirect you to the relevant app’s screen so you can begin your test. ![Image of Started Replay Capture](/assets/images/started-replay-capture-en-c5e8d31250287888cee671b7aade51cd.png) ## Stop, Review, and Save Replay Capture[​](#stop-review-and-save-replay-capture "Direct link to heading") You can stop the recording by returning to the DeployGate Client App or tapping the `Stop Screen Recording` button on the screen’s notification bar. The recording is saved up to 30 seconds before the recording ends. You can review the recorded video from the DeployGate Client App by tapping the `Watch Replay` button. You can save the Replay by tapping the `Save Capture` button. We recommend that you start recording before beginning any tests. If you discover any bugs or errors, you can end the screen recording and use the footage to retrace the steps leading up to the error. ![Image of Replay and Save](/assets/images/replay-and-save-en-e0ced133e18d87c82764736547e2a7ff.png) This guide outlined the steps to start, stop, and save Replays. Please visit [View Saved Captures](/docs/developer-guide/capture/view-capture.md) for information on how to view saved Replays. --- # View Saved Captures Saved captures can be viewed on DeployGate at any time. From your PC browser, visit , log in to your account, and view your saved Captures. Go to the App Details Page to access the Open Captures. ![Open Capture from App details](/assets/images/open-capture-en-d5ca3f67c45bf9167923ae84d040ab12.png) ![Capture-list](/assets/images/view-capture-list-en-3cc841f7f8a70dae5619f9e15c56c92b.png) Selecting a Capture from the Capture List will redirect you to the Capture’s Details Page. ## Capture retention period[​](#capture-retention-period "Direct link to heading") For Flexible and Enterprise plans, captures can be viewed for 90 days after they are saved. Captures saved before August 13, 2024, are available for 90 days from August 13, 2024. Important Notice for Using Free Plan * When using Free plan, capture data will be retained for **3 days**. ## Review Replays​[​](#review-replays "Direct link to heading") Select Replay (Video) from the Capture List to play screen recordings, as seen below. ![Image of Replay Details Page](/assets/images/replay-details-en-1d4c039075db7f00a2da4318ce9cc898.png) ## Review Screenshots[​](#review-screenshots "Direct link to heading") The Capture Details Page displays account details, device information, app revision, and other information from the account that created the Capture. LogCat is available and can help with investigating errors and debugging. ![Capture details](/assets/images/capture-details-en-1dce6cd7e357d8e18a2465bcd613fd80.png) ### Display Device Information[​](#display-device-information "Direct link to heading") With the Capture feature, detailed device information at the time the capture was saved can be collected automatically and shared with developers. System Requirements To collect device information, you must use DeployGate SDK v4.9.0 or later and DeployGate Android Client App v1.18.0 or later. #### Data Stored as Device Information[​](#data-stored-as-device-information "Direct link to heading") The Capture automatically obtains and saves the following data from a device | Label | Details | | ------------------- | ------------------------------------------------------------ | | Online | Whether the device was online | | WIFI | Whether the device was connected to Wi-Fi | | Battery Temperature | Battery temperature at the time the capture was saved | | Battery Capacity | Battery level (percentage) at the time the capture was saved | | Storage Capacity | Available storage space | | Memory Capacity | Available memory | | Locale | Device language settings | | Emulator | Whether an emulator is being used | | Screen DPI | Device screen DPI | | Screen Width | Device screen width (pixels) | | Screen Height | Device screen height (pixels) | #### How to Display Device Information[​](#how-to-display-device-information "Direct link to heading") Select the applicable Capture and click on `Show all device information` to view device information obtained during the Capture. ![Capture click device info](/assets/images/click-device-info-en-316247f178b7ee34f9cab32b35b31c5c.png) ![Show Capture device info](/assets/images/show-device-info-en-74369b8b5be3f46efa1d74ad4c4d2c9c.png) --- # Chat Notifications By integrating DeployGate with a commonly used chat service, an entire team can share changes that occur during an app's development. *** ## Purpose of Chat Integration[​](#purpose-of-chat-integration "Direct link to heading") DeployGate can notify your chat tool when events occur. Notification settings can be configured on a per-app basis or on a per-distribution-page basis. * [Teams](/docs/developer-guide/chat/teams.md) * [Slack](/docs/developer-guide/chat/slack.md) * [ChatWork](/docs/developer-guide/chat/chatwork.md) For example, you can use it in the following use cases. * Allow testers to be made aware of updates to apps under development * Inform developers of app issues immediately ![Screenshot of Chat-notification](/assets/images/chat-notification-97a6b2d6866a2698497e58e745365431.png) ## Applications[​](#applications "Direct link to heading") On the bottom right corner of an app's management page, go to `Notification Settings` and select `Add Notification Settings`. ![Screenshot of Chat-notification](/assets/images/chat-notification-app-f1c08a28f397a1508a28c6d586707d9c.png) ## Distribution Page[​](#distribution-page "Direct link to heading") On the distribution page, go to `Notification Settings` menu and select `Create New Notification` at the top right of the page. ![Screenshot of Chat-notification](/assets/images/chat-notification-distribution-c2e4c5cecab6fb94f51a0d00d5871ffa.png) --- # Send Event Notifications to Chatwork tip Settings can be configured on a per-app or Distribution Page basis. ## 1. Submit a request to use Chatwork API​[​](#1-submit-a-request-to-use-chatwork-api "Direct link to heading") Chatwork API use requires prior authorization. As of November 2022, you must apply to use Chatwork API. (For details, visit [here](https://developer.chatwork.com/docs)) Once Chatwork API becomes available, please follow the instructions [here](https://developer.chatwork.com/docs) to obtain an API token. For the Room ID, please use the numeric digits (0123456789) of the final portion (rid0123456789) of the chat’s URL. ## 2. Open the Notification settings page[​](#2-open-the-notification-settings-page "Direct link to heading") ### 2.1 Set up App notifications[​](#21-set-up-app-notifications "Direct link to heading") If you would like to set up app notifications, click on `Add notification setting` at the bottom right of the App Details Page. ![Screenshot of Chat-notification](/assets/images/notification-app-en-f7dc015d094c60c30ca9404c9d5f851d.png) ### 2.2 Set up Distribution Page notifications[​](#22-set-up-distribution-page-notifications "Direct link to heading") If you would like to set up Distribution Page notifications, go to the Distribution Page and click on `Notifications` from the left menu. Next, click on `Add integration`. ![Screenshot of Chat-notification](/assets/images/notification-distribution-en-8e73bcc2e24915fc3d3eca5d72fa5a2e.png) ## 3. Integrate Chatwork from the Notification settings page​[​](#3-integrate-chatwork-from-the-notification-settings-page "Direct link to heading") On the Notification settings page, select `Chatwork` and enter the `API Token` and `API ID` you obtained in section 1. Click on `Add an integration` to complete. ![Screenshot of Chat-notification](/assets/images/notification-chatwork-en-566c059f0e6afa4c97b86b62c4ea84b7.png) --- # Send Event Notifications to Slack tip Settings can be configured on a per-app or Distribution Page basis. ## 1. Open the Notification settings page[​](#1-open-the-notification-settings-page "Direct link to heading") ### 1.1 Set up App notifications[​](#11-set-up-app-notifications "Direct link to heading") If you would like to set up app notifications, click on `Add a notification setting` at the bottom right of the App Details Page. ![Screenshot of Chat-notification](/assets/images/notification-app-en-f7dc015d094c60c30ca9404c9d5f851d.png) ### 1.2 Set up Distribution Page notifications[​](#12-set-up-distribution-page-notifications "Direct link to heading") If you would like to set up Distribution Page notifications, go to the Distribution Page and click on `Notifications` from the left menu. Next, click on `Add integration`. ![Screenshot of Chat-notification](/assets/images/notification-distribution-en-8e73bcc2e24915fc3d3eca5d72fa5a2e.png) ## 2. Integrate Slack from the Notification settings page​[​](#2-integrate-slack-from-the-notification-settings-page "Direct link to heading") On the Notification settings page select `Slack` and click on the `Add to Slack` button. ![Screenshot of Chat-notification](/assets/images/notification-set-slack-en-68f600c08c037987c774f9bcd3f4571e.png) After clicking on the `Add to Slack` button, you will be redirected to Slack. Please follow the on-screen instructions to log in. ![Screenshot of Chat-notification](/assets/images/sign-in-to-slack1-b4f1cab419fe91c4e973f658fa9ff5db.png) ![Screenshot of Chat-notification](/assets/images/sign-in-to-slack2-0de19c264cdacaa294c7418cd1183556.png) If you are logged in to multiple Teams, a Team selection page will appear. Select the Team you would like to send notifications to. Then, as `a channel to post to an app`, select the Channel to send notifications to and click on `Allow` to proceed. ![Screenshot of Chat-notification](/assets/images/slack-integration-f477539f8618909a3ccf69cff9d579b5.png) Once the authorization is complete, you will return to the Notification settings page. Click on `Add an integration` to save. ![Screenshot of Chat-notification](/assets/images/add-slack-integration-en-0df3a26642e5e8134e307a2f98c67ecc.png) --- # Send Event Notifications to Teams tip Settings can be configured on a per-app or Distribution Page basis. ## 1. Create incoming Webhooks with Microsoft Teams​[​](#1-create-incoming-webhooks-with-microsoft-teams "Direct link to heading") Launch the Microsoft Teams app and create an incoming Webhook with Workflows. Please visit the following page for detailed instructions.
→ [Create incoming webhooks with Workflows for Microsoft Teams](https://support.microsoft.com/en-US/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498) Copy the created `HTTP POST URL`.
![Screenshot of Chat-notification](/assets/images/create-webhook-6df9ef99f9432d232d96d865a115776a.png) ## 2. Set up notifications on DeployGate[​](#2-set-up-notifications-on-deploygate "Direct link to heading") After creating an incoming Webhook on Microsoft Teams, proceed with DeployGate notification settings. ### 2.1 Set up App notifications[​](#21-set-up-app-notifications "Direct link to heading") If you would like to set up app notifications, click on `Add a notification setting` at the bottom right of the App Details Page. ![Screenshot of Chat-notification](/assets/images/notification-app-en-f7dc015d094c60c30ca9404c9d5f851d.png) ### 2.2 Set up Distribution Page notifications​[​](#22-set-up-distribution-page-notifications "Direct link to heading") If you would like to set up Distribution Page notifications, go to the Distribution Page and click on `Notifications` from the left menu. Next, click on `Add integration`. ![Screenshot of Chat-notification](/assets/images/notification-distribution-en-8e73bcc2e24915fc3d3eca5d72fa5a2e.png) ## 3. Add notifications from the Notification settings page[​](#3-add-notifications-from-the-notification-settings-page "Direct link to heading") The following Notification settings page will appear. Select `Teams` from the Service section, paste the URL you copied from [1. Create incoming Webhooks with Microsoft Teams](#1-create-incoming-webhooks-with-microsoft-teams), and click on `Add an integration` to save. ![Screenshot of Chat-notification](/assets/images/set-notification-en-f74910e1cd2a18051b5ccedaf17fe188.png) Once the authorization is complete, you will return to the Notification settings page. If all settings are configured correctly, you will see a confirmation message in the chat. ![Screenshot of Chat-notification](/assets/images/received-notofication-be0b26d7b521369360138b35079706e5.png) If the message doesn’t appear, the URL may be incorrect. Please review and address any errors by opening the notification from the Notification settings page to see applicable error messages. --- # Migrate from Visual Studio App Center DeployGate is offering a **[Switching Campaign with a 1-month free trial for those considering migrating from Visual Studio App Center](https://deploygate.com/app-center-migration?)**. Take advantage of this opportunity and give it a try! For more details, please visit [here](https://deploygate.com/app-center-migration). Visual Studio App Center is scheduled for retirement on March 31, 2025. This document outlines the migration process from Visual Studio App Center to DeployGate. Please visit [here](https://learn.microsoft.com/en-us/appcenter/retirement) for details about Visual Studio App Center’s retirement. DeployGate offers comparable features to the distribution features of Visual Studio App Center. Please see the following table to compare the features of DeployGate and Visual Studio App Center. | Feature | DeployGate | App Center | | ----------------------------------- | ---------- | ---------- | | App access management | ◯ | ◯ | | App uploads via API | ◯ | ◯ | | App distribution | ◯ | ◯ | | App installation without an account | ◯ | × | DeployGate also offers the following features that can be useful for dogfooding and QA. * [Capture feature](/docs/developer-guide/capture/about-capture.md) that simplifies bug and error reporting * Installing past revisions ## Upload Apps to DeployGate[​](#upload-apps-to-deploygate "Direct link to heading") To migrate from Visual Studio App Center to DeployGate, you must first upload built apps to DeployGate. You can upload apps in two ways. * [Manually upload the app file (APK/AAB/IPA)](/docs/developer-guide/setup/upload-app-dg.md) * [Use an API to upload an app](/docs/api/application/upload.md) If you do not already have a DeployGate account, please visit [Sign up for DeployGate](/docs/developer-guide/setup/sign-up-individual.md) for information on how to create an account. ### Using Azure Pipelines[​](#using-azure-pipelines "Direct link to heading") If you used Visual Studio App Center for your builds, [Microsoft recommends that you export your build configurations to Azure Pipelines](https://learn.microsoft.com/en-us/appcenter/retirement#alternative-solutions). After following the instructions outlined in [this document](https://learn.microsoft.com/en-us/appcenter/build/export-to-azure-pipelines) to export to Azure Pipelines, you can upload from Azure Pipelines to DeployGate. To upload from Azure Pipelines to DeployGate, you must add a DeployGate upload process to the Azure Pipelines configuration file (azure-pipelines.yml). You can use DeployGate API to upload apps with `steps.bash` or `steps.script`. ``` trigger: - main pool: vmImage: 'macos-latest' steps: - script: | curl https://deploygate.com/api/users//apps \ -H "Authorization: Bearer $(API_TOKEN)" \ -X POST \ -F "file=@" \ --form-string "message=sample" displayName: 'Upload to DeployGate' ``` In this example, `/path/to/application_file_path` specifies the app file’s (APK/AAB/IPA) path to upload the app to DeployGate. Additionally, replace `` with the DeployGate upload destination owner’s name. Replace API\_TOKEN with the DeployGate API token registered as the Azure Pipelines secret. Please refer to [DeployGate API Reference](/docs/api/.md) for information about the DeployGate API token. Please visit the [Azure Pipelines document](https://docs.microsoft.com/en-us/azure/devops/pipelines/) for information on Azure Pipelines secrets, `steps.bash`, and `steps.script`. ## Distribute Apps[​](#distribute-apps "Direct link to heading") These steps outlined how to upload apps to DeployGate. Next, learn how to distribute apps to Team members. Please visit [Two distribution methods](/docs/developer-guide/learning/two-ways-distribution.md) for details on how to distribute apps. --- # Add Member to a Project Only Owners and Administrators can perform this operation. If you are on a Flexible/Enterprise Plan, only Workspace members can directly join a Project. *** On this page, we will explain how to add members to a Project. To add members to a Project, you must have a email address or username of the member. 1. Log in to DeployGate and visit [here](https://deploygate.com/organizations) to see a list of all the Projects you belong to. ![Project list showing available Workspaces](/assets/images/project-list_en-ea9a7109dbd4528e35052fb0328b3516.png) 2. Select a Project to view its Project Dashboard. ![Workspace dashboard with member management options](/assets/images/project-overall_en-abf24592984b8d412eb71819f5a7e582.png) 3. Clicking on the `Member List` button will direct you to the Member Management screen as seen below. ![Member management screen showing current members and add member options](/assets/images/invited-member-by-email_en-a3e5b5ab4004f908c146cca3fe9d52c9.png) 4. Click on the `+Invite new member` button. Enter the username or email address of the member you wish to add. 5. Click on the `Invite new member` button to send an invitation to the user. If the `Invite new member` button doesn’t appear The `Invite new member` button will not appear if the following applies: * You are not an Owner or Administrator ## Entering an Email Address[​](#entering-an-email-address "Direct link to heading") If the email address is not registered with DeployGate, an invitation email will be sent. Recipients can join the Project by opening the link and creating a DeployGate account or by logging in to their existing account. Invited users’ email addresses will appear on the Member List in the `Invited` section. ![Screenshot of Add Member](/assets/images/invited-member-by-email_en-a3e5b5ab4004f908c146cca3fe9d52c9.png) ## Entering a Username​[​](#entering-a-username "Direct link to heading") (Also applies if an email address is already associated with a DeployGate account) The user will be added to the Project immediately and their username will appear on the Member List. Invited members must be added to a team Invited members do not have any permissions until they are added to a team, so they cannot find any of apps on Project. To share apps with members, they must be added to a team. Invited users can be assigned to teams even if they have not registered on DeployGate. [Team Member Management](/docs/developer-guide/team/manage-team-member.md) ## If you want to add a user who is not a Workspace member​[​](#if-you-want-to-add-a-user-who-is-not-a-workspace-member "Direct link to heading") If you would like to invite a user to Project who isn’t a Workspace member, please follow the instructions in [A Workspace Administrator invites a user to join a Project](#a-workspace-administrator-invites-a-user-to-join-a-project) or [A user without Workspace Administrator privileges invites a user to join a Project (Submit request to Administrator for approval)](#a-user-without-workspace-administrator-privileges-invites-a-user-to-join-a-project-submit-request-to-administrator-for-approval). [YouTube video player](https://www.youtube.com/embed/2yRCc6t8hao?si=U7qV5bKc1PkU48or) ### A Workspace Administrator invites a user to join a Project[​](#a-workspace-administrator-invites-a-user-to-join-a-project "Direct link to heading") 1. From the Project Dashboard, click on `Member List` to go to the Member Management page. 2. Click on the `Invite new members` button. ![Screenshot of Invite New Member](/assets/images/invite-new-member-from-group-en-449eac66bbaa77fd48972add750b75c1.png) 3. Enter the email address of the member you wish to add. Click on the `Invite and Add to Workspace` button. ![Screenshot of Input New Member\'s Mail Address](/assets/images/input-new-member-address-en-80776934750d1b5ca70ad98a9ec47b77.png) 4. The new member will appear on the Member Management page. ![Screenshot of Confirm the Added Member in the List](/assets/images/new-member-successfully-invited-en-b9973ad96403c55c6910bcd9deefb658.png) ### A user without Workspace Administrator privileges invites a user to join a Project (Submit request to Administrator for approval)​[​](#a-user-without-workspace-administrator-privileges-invites-a-user-to-join-a-project-submit-request-to-administrator-for-approval "Direct link to heading") Members who meet the two conditions below can submit an invitation request from the Project dashboard for users who are not yet in the Workspace. * Does not have the Workspace “Add/Invite Members” permission. (e.g. "General User") → [About Workspace Member Permissions](/docs/administrator-guide/member/ep-member-permission.md) * Has the project “Add/Invite Members” permission. (e.g. "Owner" team) → [About Project Team Permissions](/docs/developer-guide/team/manage-team-role.md) 1. From the Project Dashboard, click on `Member List` to go to the Member Management page. 2. Click on the `Invite new members` button. ![Screenshot of Invite New Member](/assets/images/invite-new-member-from-group-en-449eac66bbaa77fd48972add750b75c1.png) 3. Enter the email address of the member you wish to add. Include any comments (optional) for Workspace Administrators. Click on the 'Submit request' button. ![Screenshot of Request Invitation of New Member](/assets/images/request-invitation-member-en-9b657023c99f3aaf4ac147e51477b953.png) 4. If you see the message, “The invitation request has been submitted,” your request is complete. The new user will not be added to the Project until a Workspace Administrator approves your request. ![Screenshot of Confirm the Added Member in the List](/assets/images/member-add-request-sent-en-633f1531a8b4e62344249b6d1d39f44e.png) Invitations to the Workspace require Workspace Administrator approval. Please wait for a Workspace Administrator to approve your member invitation request. Please visit [Approve Member Invitation Requests](/docs/administrator-guide/member/ep-member-approve.md) for more information on how to approve an invitation request. --- # Delete Project Only the **administrator** can delete Project in your Workspace.
Please visit [this page](/docs/administrator-guide/ep-group/ep-delete-group.md) for more details. --- # Delete Member from a Project Only Owners and Administrators can perform this operation. *** On this page, we will explain how to delete members from a Project. Members deleted from a Project will lose access to the apps Once a user is deleted as a Project member, they will also be deleted from all applicable teams. A deleted member will no longer have access to the Project and its apps. However, the member will retain their DeployGate account and will continue to have access to their own Individual Project as part of the Free Plan. 1. To delete a member from a Project, open the Project Dashboard and click on the “Member List” button. ![Project dashboard showing member management section](/assets/images/project-overall_en-abf24592984b8d412eb71819f5a7e582.png) 2. Click on the `×` next to the name (or the email address for invited users without a DeployGate account) of the member you wish to delete. ![Member list with delete button (X) next to each member](/assets/images/group-member-list-for-delete_en-7fa3b11318c5bf25a417390448c960f5.png) 3. A confirmation popup will appear. Click on `OK` to delete the user from the Project. If you wish to delete an invited user who has yet to accept an invitation, please note that the email invitation itself cannot be canceled. However, the registration link within that email will be disabled. The user will not be able to use the link to access the Project or register. --- # Using Projects API Key When conducting automatic builds with CI (Continuous Integration), API Key of the Project can be used to upload apps and other operations. *** Maximizing the Project API Key By using a Project API Key, individual API Keys will no longer be necessary. This means that system maintenance, including automatic builds, will not be affected by membership changes or deletions. 1. Click `Show Project API Key` at the right bottom of the Project Dashboard. ![Project dashboard showing API key section](/assets/images/project-overall_api-key_en-cac00745a6d75a04894703b6f423d4ab.png) 2. The Project API Key can be used for [Upload App API](/docs/api/application/upload.md) as an api token. ![A dialog that displays the API key and a refresh button.](/assets/images/project-api-key_en-2eb0a1e5c3aca359e4c7412512883bff.png) About the Project API Key The Project API Key is only valid for a specific Project. If the Refresh API Key button is selected, a new API Key will be generated. The old API Key will become invalid. --- # Projects Overview On this page, we will provide an overview of Projects. *** When you access the project details page, a screen like the one shown in the screenshot below will open. ![Project dashboard showing member permissions and team structure](/assets/images/project-overall_en-abf24592984b8d412eb71819f5a7e582.png) At DeployGate, members invited to a Project have different permissions that depend on their assigned team. # Using Projects Effectively Projects offer the ability to centrally manage app information when developing apps with multiple people. Multiple members can manage apps together. Assigning Project members to “Teams” provides flexibility regarding access rights and permissions. * Your team includes not only the app developer, but also directors, designers, and/or other individuals. * You want non-developer users to also manage apps and distribution pages. * You want the ability to manage users who have access to the apps. ![Organization structure diagram showing team roles and permissions](/assets/images/project-overall-chart-en-b34e28a1a94d542b63af767f8b74fe45.png) ## Share Project Dashboard with Multiple Developers​[​](#share-project-dashboard-with-multiple-developers "Direct link to heading") Projects allow multiple users to manage apps. It is safe and secure to share app management, as only explicitly designated users can access the Project Dashboard, with no shared accounts or passwords involved. Additionally, an administrative user can be responsible for user management so that tasks such as hiring/turnover/human resources management can be completed by dedicated staff. This enables developers and administrators to focus on their respective duties. ## Manage App Permissions Through Teams​[​](#manage-app-permissions-through-teams "Direct link to heading") You can create multiple teams for a Project. Each team can have multiple users and apps, and a team can have one of the following permissions. * Administrator: Access to all operations, including adding apps and managing users (some functions are excluded, such as payments) * Developer: Update existing apps and create distribution pages * Tester: Download apps only These settings can prevent testers from accidentally updating an app. Development teams can manage their unpublished projects confidently without the worry of premature release to the public. --- # Confirm Projects On this page, we will explain how to confirm your Projects. *** Log in to DeployGate and visit [here](https://deploygate.com/organizations) to see a list of all the Projects you belong to. ![Screenshot of List of Projects](/assets/images/project-list_en-ea9a7109dbd4528e35052fb0328b3516.png) * The Projects displayed under "Free/Flexible/Enterprise" next to Workspace name are Workspace Projects * The Project displayed under “My Workspace” is a project for old Individual plan. * Organizations displayed under “Organizations” are the Organizations with the Old Corporation & Organization Plans (Startup, Business, Large Business). ## Workspace Projects[​](#workspace-projects "Direct link to heading") The Workspace Projects are listed under the plan names "Flexible" or "Enterprise". ![Screenshot of List of projects](/assets/images/project-list_workspace_en-7d44c605354e401427c883fff8723467.png) * The Workspace Projects are available only for plans providing Workspace features. * In Workspace, you can create multiple Projects and all of them you have access are listed on this page. * Only owners of the Project can change the Project name. * You can specify multiple owners. Please review [this page](/docs/developer-guide/team/manage-team-member.md) for the detail. * For more details on Workspace, please visit [this page](/docs/administrator-guide/learning/about-enterprise.md). ## Project for Old Individual Plan[​](#project-for-old-individual-plan "Direct link to heading") Project for Old Individual Plan is displayed under “My Workspace.” ![Screenshot of List of projects](/assets/images/project-list_individual_en-a4b2bba2b00619aca0ac3f9f83fd38a4.png) * When you sign up for a DeployGate account, you can use the Project for old Individual plan for free. * The name of Project for old Individual plan is set as your username that you chose when you signed up for DeployGate. * The Project for old Individual plan created by default cannot be removed and you cannot add another Project. * The Project for old Individual plan is linked to the user account and you cannot change its owner. * The Project for old Individual plan has limited features and functionality. * Please visit [this page](/docs/developer-guide/group/setup-individual-group.md) for information on how to set up an Individual Organization. Your Plan Type May Vary Due to our ongoing service updates, we are concurrently offering both Current Plans and Old plans. If you signed up for DeployGate prior to the launch of our Current Plans, you may be on an Old Plan. If you would like to view your account details, please log in to DeployGate and click [here](https://deploygate.com/payments).
Alternatively, go to Account Settings > Plans.
\*Please note that Old Plans cannot be modified. Changes may require you to cancel your Old Plan and subscribe to a Current Plan. ## Corporation & Organization Plan Organizations[​](#corporation--organization-plan-organizations "Direct link to heading") Organizations displayed under “Organizations” are the Organizations with the Old Corporation & Organization Plans (Startup, Business, Large Business). ![Screenshot of List of projects](/assets/images/project-list_organization_en-b33fc240265e31b4f54037c172ef8218.png) * Only Old Oranization Plans users can use. * Please visit [this page](/docs/developer-guide/old_group/organization-overall.md) for more deitals. --- # Set Up Project On this page, we will explain how to set up the Project under the Workspace. *** Only Individual Projects Available for Old Individual Plan Please visit [this page](/docs/developer-guide/group/group-specification.md) for details on the differences between a Individual Project and a Workspace Project. ## If You Do Not Have a DeployGate Account​[​](#if-you-do-not-have-a-deploygate-account "Direct link to heading") If you do not have a DeployGate account, you must have a DeployGate account that can serve as an administrator before you can create a Project. Please visit [this](/docs/administrator-guide/setup/sign-up-individual.md) page for information on how to create an account. ## If You Have a DeployGate Account​[​](#if-you-have-a-deploygate-account "Direct link to heading") If you have a DeployGate account, log in to DeployGate and visit [this page](https://deploygate.com/organizations) to view a list of all of your Projects. ![Project list page showing all available Projects](/assets/images/project-list_en-ea9a7109dbd4528e35052fb0328b3516.png) ## Set Up Project[​](#set-up-project "Direct link to heading") The following screen will appear when you access your Project. ![Project details page showing configuration options](/assets/images/project-individual_en-0accfcb1e6a6909de775b9854fb986f7.png) ### (1) Project Name[​](#1-project-name "Direct link to heading") The name of your Project will be displayed here. The name of Project for Old Individual plan is set as your username The name of Individual Project is same as username you chose when you created an account and it cannot be changed. ### (2) Project Description[​](#2-project-description "Direct link to heading") Clicking on the box under the Project name will allow you to enter a brief description of your Project. (English/Japanese) ### (3) Applications[​](#3-applications "Direct link to heading") Applications uploaded to the Project are listed here. ### (4) Teams[​](#4-teams "Direct link to heading") “Owners” and “Testers” teams are created by default and cannot be changed the team names. Please visit [here](/docs/developer-guide/team/manage-team-role.md) for information on team permissions. ### (5) Members[​](#5-members "Direct link to heading") The Member List shows other users who have joined the Project. Please visit [this page](/docs/developer-guide/group/add-member.md) for information on how to invite users to a Project. ### (6) Project Settings[​](#6-project-settings "Direct link to heading") The following screen will appear when you click on the “Settings” button. ![Project settings page with configuration options](/assets/images/group-setting-449b6114d12ab913aa5e59078f2e4b9a.png) While you cannot change the Project name, you can modify the display name to make you find the Project easier. --- # What is Instant Device? Instant Device is in Beta This feature is provided as a beta version. Features may be changed or restricted without prior notice. App Size Limitation Instant Device supports apps up to 1.5GB. Apps larger than this are not supported. [vimeo-player](https://player.vimeo.com/video/1127867388?h=f8b07e2f79) ## What is Instant Device?[​](#what-is-instant-device "Direct link to heading") Instant Device is a feature that allows you to launch and operate mobile apps directly in your browser from a DeployGate Distribution Page. You can verify your app's behavior across various devices and OS environments without having physical smartphones or tablets. ![Screenshot of the Instant Device](/assets/images/launched-instant-device_en-317af559996d45c2288dff3d16f8a8ae.png) *** ## Benefits of Using Instant Device[​](#benefits-of-using-instant-device "Direct link to heading") ### 1. Launch Apps Instantly[​](#1-launch-apps-instantly "Direct link to heading") Simply open a URL to launch your app in your browser. No need for physical device preparation, USB connection, UDID registration, or installation procedures. **Choosing the Right Verification Method** App verification during development can be divided into two phases: * **Primary Verification**: Basic functionality checks such as UI display, text content, and screen transitions * **Secondary Verification**: Performance on physical devices, integration with OS-specific features (camera, notifications, location services, etc.), and device-specific behavior verification Instant Device is ideal for primary verification. When you determine that detailed verification on a physical device is necessary, you can transition to physical device installation from the same Distribution Page. ### 2. Share via URL[​](#2-share-via-url "Direct link to heading") Simply share the Distribution Page URL, and team members can verify the app in their browsers. * Share by posting URLs in Slack, GitHub Issues, etc. * The entire team can discuss while viewing the same version * No need to explain installation procedures ### 3. Streamline Minor Verification Tasks[​](#3-streamline-minor-verification-tasks "Direct link to heading") Physical device installation is unnecessary for verifying minor changes such as text corrections or button color changes. * Complete verification instantly in browser * Spend time on detailed aspects that can only be verified on physical devices * Clear prioritization of verification tasks ### 4. Accessible to Stakeholders Without Physical Devices[​](#4-accessible-to-stakeholders-without-physical-devices "Direct link to heading") Anyone with a PC browser can verify app behavior. * Stakeholders without physical devices can verify * Accessible without technical knowledge * Easy to share the latest version status ### 5. Reduce Device Purchase Costs[​](#5-reduce-device-purchase-costs "Direct link to heading") You can verify app behavior on multiple devices without having physical devices on hand. * No need to purchase test devices * Reduce device management and maintenance costs * No storage space required ### 6. Supported Devices[​](#6-supported-devices "Direct link to heading") Supports the following devices and operating systems: | Supported OS | Supported Devices | | ------------ | ---------------------------------------------------------------- | | iOS | iPhone 8 to 16 Pro Max, iPad Air, iPad Pro 12.9, iPad, iPad mini | | Android | Nexus 5, Pixel 4 to Pixel 9 XL, Galaxy Tab S7, Pixel Tablet | *** ## Key Features[​](#key-features "Direct link to heading") ### Launch and Operate Apps Directly in Browser[​](#launch-and-operate-apps-directly-in-browser "Direct link to heading") Launch apps with one click from the Distribution Page. You can perform operations just like on a physical device, including tap, swipe, text input, and more. * **Immediacy**: Open a URL and launch the app in seconds * **Convenience**: No physical device preparation or installation procedures required * **High Fidelity**: Not just a screen simulator—operate apps in an environment close to physical devices * **Multi-platform**: Supports both iOS and Android apps ### Launch Multiple Devices Simultaneously[​](#launch-multiple-devices-simultaneously "Direct link to heading") By opening multiple Instant Device browser windows, you can compare behavior across different device models and operating systems side by side. ![Screenshot of the Instant Device](/assets/images/multiple-instant-device-screen_en-5edd157e75464f11f2479af15dc98fa7.png) ### Switch Screen Orientation[​](#switch-screen-orientation "Direct link to heading") You can freely switch between Portrait and Landscape orientations to verify your app's screen rotation handling. *** ## Target Users[​](#target-users "Direct link to heading") Instant Device is available to **Workspace members**. Only Workspace Members Can Use Instant Device For instructions on how to add members, please see [this page](/docs/administrator-guide/member/ep-add-member.md). When accessing a Distribution Page, make sure to log in with a member account. *** ## Next Steps[​](#next-steps "Direct link to heading") For more information on how to use Instant Device, please see the following pages: * [Getting Started with Instant Device](/docs/developer-guide/instant-device/getting-started.md) - Introduction guide for first-time users * [How to Use Instant Device](/docs/developer-guide/instant-device/basic-usage.md) - Operation methods and useful features * [Instant Device Use Cases](/docs/developer-guide/instant-device/use-cases.md) - Specific use case examples --- # How to Use Instant Device Instant Device is in Beta This feature is provided as a beta version. Features may be changed or restricted without prior notice. This page introduces the basic operations and useful features of Instant Device. *** ## Basic Operations[​](#basic-operations "Direct link to heading") ### Launching the App[​](#launching-the-app "Direct link to heading") From the Instant Device section on the Distribution Page, select the device, OS, and screen orientation, then click the `Launch App` button. ![Screenshot of the Instant Device feature](/assets/images/run-instant-device_en-d4ce49a3b9bb5422a3b24817fded9666.png) Instant Device will launch in a new window, displaying your app with the selected configuration. ![Screenshot of the Instant Device feature](/assets/images/launched-instant-device_en-317af559996d45c2288dff3d16f8a8ae.png) ### Operating the App[​](#operating-the-app "Direct link to heading") Within the launched Instant Device, you can operate the app just like on a real device: * **Tap**: Click with your mouse * **Swipe**: Drag with your mouse * **Text Input**: Type directly with your keyboard * **Scroll**: Use your mouse wheel or drag *** ## Changing Device Settings[​](#changing-device-settings "Direct link to heading") ### Supported Devices and OS[​](#supported-devices-and-os "Direct link to heading") Instant Device supports the following devices and operating systems: | Supported OS | Supported Devices | | ------------ | ---------------------------------------------------------------- | | iOS | iPhone 8 to 16 Pro Max, iPad Air, iPad Pro 12.9, iPad, iPad mini | | Android | Nexus 5, Pixel 4 to Pixel 9 XL, Galaxy Tab S7, Pixel Tablet | ### Switching Screen Orientation[​](#switching-screen-orientation "Direct link to heading") You can freely switch between Portrait and Landscape orientations. This is useful for verifying your app's screen rotation handling. *** ## Taking Screenshots[​](#taking-screenshots "Direct link to heading") With Instant Device, you can take screenshots directly in your browser. ### Benefits of Taking Screenshots[​](#benefits-of-taking-screenshots "Direct link to heading") * **Complete on PC**: No need to transfer images from a physical device to your PC * **Efficient**: Quickly capture multiple screens * **Instant Sharing**: Attach captured images directly to documents or chat tools ### How to Take Screenshots[​](#how-to-take-screenshots "Direct link to heading") You can use your browser's standard screenshot functionality or capture tools: #### For macOS[​](#for-macos "Direct link to heading") * `Command + Shift + 4`: Select an area to screenshot * `Command + Shift + 3`: Screenshot the entire screen #### For Windows[​](#for-windows "Direct link to heading") * `Windows + Shift + S`: Screenshot with Snipping Tool * `PrtScn`: Screenshot the entire screen #### Using Browser Developer Tools[​](#using-browser-developer-tools "Direct link to heading") 1. Open your browser's developer tools (F12 key) 2. Display the device toolbar 3. Use the screenshot option *** ## Simultaneous Verification on Multiple Devices[​](#simultaneous-verification-on-multiple-devices "Direct link to heading") One of Instant Device's major features is the ability to open multiple browser windows and verify app behavior on different devices simultaneously. ![Screenshot of the Instant Device](/assets/images/multiple-instant-device-screen_en-5edd157e75464f11f2479af15dc98fa7.png) ### How to Use[​](#how-to-use "Direct link to heading") 1. Keep the Distribution Page open and launch multiple Instant Devices with different settings 2. Arrange the windows side by side 3. Perform the same operations on each device and verify behavioral differences ### Useful Comparison Cases[​](#useful-comparison-cases "Direct link to heading") * **Verify display differences between iOS and Android** * **Compare display on different screen sizes** (iPhone vs iPad, smartphone vs tablet) * **Simultaneously verify Portrait and Landscape layouts** * **Verify behavior on different OS versions** *** ## Switching Revisions on the Distribution Page[​](#switching-revisions-on-the-distribution-page "Direct link to heading") When you change the revision (app version) to distribute from the Distribution Page, the app version launched by Instant Device will also change. ### Steps to Switch Revisions[​](#steps-to-switch-revisions "Direct link to heading") 1. Open the `Update Distribution` section on the Distribution Page 2. Select the revision you want to launch 3. Update the Distribution Page 4. When you launch Instant Device, the new revision will start This allows you to easily compare the behavior of different app versions. *** ## Usage Notes[​](#usage-notes "Direct link to heading") ### What Instant Device Cannot Do[​](#what-instant-device-cannot-do "Direct link to heading") The following features may be unavailable or limited in Instant Device: * Hardware features such as camera and microphone * Some sensor features (accelerometer, GPS, etc.) * Push notifications * Certain native features To verify these features, testing on a physical device is required. ### About Performance[​](#about-performance "Direct link to heading") * Operation response speed may vary depending on your network environment * Complex animations or heavy processing may feel slower than on a physical device ### Session Expiration[​](#session-expiration "Direct link to heading") Instant Device sessions have an expiration time. If you don't use it for an extended period, please launch it again. *** ## Next Steps[​](#next-steps "Direct link to heading") For specific use cases utilizing Instant Device, please see [Instant Device Use Cases](/docs/developer-guide/instant-device/use-cases.md). --- # Getting Started with Instant Device Instant Device is in Beta This feature is provided as a beta version. Features may be changed or restricted without prior notice. This page explains the steps to get started with Instant Device for first-time users. *** ## Prerequisites[​](#prerequisites "Direct link to heading") To use Instant Device, you must meet the following conditions: ### Supported Plans[​](#supported-plans "Direct link to heading") Instant Device is available on the following plans: * **Flexible Plan** * **Enterprise Plan** About Plans For details on plans and how to change your plan, please check your DeployGate Workspace management console. ### Instant Device Feature Must Be Enabled[​](#instant-device-feature-must-be-enabled "Direct link to heading") To use Instant Device, you need to enable the feature in your Workspace. **How to Enable:** 1. Access [DeployGate](https://deploygate.com) and open an uploaded app 2. Check the "Instant Device" section displayed in the right column 3. Click the "Learn More" button to navigate to the activation page 4. Follow the on-screen instructions to enable the feature ![Instant Device activation on app detail page](/assets/images/app_detail_page-f71bbfc6d185e86bf9acc31fb87ed527.png) ![Instant Device activation modal](/assets/images/instant_device_modal-8f50f9252cacd1f4e09c79d2f2dacbc9.png) ### You Must Be a Workspace Member[​](#you-must-be-a-workspace-member "Direct link to heading") Instant Device is a feature that can only be used by **Workspace members**. Only Workspace Members Can Use Instant Device For instructions on how to add members, please see [this page](/docs/administrator-guide/member/ep-add-member.md). When accessing a Distribution Page, make sure to log in with a member account. ### Your App Must Be Uploaded to DeployGate[​](#your-app-must-be-uploaded-to-deploygate "Direct link to heading") The app you want to launch with Instant Device must be uploaded to DeployGate in advance. **For Android Apps:** Upload a standard APK or AAB file. **For iOS Apps:** To use Instant Device, you need to upload a **zip file containing the .app directory built for the simulator** along with the ipa file. **How to Create a Simulator Build:** 1. Build your app for the simulator in Xcode 2. Locate the built `.app` directory (usually in the `DerivedData` folder) 3. Compress the `.app` directory into a zip file 4. Upload it to DeployGate along with the ipa file About iOS Simulator Builds If a simulator build is not uploaded, you will not be able to launch the app with Instant Device. Please note that it will not work with only the device ipa file. If you haven't uploaded your app yet, please see [How to Upload Apps](/docs/developer-guide/app/upload-app.md). *** ## Getting Started Steps[​](#getting-started-steps "Direct link to heading") ### Step 1: Re-Upload Your App[​](#step-1-re-upload-your-app "Direct link to heading") App revisions uploaded after enabling the Instant Device feature will be available for Instant Device. If you want to use Instant Device with an already uploaded app, please re-upload the app after enabling the feature. info Revisions uploaded before enabling the Instant Device feature cannot be launched with Instant Device. You must upload a new revision after enabling the feature. For instructions on how to upload apps, please see [How to Upload Apps](/docs/developer-guide/app/upload-app.md). ### Step 2: Prepare a Distribution Page[​](#step-2-prepare-a-distribution-page "Direct link to heading") Since Instant Device is displayed on Distribution Pages, you need to create a Distribution Page for your target app. #### When Creating a New Distribution Page[​](#when-creating-a-new-distribution-page "Direct link to heading") 1. Log in to DeployGate 2. Open the app details page for the app you want to distribute 3. Create a Distribution Page For detailed instructions on creating Distribution Pages, please see [this page](/docs/developer-guide/link-distribution/distribute-by-link.md). #### When Using an Existing Distribution Page[​](#when-using-an-existing-distribution-page "Direct link to heading") If you're using a Distribution Page created before the Instant Device feature was added, you need to update the Distribution Page once. 1. Open the target Distribution Page 2. Update it by changing the revision to distribute from the `Update Distribution` menu This will add the Instant Device feature to the Distribution Page. ### Step 3: Launch Instant Device[​](#step-3-launch-instant-device "Direct link to heading") Once your Distribution Page is ready, let's launch Instant Device. 1. Open the Distribution Page 2. Find the "Instant Device" section on the page 3. Select the conditions you want to launch: * **Device**: Select the device you want to use (e.g., iPhone 16 Pro, Pixel 9, etc.) * **OS**: Select the OS version * **Orientation**: Portrait or Landscape 4. Click the `Launch App` button ![Screenshot of the Instant Device feature](/assets/images/instant-device_en-e12d25fadf514a48de850762fcf0b6d3.png) ### Step 4: Verify the App in Your Browser[​](#step-4-verify-the-app-in-your-browser "Direct link to heading") When you click the `Launch App` button, a new window or tab will open and your app will launch on the selected device. ![Screenshot of the Instant Device feature](/assets/images/launched-instant-device_en-317af559996d45c2288dff3d16f8a8ae.png) That's it! You've successfully started using Instant Device! *** ## Next Steps[​](#next-steps "Direct link to heading") For basic usage and useful features of Instant Device, please see the following pages: * [Basic Usage of Instant Device](/docs/developer-guide/instant-device/basic-usage.md) * [Instant Device Use Cases](/docs/developer-guide/instant-device/use-cases.md) *** ## Troubleshooting[​](#troubleshooting "Direct link to heading") ### Instant Device Doesn't Appear[​](#instant-device-doesnt-appear "Direct link to heading") Please check the following: * Are you logged in as a Workspace member? * Is the Distribution Page updated to the latest version? ### App Won't Launch[​](#app-wont-launch "Direct link to heading") Please check the following: * Check if your browser's popup blocker is enabled * Check if your network environment is stable * Try using a different browser --- # Instant Device Use Cases Instant Device is in Beta This feature is provided as a beta version. Features may be changed or restricted without prior notice. This page introduces specific use cases for Instant Device, organized by role. *** ## 1. Developers (Engineers)[​](#1-developers-engineers "Direct link to heading") ### Pull Request Reviews[​](#pull-request-reviews "Direct link to heading") By including the Instant Device URL in a PR, reviewers can verify functionality without building locally. **How to Use**: 1. Create a PR and add the Distribution Page URL to the PR description 2. Reviewers verify functionality using Instant Device from the URL 3. Conduct code review and functional verification in parallel 4. Perform detailed verification on a physical device if needed ### Verifying Minor Changes[​](#verifying-minor-changes "Direct link to heading") Can be used to verify minor changes such as text corrections or button color changes. **How to Use**: 1. Modify code and build 2. Upload to DeployGate 3. Verify with Instant Device 4. Merge if there are no issues, or perform additional verification on a physical device if concerns arise *** ## 2. Product Managers (PdM) / Directors[​](#2-product-managers-pdm--directors "Direct link to heading") ### Sprint Reviews[​](#sprint-reviews "Direct link to heading") All participants can verify by operating the app on their own PCs. **How to Use**: 1. Share the Distribution Page URL before the sprint review 2. All participants open Instant Device on their respective PCs 3. Each person verifies features while operating 4. Provide feedback on any concerns ### Feature Verification During Development[​](#feature-verification-during-development "Direct link to heading") Because you can verify instantly in a browser, you can provide feedback at an early stage. **How to Use**: 1. Receive a verification request URL from developers 2. Verify in browser 3. Provide feedback on any concerns 4. Perform detailed verification on a physical device if needed *** ## 3. Marketing / Sales Staff[​](#3-marketing--sales-staff "Direct link to heading") ### Creating Promotional Materials[​](#creating-promotional-materials "Direct link to heading") You can view app screens in your PC browser and capture screenshots. **How to Use**: 1. Open the Distribution Page URL 2. Display new features with Instant Device 3. Capture images using your PC's screenshot function 4. Use in promotional materials or social media posts ### Demos at Business Meetings / Events[​](#demos-at-business-meetings--events "Direct link to heading") Since you can demo with just a browser, preparing physical devices is unnecessary. **How to Use**: 1. Prepare the Distribution Page URL before the business meeting 2. Open the URL in a browser 3. Demo the app 4. Can also show displays on multiple devices *** ## 4. Customer Support (CS) / QA Staff[​](#4-customer-support-cs--qa-staff "Direct link to heading") ### Verifying Issues by Version[​](#verifying-issues-by-version "Direct link to heading") While switching between multiple versions in the browser, you can verify the scope of issue occurrence. **How to Use**: 1. Receive an issue report 2. Open the Distribution Page for the reported version 3. Verify if the issue reproduces with Instant Device 4. Verify with previous and subsequent versions to identify the scope of occurrence 5. Conduct detailed investigation on a physical device if needed ### Creating Help Documentation[​](#creating-help-documentation "Direct link to heading") You can operate the app in your PC browser and capture screenshots directly. **How to Use**: 1. Launch the app with Instant Device 2. Execute the operation procedures you want to document 3. Use your PC's screenshot function at each step 4. Insert the captured images into documentation *** ## 5. Other Use Cases[​](#5-other-use-cases "Direct link to heading") ### Simultaneous Comparison on Multiple Devices[​](#simultaneous-comparison-on-multiple-devices "Direct link to heading") Even without physical devices on hand, you can verify app behavior on multiple devices side by side. **How to Use**: 1. Launch multiple Instant Device windows from the Distribution Page 2. Arrange browser windows side by side 3. Display the same screen on each device and verify layout differences 4. Capture screenshots and attach to reports ![Screenshot of the Instant Device](/assets/images/multiple-instant-device-screen_en-5edd157e75464f11f2479af15dc98fa7.png) ### Comparison Testing Between Versions[​](#comparison-testing-between-versions "Direct link to heading") You can compare new and previous versions side by side. **How to Use**: 1. Select the old version on the Distribution Page and launch Instant Device 2. Launch the new version by switching revisions 3. Arrange the two windows side by side, perform the same operations, and compare behavior 4. Verify differences and check for regressions *** ## Summary[​](#summary "Direct link to heading") Instant Device is a feature that allows you to launch and verify apps in a browser. ### Use Cases by Role[​](#use-cases-by-role "Direct link to heading") * **Developers**: PR reviews, minor change verification * **PdM/Directors**: Sprint reviews, feature verification * **Marketing/Sales**: Material creation, demos * **CS/QA**: Version verification, documentation creation ### Choosing the Right Verification Method[​](#choosing-the-right-verification-method "Direct link to heading") Instant Device is not a replacement for physical device installation. You can choose the appropriate method based on what you need to verify. * **Primary Verification**: UI display, text, screen transitions, etc. → Instant Device * **Secondary Verification**: Performance, OS-specific features, etc. → Physical device When needed, you can transition to physical device installation from the same Distribution Page. *** ## Related Pages[​](#related-pages "Direct link to heading") * [What is Instant Device](/docs/developer-guide/instant-device/about-instant-device.md) - Overview and detailed benefits * [Getting Started with Instant Device](/docs/developer-guide/instant-device/getting-started.md) - Introduction guide for first-time users * [How to Use Instant Device](/docs/developer-guide/instant-device/basic-usage.md) - Operation methods and useful features --- # What is DeployGate? ## 1. What is DeployGate?​[​](#1-what-is-deploygate "Direct link to heading") DeployGate is a service for distributing iOS/Android apps and obtaining feedback for app improvements. With DeployGate, not only can you distribute unreleased apps to QA testers, but you can also allow anyone, whether on your team or not, to test prototypes from the early stages of development using just a link. Uploading an app to DeployGate from a browser or with a CI autobuild will notify testers about app updates, which allows testing and verification to be performed immediately. Installing apps under development onto actual devices is a difficult task for non-developers. Despite testers’ varying environments and circumstances, DeployGate helps them install your apps onto their devices by enabling non-developers to search, install, and troubleshoot apps on their own. As such, developers can implement the cycle of “device verification, feedback, and improvement,” which is necessary to create high-quality apps, unencumbered and with ease. DeployGate is primarily designed for team app development and can be adapted to accommodate a team’s expansion and changes throughout the long lifespan of an app’s operation. Whether a small startup with a single developer, a large organization with separate IT and development departments, or an enterprise conglomerate with multiple companies, DeployGate is suitable for organizations of all sizes over the long term. ## 2. What is a Project?​[​](#2-what-is-a-project "Direct link to heading") DeployGate Project is a unit for managing apps and members. A Project can contain multiple apps and teams, and it’s possible to assign necessary members to apps on a per-team basis. Projects are designed to be used on a per-project basis, where each app development project encompasses a single project. For example, if you create a Project for the development project of ABC Company (communication services), you can upload multiple variations of an app - an ABC Company public store version and a development version that accesses the test server for internal testing and verification. You can ensure that the correct people have access to the correct app by making sure that each version has an app development team, internal tester team, public relations team, and other necessary teams. ## 3. What is a Team?​[​](#3-what-is-a-team "Direct link to heading") A DeployGate Team is a unit for managing members within a Project. A team can have one of three roles - owner, developer, or tester. Each team can be assigned to multiple apps, and a member can be a member of multiple teams. Owners can update all of a Project’s apps and can also perform operations that can affect the entire Project, including uploading/adding/deleting apps, teams, and members. Developers can update apps that are associated with the team. They cannot delete apps, add or delete members or teams, or view apps that aren’t associated with the team. Testers can only install apps and view distribution pages associated with the team but cannot perform any updates. Teams allow for flexible access to apps while also restricting critical permissions to only authorized personnel. For example, you can create a team for customer support staff so that they can view the public version of an app. Adding a new project member’s email address to the relevant team will automatically send an invitation to them, allowing them to access that team’s apps immediately. --- # Tutorial On this page, we will outline the steps to distribute apps to others. This tutorial is designed for new DeployGate users. *** ## 1. Create an account and try it out yourself​[​](#1-create-an-account-and-try-it-out-yourself "Direct link to heading") We will guide you through the entire process, from creating a DeployGate account to uploading an app and installing it onto a device. ### 1.1 Create a DeployGate account​[​](#11-create-a-deploygate-account "Direct link to heading") First, create a free DeployGate account. Go to and follow the instructions to create an account. Visit Create Account for more details on how to [create an account](/docs/administrator-guide/setup/sign-up-individual.md). ### 1.2 Upload an app to DeployGate[​](#12-upload-an-app-to-deploygate "Direct link to heading") Upload your application to DeployGate. When you log in to the DeployGate account you just created, the following screen will appear. \*Note that this screen will only appear to users who have yet to upload an application. ![Screenshot of To Go TO Account Setting ](/assets/images/dashboard-ba17e5157ba30e39f717aa360bd65c90.png) For more details on how to upload an application, visit [Upload App](/docs/developer-guide/setup/upload-app-dg.md). ### 1.3 Download to your smartphone[​](#13-download-to-your-smartphone "Direct link to heading") Install the previously uploaded application to your device. For more details about downloading to your device, visit [download to device](/docs/developer-guide/setup/download-app-self-device.md). ## 2. Select the best distribution method[​](#2-select-the-best-distribution-method "Direct link to heading") DeployGate offers two distribution methods to meet user needs - **Member distribution** and **Link distribution**. Select the distribution method that best suits your distribution needs. ### 2.1 Imagine your distributions[​](#21-imagine-your-distributions "Direct link to heading") It will be easier to select a distribution method if you can imagine how your distributions will be used. * Tester type * Distribute to testers who are deeply involved in the app development process, such as internal tester teams * Distribute to many testers, including external groups of people who are not regularly involved in the development process * Number of testers * How many people need to be involved? * How often will the app be distributed to testers? * (Constantly) Develop multiple revisions of a single app and distribute them to testers after each update * (One-off) Create an app once, distribute it for testing, and you’re done ### 2.2 Decide on a distribution method​[​](#22-decide-on-a-distribution-method "Direct link to heading") * Member distribution * Member distribution is suitable when distribution is limited to a select group of people and when constant testing is required. It also allows you to manage members while distributing. * Link distribution * Link distribution is suitable when distributing to a large number of people at once, such as when you’re conducting a single test. For more details about the differences between the two methods, please visit [here](/docs/developer-guide/learning/two-ways-distribution.md). Distribution methods can be changed for each application. The method can also be changed at any time (Example)
Up to a specific revision, distribute to the development members of a department and have them test the app after each update.
→ **Use member distribution to maximize management** Later, when conducting a large-scale beta test, distribute to other departments for final testing.
→ **Use link distribution to maximize the number of testers and obtain feedback** ## 3. Distribute[​](#3-distribute "Direct link to heading") Once you’ve decided on a distribution method, follow these steps and distribute. This section explains how to distribute apps using Individual Projects, which are available free of charge. ### 3.1 Distribute apps with Member distribution​[​](#31-distribute-apps-with-member-distribution "Direct link to heading") #### 3.1.1 Invite members to the Project​[​](#311-invite-members-to-the-project "Direct link to heading") Invite people you want to participate in development/testing. You can invite users either by email address or by their existing account name. For more details about how to invite a user, please visit [this page](/docs/developer-guide/group/add-member.md). #### Add invited members to a Team​[​](#add-invited-members-to-a-team "Direct link to heading") Members invited to a Project must join a team. You can use the default “Administrator” or “Tester” teams or create new teams. * For more details about how to create a team, visit [here](/docs/developer-guide/team/create-team.md). * For more details about how to add members to a newly created team (or to the default “Administrator” or “Tester” teams), visit [here](/docs/developer-guide/team/manage-team-member.md). You can manage each team’s roles and permissions. For Projects, you can manage roles on a per-team basis.
For more details about roles, please visit [here](/docs/developer-guide/team/manage-team-role.md). #### 3.1.3 Link App with a Team[​](#313-link-app-with-a-team "Direct link to heading") Link the app uploaded to the aforementioned team and Project. For more details about how to link an app to a team, please visit [here](/docs/developer-guide/team/manage-team-app.md). **Now member distribution is complete.** For more details about post-distribution event management and notifications, please visit [here](/docs/developer-guide/member-distribution/distribute-to-member.md). If a tester would like to install an app that used member distribution, please follow [these instructions](/docs/developer-guide/member-distribution/install-app-from-team.md). ### 3.2 Distribute apps with Link distribution[​](#32-distribute-apps-with-link-distribution "Direct link to heading") Please follow these instructions for link distribution. #### 3.2.1 Create a distribution page[​](#321-create-a-distribution-page "Direct link to heading") For link distribution, create a distribution page for each app. For information on how to create a distribution page and how to modify settings, please visit [here](/docs/developer-guide/link-distribution/distribute-by-link.md). #### 3.2.2 Notify testers about the distribution page QR code or URL[​](#322-notify-testers-about-the-distribution-page-qr-code-or-url "Direct link to heading") Once you’ve created a distribution page, share the URL on the distribution page or send an email to testers from the distribution page. **Now member distribution is complete.** If a tester would like to install an app that used link distribution, please follow [these instructions](/docs/tester-guide/install-app-from-link.md). --- # Two Distribution Methods In this post, we will discuss the two distribution methods that DeployGate offers - “Member Distribution” and “Link Distribution.” UDID Registration For either distribution method, when distributing an Ad-hoc build, it is necessary to add UDIDs to the Provisioning Profile. For in-house distribution, UDID registration is not required. ## Choosing the Best Distribution Method[​](#choosing-the-best-distribution-method "Direct link to heading") DeployGate offers two ways to share apps. * Distribution to Members * Distribution by Link Please select the most appropriate method, which may depend on the development phase or the type of tests you wish to perform. ## Distribution to Members[​](#distribution-to-members "Direct link to heading") The distribution to members method is designed for internal distributions to a team’s developers and QA testers. Please visit [this page](https://intercom.help/deploygate/en/articles/11623076) for information on what the member is. ![Chart of member distribution ](/assets/images/workspace_function_en-a4ec6d71e921378f9bc23b895fc513b8.png) Users must be registered with DeployGate in order to receive distributions. ### Features​[​](#features "Direct link to heading") The following operations are possible using the distribution to members method. * Manage members’ app installation permissions * Install previous app revisions * Members can install any revision of the app being distributed * Members can install all apps they have access * Use [Capture Feature](/docs/developer-guide/capture/about-capture.md) * Manage member accounts Because members must log in to their own DeployGate accounts, apps can be distributed more reliably and securely to specific individuals. When a developer uploads an update, members immediately receive a notification and can install the update. Notifications vary by device type Notifications are sent through the app on Android devices, while they are emailed to the registered email address on iOS devices. Members can download past revisions that have been uploaded. This lets QA testers independently troubleshoot errors resulting from app updates, including triaging bugs and validating operations. Please visit [here](/docs/developer-guide/member-distribution/distribute-to-member.md) for more information on how to distribute to members. Limits to add members vary by plan * For Free Plan, the maximum number of members is three, regardless of their permissions. * For the Enterprise Plan (suitable for large organizations) and the Flexible Plan, the maximum number of members depends on the number of licenses, regardless of their permissions. * If you are on a discontinued Corporation & Organization Plan (Startup, Business, or Large Business), please visit [here](https://intercom.help/deploygate/en/articles/6543892-what-is-an-old-plan-how-do-i-find-out-if-i-have-an-old-plan). ## Distribution by Link[​](#distribution-by-link "Direct link to heading") The Link Distirbution is for external use by QA testers, beta testers, and others who are not part of the development team. ![Chart of member and link distribution ](/assets/images/link_distribution_en-225e6d072bf2efe4fa8910effad6d5a2.png) ### Features​[​](#features-1 "Direct link to heading") The following operations are possible using the link distribution method. * Create an installation link for only a specific revision of an app * Distribute apps to individuals without a DeployGate account Testers will access the distibution page and download an app via link or QR code. No need to register DeployGate for the installation. ![Screenshot of the distribution page](/assets/images/distribution-page_QR-masked_en-06bbaae4a0bc4fa3b0ce43c0f15fdcd7.png) Only one revision can be distributed per a distribution page. The developers can change the revision to be distributed and its URL won't be changed due to this operation.
Furthermore, you can create multiple distribution pages. This allows you to create and manage links for different purposes. Notes The number of installed devices using the distribution page does not count towards a plan’s “number of Members” limits. ### Link Distribution only for members[​](#link-distribution-only-for-members "Direct link to heading") It is also possible to distribute an app via a ink while restricting access to members only. You can configure the visibility scope of the distribution page, and within a Workspace, you can select "Only team members who have access to the app." For instructions on how to configure this setting, please refer to [this page](https://intercom.help/deploygate/en/articles/4536511). ## Comparison Table[​](#comparison-table "Direct link to heading") | | Distribution to Members | Distribution by Link | | --------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Security | 😃 Only invited users can download | 😰 Anyone with a link can download
\* You can set a password to restrict access
\* You can set a limit for the number of devices able to download the app | | Visibility | 😃 Can view and manage download information - users, time/date, device (device ID, OS, etc.) | 😰 Can manage device information (OS type, OS version, device type) but cannot view or manage users who download
\* You can view more detailed information for testers with DeployGate accounts | | Revision Management | 😃 Can download past revisions | 😃 Can only download a specific revision | | Ease of Distribution | 😰 Relatively high barriers for testers, as all testers must register and have an account | 😃 Minimal barriers for testers, as they can simply launch the DeployGate app (Android) or use their camera (iOS) to scan a QR code and download | | Price | 💵💵 For Enterprise and Flexible Plans, the number of licenses determines the number of available members | 💵 No effect on price
\*\*\* Depending on the plan, there may be a limit to the number of links that you can create | | Ideal Use Scenarios | If developing apps as a team and conducting tests with specific members | If distributing to people outside the project team, such as for alpha and beta testers | | Member management | ◯ | × | | Using Capture Feature | ◯ | × | --- # Distribute Apps with Link Distribution On this page, we will explain how to distribute apps uploaded to a Project using a URL. DeployGate offers two methods of app distribution - Member distribution and Link distribution For more information about the two distribution methods, please visit [here](/docs/developer-guide/learning/two-ways-distribution.md). ## 0.Preparation Work​[​](#0preparation-work "Direct link to heading") Please go to the dashboard, select the relevant app, and check the app details screen to verify that the application is uploaded. ![Screenshot of Select App from Dashboard](/assets/images/select-app-dashboard-252fa41ff1ec73c9087a306704d19723.png) ## 1. Create Distribution Page​[​](#1-create-distribution-page "Direct link to heading") If you would like to use a URL to distribute an app (Link distribution), create an “App Distribution Page” for each app to be distributed. 1. On the right side of the app details screen, click on `Create a link`. ![Screenshot of Select App from Dashboard](/assets/images/create-distribution-link-5d0546c38af6dd2a5514229e76f0a6c6.png) 2. After you click on the button, the distribution page will be created and the following screen will appear. ![Screenshot of show link page](/assets/images/link-page-created-6722c8587fa5c2c7525353ee42e6183e.png) ## 2. Set Up Distribution Page​[​](#2-set-up-distribution-page "Direct link to heading") The distribution page, accessible to testers, can be configured to accommodate your users’ needs. **The following settings are optional.** Apps will be distributed with the default settings if you choose not to modify the settings. ### Change the Distribution Page’s Design​[​](#change-the-distribution-pages-design "Direct link to heading") ![Screenshot of show link page](/assets/images/change-design-2035a93b2e0d26da390ad4fa48636a31.png) 1. After the distribution page is created, select `Appearance` from the menu on the left side of the page. 2. To make a field visible on the distribution page, click on the appropriate checkbox. 3. Edit the fields (title, description, etc.) as necessary. The Title, Leading Text, and Description are editable. The title and other information set by default are displayed in Japanese or English, depending on the language used when creating the distribution page. 4. Click on `Update Settings`. 5. Select `Distribution Page` from the menu on the left side of the page to verify that the changes have been saved. ### Change the Distribution Page’s Privacy Settings[​](#change-the-distribution-pages-privacy-settings "Direct link to heading") ![Screenshot of show link page](/assets/images/link-page-setting-45512f02a4b28154d24e2ead040aa27f.png) 1. Select `Settings` from the menu on the left side of the page. 2. Open the Privacy setting drop-down menu. |Privacy Setting| |---|---| |Only team members with access to the app|Only accessible to people who belong to the team added to the app.
Only Workspace Project members can select this option. | |Require password| Only accessible to people who know the password.
After selecting "Require password", a password settings box will appear. Enter your desired password.| |Unlisted|Only accessible to people who know the link.| |Public|Publicly available and can be indexed by Google, etc.| ### Notification Settings​[​](#notification-settings "Direct link to heading") Various chat tools can be sent live notifications when the distribution page registers activities. Your development can proceed more smoothly if, for example, you’re notified when new testers join or when someone adds a comment. Please visit [here](/docs/developer-guide/chat/.md) for more information about notification settings. ## 3. View Statistics​[​](#3-view-statistics "Direct link to heading") ### View Important Distribution Page Information​[​](#view-important-distribution-page-information "Direct link to heading") Click on `Statistics` for an overview of activities, including information about the number of downloads. ![Screenshot of statistics](/assets/images/statistics-1b2bf259a22b57a57695f4415c18863d.png) ### View Activities​[​](#view-activities "Direct link to heading") View a list of the distribution page’s activities by going to `Recent Activities`. You can view the last 10,000 activities that take place within your plan’s log retention period. \*Please visit [here](https://deploygate.com/pricing?) for each plan’s log retention period ### View Devices Participating in the Test​[​](#view-devices-participating-in-the-test "Direct link to heading") View a list of devices that have used the distribution page to install the app. ![Screenshot of list of device](/assets/images/devices-f3d2abc46a5ba8390752f5f537e02022.png) ### View and Post Comments​[​](#view-and-post-comments "Direct link to heading") View comments that participants have posted through the app. ![Screenshot of comment](/assets/images/comment-7058911092bdec0707a0dc9ce3472894.png) Click on "New Post" at the top right of the screen to post your own comments. ![Screenshot of comment](/assets/images/post-comment-8a29b4a10a0e5bf8e9f71f56b484abba.png) All comments are shared with all participants All comments posted are shared and will be visible to everyone using the same distribution page, including all users (both testers and developers) participating in the test. Comments can be viewed through the app or a browser. --- # Install Apps - Link Distribution On this page, we will explain how to install an application for those who received a distribution page link (Link distribution). **You do not need to create a DeployGate account to receive an app that uses Link distribution.** ## iOS Devices​[​](#ios-devices "Direct link to heading") ### Install on a Device (iOS)​[​](#install-on-a-device-ios "Direct link to heading") The installation process differs between iOS and Android In this section, we will outline the installation process for iOS applications. Please skip to the Android section below if you have an Android device. 1. Open the shared link on your device. Alternatively, scan the shared QR code using your device’s camera to display the distribution page’s URL. Open with the Safari browser. ![Screenshot of iOS access to distribution page](/assets/images/ios-access-dist-bdfe44b638dc7810643fd10803cf27c1.png) If your browser is not Safari If your browser is not Safari you will see a message with instructions on opening the link in Safari. Please follow the instructions and copy and paste the link into Safari to open. 2. Tap on `Subscribe (for iOS)`. ![Screenshot of iOS scanned screen](/assets/images/ios-scan-e24d4200598e4d2b4cec310d6b322582.png) 3. When the following screen appears, tap on `Install`. ![Screenshot of iOS scanned screen](/assets/images/ios-app-install-eb7fce636c7daae222d91de51ab50aff.png) 4. When the message ""deploygate.com" would like to install “sample”" appears, tap on "Install". ![Screenshot of iOS Install](/assets/images/ios-install-message1-96da4e543854924b6bc8d6e959650448.png) 5. When the message "Installation started. To see the progress, please go to the Home screen." appears and you go to the Home screen, you will see the installed application. ![Screenshot of iOS Install](/assets/images/ios-install-message2-8fbd8f97b3e4f390e1653f23778313d6.png) This completes the application’s installation on iOS. ### Change Tester Display Name (iOS)​[​](#change-tester-display-name-ios "Direct link to heading") When logged in, your username is your Tester display name. When you’re not logged in, your display name is automatically generated. You can change your Tester name to something less generic. 1. On this screen, tap `Change Name`. ![Screenshot of change tester name](/assets/images/ios-change-tester-name1-635cee6b3cebef73c2108875e19d5746.png) 2. Enter your preferred display name in the text box. ![Screenshot of change tester name](/assets/images/ios-change-tester-name2-49f85341cfd94f2597459c7b4dbd347f.png) 3. After you tap on `OK` and return to the previous screen, you will see the changes as `Participating in this test as “tester”`. ![Screenshot of change tester name](/assets/images/ios-change-tester-name3-0eefaaca2c116a48bfc685de356d8e5c.png) The name change is now complete. Tester Name Rules * 3\~20 alphanumeric characters and underscore “\_” * (Caution) Changing your tester name will also change the name associated with all of your past comments. ### Communicate with Developers through the App (iOS)​[​](#communicate-with-developers-through-the-app-ios "Direct link to heading") From this screen, enter your comments to communicate with developers. 1. At the bottom of the screen, tap on `Comment Board`. ![Screenshot of iOS write comments](/assets/images/ios-comments1-ffcbf6d4128a1ce42c144786ad9401e0.png) 2. When the following screen appears, tap on the icon at the top right of the screen. ![Screenshot of iOS write comments](/assets/images/ios-comments2-e1599a692da4f716066eb18df774fa2d.png) 3. Enter your comments in the text box. ![Screenshot of iOS write comments](/assets/images/ios-comments3-5e3e1a91d04654e62e32a3205b44ee39.png) 4. After tapping on `Post`, your comments will appear. You can also view messages from the developers on this screen. ![Screenshot of iOS write comments](/assets/images/ios-comments4-09426c16e1bff464f5b1f31cae0bb91a.png) All comments are shared with all participants All comments posted are shared and will be visible to everyone using the same distribution page, including all users participating in the test. ## Android Devices​[​](#android-devices "Direct link to heading") ### Install on a Device (Android)​[​](#install-on-a-device-android "Direct link to heading") On Android devices, you must install the Client App, even when using Link distribution While DeployGate registration is not required, you must install the DeployGate Client App on Android devices. AThe installation process differs between Android and iOS In this section, we will outline the installation process for Android applications. Please refer to the iOS section above if you have an iOS device. 1. Open the shared link on your device. Alternatively, the distribution page will appear when you scan the shared QR code. ![Screenshot of Open distribution page from Android](/assets/images/open-distribution-page-5269d81ccf072497cbfce62168083934.png) 2. Tapping on `Install` will launch the Google Play Store. ![Screenshot of Open distribution page from Android](/assets/images/google-play-8b6c5c0ab09cd3914d5cc3cca40b356a.png) 3. Download the DeployGate Client App. 4. After installing and then launching the DeployGate Client App, the following screen will appear. ![Screenshot of Initial Screen for the Client App](/assets/images/app-login-c8e861916717b08b9c9692f75fcba4a4.png) 5. Once you’ve confirmed that the DeployGate Client App has been downloaded, click on the shared link from Step 1 from your device. Alternatively, tap on `Scan QR Code` from the DeployGate Client App and scan the QR code again. Link Distribution does not require logging in from the DeployGate app Using Link distribution allows testers to scan the QR code from the app without the need to log in to a DeployGate account. 6. The Client App will launch and the distributed app will appear. It will prompt you for permission to install. ![Screenshot of Install permission on App](/assets/images/require-permission-e6b157b0bef720aee7e97d74e5239056.png) ![Screenshot of Install permission on App](/assets/images/permission-1d7c349f38fed9f156a194e233b588d4.png) 7. Tap on “Install” to install the app onto your device. ### Change Tester Display Name (Android)​[​](#change-tester-display-name-android "Direct link to heading") Your Tester display name is automatically generated by default. You can change your Tester name to something less generic. 1. From the app, tap on `Communication Board`. On the next screen, which is the comment posting box, tap on `Change` next to your tester name to change it. 2. Enter your preferred display name in the text box. ![Screenshot of Change tester\'s name](/assets/images/change-tester-name-9579ff1c4a4ccec0c816d59711c886de.png) :::tipTester Name Rules * 3\~20 alphanumeric characters and underscore “\_” * (Caution) Changing your tester name will also change the name associated with all of your past comments. ::: 3. When you return to the previous screen, your name chang is complete. ![Screenshot of Change tester\'s name](/assets/images/android-change-tester-name-43f60fc588107737dc67aec9a641e575.png) ### Communicate with Developers through the App (Android)​[​](#communicate-with-developers-through-the-app-android "Direct link to heading") Enter your comments through the DeployGate app to communicate with developers. From the app, tap on `Communication Board`. On the following screen, you can enter comments to the developer. If necessary, you can also upload Screenshots. ![Screenshot of Ccommunication board](/assets/images/communication-board1-9f1b7ecdcdeef40e4171b1ce81bd48b8.png) You can also view messages from the developers on this screen. ![Screenshot of Ccommunication board](/assets/images/communication-board2-58d531c113711d797d7143bb5a98db6f.png) All comments are shared with all participants All comments posted are shared and will be visible to everyone using the same distribution page, including all users participating in the test. --- # Privacy Setting for Distribution Page On this page, we will explain privacy setting for distribution page.
You can adjust who can access each distribution page on Link distribution. ## Options for privacy setting[​](#options-for-privacy-setting "Direct link to heading") Below 4 options are available for privacy setting. | Privacy Setting | Description | | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Only team members with access to the top | Only accessible to people who belong to the team added to the app.
Only in the case of Enterprise or Flexible Plans, Project members can select this option. (Old Plan such as Startup or Business can not use this function) | | Require password | Only accessible to people who know the password. | | Unlisted | Only accessible to people who know the link. | | Public | Publicly available and can be indexed by Google, etc. | ## Operational Guide for Privacy Setting[​](#operational-guide-for-privacy-setting "Direct link to heading") To change or confirm privacy setting, visit "Settings" on the distribution menu > "Privacy setting". ![select-distribution-setttings](/assets/images/select-distribution-settings-9d44cb166844db248b731bc0094e1f93.png) ![distribution-privacy-setting](/assets/images/distribution-privacy-setting-aa7439cdbaacf7229629720988fe2cae.png) ### Only team members with access to the top[​](#only-team-members-with-access-to-the-top "Direct link to heading") To apply this option, select "Only team members with access to the top" for "Privacy setting" and click "Update Settings" button. ![select-distribution-setttings](/assets/images/distribution-privacy-setting-team-member-0fc2096b2b8218a72d7c5c0f6f4bba51.png) ### Require password[​](#require-password "Direct link to heading") To apply this option, select "Require password" for "Privacy setting". ![distribution-privacy-setting-password](/assets/images/distribution-privacy-setting-password-23a3277629ef6118f018f5680b1cb121.png) Since "Password" field will appear, input characters to set as password. Click "Update Settings" button to apply the changes. ![distribution-privacy-setting-password-field](/assets/images/distribution-privacy-setting-password-field-8f85a3f453b8c836a9037599e184a824.png) By this changes, users need to input password when accessing the distribution page. If you plan to use this fuctcion, please set the password before sharing the URL to your tester. ![distribution-page-with-password](/assets/images/distribution-page-with-password-ef5961dbd3d80cbe2487f2ca70d2ec0e.jpg)  ### Unlisted[​](#unlisted "Direct link to heading") To apply this option, select "Unlisted" for "Privacy setting" and click "Update Settings" button. ![distribution-privacy-setting-unlisted](/assets/images/distribution-privacy-setting-unlisted-0cb56b1bfae3b7fe33f0344076a5823d.png) ### Public[​](#public "Direct link to heading") To apply this option, select "Public" for "Privacy setting" and click "Update Settings" button. ![distribution-privacy-setting-public](/assets/images/distribution-privacy-setting-public-6d19f224f7b680f10927247889021d4a.png) --- # Distribute Apps with Member Distribution On this page, we will explain how to use member distribution to distribute apps. For more information about the two distribution methods, please visit [here](/docs/developer-guide/learning/two-ways-distribution.md). *** ![Chart of member distribution ](/assets/images/member_distribution_en-b6edb69498bfc8dbe5cc644ffa07c052.png) ## Conditions for App Distribution​[​](#conditions-for-app-distribution "Direct link to heading") The following conditions must be met for member distribution. 1. Member is invited to a Project
→ [How to invite user to a Project](/docs/developer-guide/group/add-member.md) 2. App is uploaded to a Project
→ [How to upload an app](/docs/developer-guide/app/upload-app.md) 3. Members are assigned to teams of the Project
→ [How to manage a team's members](/docs/developer-guide/team/manage-team-member.md) 4. App is linked to a team
→ [How to link apps with teams](/docs/developer-guide/team/manage-team-app.md) 5. Member is logged in to DeployGate
Member distribution requires members to have a DeployGate account. Visit [here](/docs/administrator-guide/setup/sign-up-individual.md) for information on how to sign up. Member Distribution requires DeployGate registration Member distribution requires members to log in to DeployGate. If you would like to distribute applications without account registration, please use [link distribution](/docs/developer-guide/link-distribution/distribute-by-link.md). ## Installation by Member Distribution[​](#installation-by-member-distribution "Direct link to heading") The preparation for member distribution is all set by meeting [Conditions for App Distribution​](#conditions-for-app-distribution). Please review [this page](/docs/tester-guide/install-app-from-team.md) for information on how to install the app by member distribution. ## Event Management​[​](#event-management "Direct link to heading") ### View Events​[​](#view-events "Direct link to heading") You can view a list of the application’s distribution activities on the bottom left of the app details screen. You can view the last 10,000 activities that take place within your plan’s log retention period. \*Please visit [here](https://deploygate.com/pricing?) for each plan’s log retention period. ![Screenshot of member distribution activities ](/assets/images/activities-48d929c36eea5581ac27a0a66d4f8cc7.png) You can view additional details by clicking on the individual activity. ### View Device Test Participation Status​[​](#view-device-test-participation-status "Direct link to heading") On the right side of the page, you can view a list of devices that used the distribution page to install the app. You can view additional details by clicking on the applicable device. ![Screenshot of member distribution activities ](/assets/images/activity-details-6e2201b2f4a100027d69f47b28b0225c.png) To hide a device from the device list, go to the Administration button and select “delete device from app.” ## Notification Settings​[​](#notification-settings "Direct link to heading") You can receive real-time notifications in your chat tool whenever events occur for the target app distribution. Your development can proceed more smoothly if, for example, you’re notified when new testers join. Please visit [here](/docs/developer-guide/chat/.md) for more information about notification settings. --- # Install Apps Distributed to Members On this page, we will explain how team members can install distributed applications. To receive apps distributed to a team, users must create a DeployGate account. Invited users must sign up using the link the invitation email Once an invitation is sent to an email address, that email address can only register for an account through the invitation email’s link. Attempts to use other registration methods will fail. Please check your email inbox for an email with a subject fo “\[DeployGate] Organization (Organization Name) Invitation.” The invitation link is valid for seven days. Once the link expires, please contact the developer to have a new invitation sent. ## 1. Create DeployGate Account​[​](#1-create-deploygate-account "Direct link to heading") Distributions to teams are only possible to users with DeployGate accounts. Please follow the steps below to create a user account. ### Signing Up Online​[​](#signing-up-online "Direct link to heading") These steps also apply to Android devices. A user invited to join an Organization will receive an invitation email from DeployGate. Please click on the link in the email to access the DeployGate registration page. If You Have a DeployGate Account If you have an existing DeployGate account, click on the “Log In” button to log in to your account and join the Organization. ![Screenshot of create account from invitation](/assets/images/member-invitation-9c6216027971cf84aa29d27b7b381f71.png) If You Do Not Have a DeployGate Account If you do not have a DeployGate account, click on the “Sign Up and Download” button. ![Screenshot of create account from invitation](/assets/images/member-invitation-9c6216027971cf84aa29d27b7b381f71.png) 1. Select “Sign up with email address” and verify that the email address is correct and matches the invitation. Click on the “Send verification code” button. ![Screenshot of create account from invitation](/assets/images/create-account-with-mail-724251745ad4283ff4151ba80830ecf3.png) ![Screenshot of create account from web](/assets/images/create-account-web-from-invitation-c73202a545acc2fb5469446f6dff8048.jpg) 2. When the following screen appears, check your inbox for the email. Enter the 6-digit number from the email into the “Verification Code” field and click on the “Send” button to submit. \*To ensure that the email address belongs to you, we will send a confirmation email with a verification code to the email address. Please make sure that you can access the email account. ![Screenshot of create account from web 2](/assets/images/create-account-web2-e7ecc715d4af1d40b57ab8fe0c319785.png) 3. Enter a username and password and click on the “Sign up for DeployGate” button. \*Your username will be visible to other DeployGate users. Please use three or more alphanumeric characters. ![Screenshot of create account from web 3](/assets/images/create-account-web3-83314d91d96218e42cc501150fa8337f.png) ### Signing Up on an iOS Device​[​](#signing-up-on-an-ios-device "Direct link to heading") A user invited to join an Organization will receive an invitation email from DeployGate. Please click on the link in the email to open the Safari browser. If your browser is not Safari If your browser is not Safari, you will see a message with instructions on opening the link in Safari. Please follow the instructions and copy and paste the link into Safari to open. If You Have a DeployGate Account If you have an existing DeployGate account, click on the “Log In” button to log in to your account and join the Organization. ![Screenshot of create account from invitation](/assets/images/member-invitation-ios-cd769ed8954472030044fd87e95415e5.jpg) If You Do Not Have a DeployGate Account If you do not have a DeployGate account, click on the “Sign Up” button. ![Screenshot of create account from invitation](/assets/images/member-invitation-ios-cd769ed8954472030044fd87e95415e5.jpg) 1. Verify that the email address is correct and matches the invitation. Click on the “Send verification code” button. ![Screenshot of create account from ios 1](/assets/images/create-account-ios-from-invitation-a998bec7f5b7b175642cc8b77f2310d4.jpg) 2. When the following screen appears, check your inbox for the email. Enter the 6-digit number from the email into the “Verification Code” field and click on the “Send” button to submit. ![Screenshot of create account from ios 1](/assets/images/create-account-ios2-8fb210824d7ee63767d4db4e8fc9ca74.png) 3. Enter a username and password and click on the “Sign up” button. \*Your username will be visible to other DeployGate users. Please use three or more alphanumeric characters. ![Screenshot of create account from ios 1](/assets/images/create-account-ios3-95e9328a32efa94323e1a66be1084cc4.png) ## 2. Download App to Device​[​](#2--download-app-to-device "Direct link to heading") You must create an account as outlined above before proceeding with the following steps. ### Download Distributed App to an Android Device​[​](#download-distributed-app-to-an-android-device "Direct link to heading") 1. Download the DeployGate client app from the Google Play Store. ![Screenshot of Gppgle play ](/assets/images/download-self-google-play-9fa1bb773cdebc329f379d9a37249099.png) 2. The following screen will appear when you launch the DeployGate client app. Select the “Sign up/Log in” button, enter your account information and password, and select the “Log In” button to log in. ![Screenshot of before login ](/assets/images/login-client-app-83acf26a0ba7a872c383c565247d8cb2.png) 3. The following screen will appear when you log in. Select the “Install” button. ![Screenshot of Install ](/assets/images/mobile-test-app-install-2a38d38b4dd600fb0e694ca868eb530f.png) :::noteYou may need to adjust your device’s permission settings During the installation, you may be prompted to allow the app’s installation. Please follow the on-screen instructions to install the app. ::: ![Screenshot of login ](/assets/images/install-permission-4a39a46140b5b44e812b572afd3a7e13.png) 4. Verify that the app is downloaded to your device. ![Screenshot of Confrim app ](/assets/images/downloaded-app-68b063ec93a8ea95158684461dc42d18.png) DeployGate Client App * The DeployGate client app’s main screen will have two lists - installed apps and available apps (those distributed to your account). * You can view an app’s details by tapping on the app from the installed list. You can view the app’s name, revision, and other information and can even uninstall the app from here. ### Download Distributed App to an iOS Device​[​](#download-distributed-app-to-an-ios-device "Direct link to heading") 1. After registering for a new account, the following screen will appear. If you haven’t logged in to DeployGate, the login screen will appear. Please enter your account information and password to log in. ![Screenshot of safari for download ](/assets/images/ios-login-1c1267fdd5457b8d756d2e058fe505df.png) 2. Select the “Install DeployGate” button and follow the instructions to install DeployGate. If you’re prompted for a passcode, enter your iPhone/iPad device’s lock code to unlock. (Please do not enter your DeployGate password) ![Screenshot of safari for download ](/assets/images/ios-client-app-download-d474e3ffc14f8b94fd6ada7bb87f2270.png) 3. Once the installation is finished and you click on the “Finish” button, you will be redirected back to DeployGate, where you will see a list of apps. ![Screenshot of safari for download ](/assets/images/ios-app-list-73d6975c78a04f12e155787e8e04c5ba.png) 4. A DeployGate icon will be created on your device’s home screen. Click on the icon to launch DeployGate in the future. ![Screenshot of safari for download ](/assets/images/ios-home-cdf1cc5dd714b693e0cce21d6abb9434.png) --- # Add Member to an Organization This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/developer-guide/group/add-member.md). On this page, we will explain how to add members to an Organization. To add members to an Organization, you must have a member’s email address or username. Only Owners can perform this operation. *** 1. Log in to DeployGate and visit [here](https://deploygate.com/organizations) to see a list of all Organizations you belong to. ![Organization list showing available workspaces](/assets/images/group-list-245446e6940f073447f6e9c7815f5ed4.png) 2. Select an Organization to view its Organization Dashboard. ![Organization dashboard with member management options](/assets/images/group-individual-wo-no-f2815f4ba5110055d3dfcd1f7517cf9f.png) 3. Clicking the `Member List` button will direct you to the Member Management page as seen below. ![Member management screen showing current members and add member options](/assets/images/group-member-list-0ab104dcbf1168e2334a8bc87b15479b.png) 4. Click `+Invite new member` button and enter the username or email address of the member you wish to add. 5. Click `Invite new member` button to send an invitation to the user. If the Invite New Member button doesn’t appear The Invite New Member button will not appear if the following applies: * You are not an Owner * The trial period of your Organization has ended ## By entering an Email Address[​](#by-entering-an-email-address "Direct link to heading") If the email address is not registered with DeployGate, an invitation email will be sent. Recipients can join the Organization by opening the link and creating a DeployGate account or by logging in to their existing account. Invited users’ email addresses will appear on the Member List in the `Invited` section. ![Screenshot of Add Member](/assets/images/add-member-by-mail-fe97d5556044668981758035c063dc8e.png) ## By entering a Username​[​](#by-entering-a-username "Direct link to heading") (Also applies if an email address is already associated with a DeployGate account) The user will be added to the Organization immediately and their username will appear on the Member List. Invited members must be added to a team Invited members do not have any permissions until they are added to a team, so they cannot view any of the Organization’s apps. To share apps with members, they must be added to a team. Invited users can be assigned to teams even if they have not registered for an account. [Team Member Management](/docs/developer-guide/team/manage-team-member.md) --- # Delete Member from an Organization This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/developer-guide/group/delete-member.md). On this page, we will explain how to delete members from an Organization. Only Owners and Administrators can perform this operation. *** Members deleted from an Organization will lose access to apps Once users are deleted as members of the Organization, they will also be deleted from all applicable teams. A deleted member will no longer have access to the Organization or its apps. However, the member will retain their DeployGate account and will continue to have access to their own Individual Organization as part of the Free Plan. 1. To delete a member from an Organization, open the Organization Dashboard and click on the `Member List` button. ![Organization dashboard showing member management section](/assets/images/group-dashboard_en-1c3835d10d2194bb8a1979f086cae4cb.png) 2. Click on the `X` next to the name (or the email address for invited users without a DeployGate account) of the member you wish to delete. ![Member list with delete button (X) next to each member](/assets/images/group-member-list-for-delete_en-7fa3b11318c5bf25a417390448c960f5.png) 3. A confirmation dialog will appear. Click on `OK` to delete the user from the Organization. If you wish to delete an invited user who has yet to accept an invitation, please note that the email invitation itself cannot be canceled. However, the registration link within that email will be disabled. The user will not be able to use the link to access the Organization or register. --- # Delete Organization (Corporation & Organization Plan) This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/developer-guide/group/delete-group.md). Only owners can delete the Organization.
Please visit [this page](/docs/administrator-guide/ep-old-group/ep-delete-old-group.md) for more details. --- # Using Organizations API Key This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/developer-guide/group/group-api.md). When conducting automatic builds with CI (Continuous Integration), the Organization API Key can be used for uploads and so on. *** Maximizing the Organization API Key By using an Organization API Key, individual API Keys will no longer be necessary. This means that system maintenance, including automatic builds, will not be affected by membership changes or deletions. 1. Click `Show Organization's API Key` on the bottom right of the Organization Dashboard. ![Organization dashboard showing API key section](/assets/images/group-api-76a72171c8b06eeb4d379935e05ea0a9.png) 2. The Organization API Key can be used for [Upload App API](/docs/api/application/upload.md) as an API token. ![A dialog that displays the API key and a refresh button](/assets/images/group-api2-5545583629f01455b6b9c3b3ae07a13e.png) The Organization API Key is only valid for a specific Organization If the Refresh API Key button is selected, a new API Key will be generated. The old API Key will become invalid. --- # Organizations Overview This guide is only for Organization Plans (Startup, Business, Large Business). If you are using Flexible/Enterprise plan, please visit [this page](/docs/developer-guide/group/group-overall.md). *** When you access the Organization details page, a screen like the one shown in the screenshot below will open. ![Organization dashboard showing member permissions and team structure](/assets/images/group-overvall-71136cd94f8d52088a99d890bf4ffe36.png) At DeployGate, members invited to an Organization have different permissions that depend on their assigned team. Mind the features and limits of your plan Depending on your plan type, your Organization may have restrictions. For more details, please log in to DeployGate and go to `https://deploygate.com/organizations//settings/payments`. # Using Organizations Effectively Organizations offer the ability to centrally manage app information when developing apps with multiple people. Multiple members can manage apps together. Assigning Organization members to “Teams” provides flexibility regarding access rights and permissions. * Your team includes not only the app developer, but also directors, designers, and/or other individuals. * You want non-developer users to also manage apps and distribution pages. * You want the ability to manage users who have access to the apps. ![Organization structure diagram showing team roles and permissions](/assets/images/group-overall-chart-ac4c0334caa6e416bd6a386606bb205c.png) ## Share Organization Dashboard with Multiple Developers​[​](#share-organization-dashboard-with-multiple-developers "Direct link to heading") Organizations allow multiple users to manage apps. It is safe and secure to share app management, as only explicitly designated users can access the Organization Dashboard, with no shared accounts or passwords involved. Additionally, an administrative user can be responsible for user management so that tasks such as hiring/turnover/human resources management can be completed by dedicated staff. This enables developers and administrators to focus on their respective duties. ## Manage App Permissions Through Teams​[​](#manage-app-permissions-through-teams "Direct link to heading") You can create multiple teams for an Organization. (For Startup Plans, only the initial Tester Team is available) Each team can have multiple users and apps, and a team can have one of the following permissions. * Administrator: Access to all operations, including adding apps and managing users (some functions are excluded, such as payments) * Developer: Update existing apps and create distribution pages * Tester: Download apps only These settings can prevent testers from accidentally updating an app. Development teams can manage their unpublished projects confidently without the worry of premature release to the public. --- # Download App to Your Device On this page, we will explain how to download an app to your device via DeployGate. *** The following screen will appear when you upload an app to DeployGate. ![Screenshot of download on your device](/assets/images/app-upload-confirmation_en-c613b07fbeba5d118f291d70dc0d55c4.png) Download the app to your own device to familiarize yourself with the process. ## Install Apps on Android Devices[​](#install-apps-on-android-devices "Direct link to heading") 1. Use the Android device’s QR code scan feature to scan the QR code displayed on the computer screen. Alternatively, you can send the link via email, as seen in the Screenshot above. 2. Google Play will launch and will open to the DeployGate client app. Download and install the app. ![Screenshot of Gopgle play ](/assets/images/download-self-google-play-9fa1bb773cdebc329f379d9a37249099.png) 3. The following screen will appear when you launch the DeployGate client app. Select the `Sign up/Log in` button, enter your account information and password, and select the `Log In` button to log in. ![Screenshot of before login ](/assets/images/login-client-app-83acf26a0ba7a872c383c565247d8cb2.png) 4. The following screen wil appear when you log in. Select the `Install` button. ![Screenshot of Install ](/assets/images/mobile-test-app-install-2a38d38b4dd600fb0e694ca868eb530f.png) You may need to adjust your device’s permission settings During the installation, you may be prompted to allow the app’s installation. Please follow the on-screen instructions to install the app. ![Screenshot of login ](/assets/images/install-permission-4a39a46140b5b44e812b572afd3a7e13.png) 5. Verify that the app is downloaded to your device. ![Screenshot of Confirm app ](/assets/images/downloaded-app-68b063ec93a8ea95158684461dc42d18.png) DeployGate Client App The DeployGate client app’s main screen will have two lists - installed apps and available apps (those distributed to your account). You can view an app’s details by tapping on the app from the installed list. You can view the app’s name, revision, and other information and can even uninstall the app from here. ## Download Apps to iOS Devices[​](#download-apps-to-ios-devices "Direct link to heading") 1. Use the device’s QR code scan feature to scan the QR code displayed on the computer screen. Alternatively, you can send the link via email, as seen in the Screenshot above. 2. Safari browser will launch and the following screen will appear.
Please enter your account information and password to log in. ![Screenshot of safari for download ](/assets/images/ios-login-1c1267fdd5457b8d756d2e058fe505df.png) If your browser is not Safari If your browser is not Safari, you will see a message with instructions on opening the link in Safari. Please follow the instructions and copy and paste the link into Safari to open. 4. Select the `Install DeployGate` button and follow the instructions to install DeployGate. If you’re prompted for a passcode, enter your iPhone/iPad device’s lock code to unlock.
(Please do not enter your DeployGate password) ![Screenshot of safari for download ](/assets/images/ios-client-app-download-d474e3ffc14f8b94fd6ada7bb87f2270.png) 5. Once the installation is finished and you click on the `Finish` button, you will be redirected back to DeployGate, where you will see a list of apps. ![Screenshot of safari for download ](/assets/images/ios-app-list-73d6975c78a04f12e155787e8e04c5ba.png) 6. A DeployGate icon will be created on your device’s home screen. Click on the icon to launch DeployGate in the future. ![Screenshot of safari for download ](/assets/images/ios-home-cdf1cc5dd714b693e0cce21d6abb9434.png) --- # Set Up and Edit Account On this page, we will explain how to set up your DeployGate account. You can adjust how your account is viewed by other members. ## Access Account Settings​[​](#access-account-settings "Direct link to heading") Log in to DeployGate, click on your account name at the top right of the screen, and select “Account Settings.” ![Screenshot of Go TO Account Setting ](/assets/images/go-to-account-settings-en-e072fd068ee18ce745cd11818ff15aeb.png) ## Account Settings Screen​[​](#account-settings-screen "Direct link to heading") ![Screenshot of Account Settings page ](/assets/images/account-settings-en-5c568f23279bac9bdfc55d729bcf7f1f.png) ### 2. Profile[​](#2-profile "Direct link to heading") To change the name that other users in your Project will see, please enter a Display Name. * The Display Name can be in English or Japanese. * If you do not enter a Display Name, your account name (three or more alphanumeric characters) will be displayed by default. This is the name you selected when you created an account. * You can upload your own icon image by clicking on `Choose file` to open the file selection dialog, then selecting the icon image you want to display. * You can also manually adjust your time zone in this section. ### 2. Email​[​](#2-email "Direct link to heading") If you would like to change your email address, go to the Account Settings Screen’s Email section and click on the “Change” button. Enter your new email address. \*As with new account registrations, we will send a verification code to your new email address for identity verification. ### 3. Password[​](#3-password "Direct link to heading") You can change your password in this section. If you have lost or forgotten your password and cannot log in, please reset your password by clicking on the following link. ### 4. Connected Accounts[​](#4-connected-accounts "Direct link to heading") You can log in with your GitHub or Google account. ### 5. API Key[​](#5-api-key "Direct link to heading") Click on `Refresh API key` to update. --- # Sign Up DeployGate Individual To use DeployGate, you must create an account. On this page, we will outline the steps to create a DeployGate account. *** If you’ve been invited to join a Workspace by another user, you must sign up through the URL in the invitation email. \*Please visit [here](/docs/developer-guide/setup/sign-up-workspace.md) for more information on how to sign up if you’ve been invited. ## Sign up[​](#sign-up "Direct link to heading") \*To ensure that the email address belongs to you, we will send a confirmation email to the email address. Please make sure that you can access the email account, as we will send a verification code to the email address. 1. Visit the following page . 2. Click the `Agree and proceed to registration` button. A verification code will be sent to the email address you entered. Please check your inbox. ![Screenshot of create account from web 1](/assets/images/create-account-web1_en-667b958ed7d0978b6497f528a8a0f99a.png) Note * If you cannot find the email from DeployGate in your inbox, please check your spam folder. * If you cannot locate the email in the spam folder, please try another email address. 3. When the following screen appears, check your inbox for the email. Enter the 6-digit number from the email into the “Verification Code” field and click the `Next` button to submit. ![Screenshot of create account from web 1](/assets/images/create-account-web2_en-d121352cfb5aa02c34b8def295563c77.png) 4. Fill in all the required fields and complete your registration. ![Screenshot of create account from web 3](/assets/images/create-account-web3_en-6c6a35061000f3dee4560345c1a1f579.png) --- # How to Sign Up an Invited Workspace To upload and distribute apps on DeployGate, you need to create a DeployGate account. This section explains how to sign up for a project within a Workspace created by other users. Invited users must sign up using the link the invitation email Once an invitation is sent to an email address, that email address can only register for an account through the invitation email’s link. Attempts to use other registration methods will fail. Please check your email inbox for an email with a subject of `[DeployGate] Project (Project Name) Invitation.` The invitation link is valid for seven days. Once the link expires, please contact the developer to have a new invitation sent. ### Signing Up Online​[​](#signing-up-online "Direct link to heading") These steps also apply to Android devices. A user invited to join a Project will receive an invitation email from DeployGate. Please click on the link in the email to access the DeployGate registration page. If You Have a DeployGate Account If you have an existing DeployGate account, click on the “Log In” button to log in to your account and join the Project. ![Screenshot of create account from invitation](/assets/images/member-invitation-9c6216027971cf84aa29d27b7b381f71.png) If You Do Not Have a DeployGate Account If you do not have a DeployGate account, click on the “Sign Up and Download” button. ![Screenshot of create account from invitation](/assets/images/member-invitation-9c6216027971cf84aa29d27b7b381f71.png) 1. Select “Sign up with email address” and verify that the email address is correct and matches the invitation. Click on the “Send verification code” button. ![Screenshot of create account from invitation](/assets/images/create-account-with-mail-724251745ad4283ff4151ba80830ecf3.png) ![Screenshot of create account from web](/assets/images/create-account-web-from-invitation-c73202a545acc2fb5469446f6dff8048.jpg) 2. When the following screen appears, check your inbox for the email. Enter the 6-digit number from the email into the “Verification Code” field and click on the “Send” button to submit. \*To ensure that the email address belongs to you, we will send a confirmation email with a verification code to the email address. Please make sure that you can access the email account. ![Screenshot of create account from web 2](/assets/images/create-account-web2-e7ecc715d4af1d40b57ab8fe0c319785.png) 3. Enter a username and password and click on the “Sign up for DeployGate” button. \*Your username will be visible to other DeployGate users. Please use three or more alphanumeric characters. ![Screenshot of create account from web 3](/assets/images/create-account-web3-83314d91d96218e42cc501150fa8337f.png) Once you have completed these steps, you will be able to upload apps to Projects within the Workspace you have been invited to. --- # Upload Apps to DeployGate On this page, we will outline the steps to upload applications to a Project once you've signed up for a DeployGate account. *** After signing up, the following dashboard screen will be displayed. \*Note that this screen will only appear to users who have yet to upload an application. ![Screenshot of To Go TO Account Setting ](/assets/images/dashboard_en-217565a3f444a0eb6caf7c2594b07f59.png) Please upload the app by following the instructions on the screen. ## If You Have an Existing Package[​](#if-you-have-an-existing-package "Direct link to heading") If you already have an app's package (IPA/APK file), you can upload it in the following ways: ### Upload via Web Browser[​](#upload-via-web-browser "Direct link to heading") Drag and drop the file to upload. Please see the above Screenshot for the location. ### Upload via API[​](#upload-via-api "Direct link to heading") You can also use the Upload API to automate your upload process. This is useful for CI/CD pipelines or command-line workflows. ``` curl \ --url "https://deploygate.com/api/users/${OWNER_NAME}/apps" \ -H "Authorization: Bearer ${API_TOKEN}" \ -X POST \ -F "file=@sample.apk" \ --form-string "message=sample" ``` For more details about the Upload API, please visit [Upload API](/docs/api/application/upload.md). ## If You Do Not Have a Package[​](#if-you-do-not-have-a-package "Direct link to heading") If you are using Windows for Android apps, please see the right side of the Screenshot above. Follow these steps to build and upload apps. --- # Create New Team Only Owners and Administrators can perform this operation. On this page, we will explain how to create a new team to supplement the default teams (Administrators, Testers). *** Teams allow the management of multiple members within a Project. * Each Project can have multiple teams. * Separate permission settings can be set for each team, allowing members to have the appropriate access to apps. Your plan type determines the number of teams that you can create. * For Individual Projects on Indie Plans, please log in to DeployGate and visit [here](https://deploygate.com/payments) to learn more. * For Paid Plan Projects on Corporation & Organization Plans, please visit [here](https://deploygate.com/organizations) and select the applicable Organization. Go to “Settings” and “Plans” to view your plan’s limits. 1. To create teams for a Project, select the “Team List” button on the right side of the Project Dashboard. ![Screenshot of Create Team ](/assets/images/go-to-team-list-0549230f85098c118e78c055a1adf2ad.png) 2. Click on the “+Create” button on the team list page. ![Screenshot of Create Team ](/assets/images/create-team-518e665224709c766a821b09c2ba7f84.png) If the Create button does not appear, one of the following may apply: * You do not have permissions to create teams * a Project’s Administrators grant users different permissions. Please visit [here](/docs/developer-guide/team/manage-team-role.md) for details about the different permissions. * The number of teams in your Project exceeds the plan’s limits * Your plan type determines the number of teams that you can create. For Individual Projects, log in to DeployGate and visit [here](https://deploygate.com/payments). For Corporation & Project Plans, go to the Project’s settings and select “Current Plan” to view your limits. 3. Enter the required item on form to create team. ![Screenshot of Create Team ](/assets/images/create-team2-e401e031cff9329af9a398c3c0e1a8e1.png) All letters except for slashes (/) can be used for the team name. * The role will be applied to the team members and can be changed later. * For more details, please review [Team Roles](/docs/developer-guide/team/manage-team-role.md). 4. Click `Create` button to submit the team. 5. These are all the steps. The Team management screen should be displayed. For next steps, please refer to the following pages: * [Add applications to the team](/docs/developer-guide/team/manage-team-app.md) * [Add members to the team](/docs/developer-guide/team/manage-team-member.md) --- # Delete Team Only Owners and Administrators can perform this operation. *** 1. Go to the Project Dashboard and click on the Team List. ![Screenshot of Remove Team](/assets/images/project_team-list_en-c6e799a9f6a3ef8b3ceb20ccfbdea1e9.png) 2. Click on the “X” next to the team name. ![Screenshot of Remove Team](/assets/images/delete-team_en-3db5ec8252759ecfb3f6144060d3b63f.png) 3. A confirmation popup box will appear. Select `OK` to delete the team. Deleting a team will not delete the Project’s members or its apps. --- # Edit Team Only Owners and Administrators can perform this operation. *** ## Change Team Description​[​](#change-team-description "Direct link to heading") Clicking on the team’s description section allows you to enter or edit the description. 1. Select the applicable team from the Project Dashboard or the Team List. ![Screenshot of Remove Team](/assets/images/project-team-list_highlighted_en-9a988b1400a79553e92c3ccd95578912.png) 2. When the team’s management screen appears, click on the box beneath the team’s name to enter or edit the team’s description. ![Screenshot of Team administration](/assets/images/team_en-9b3f8c90860e6d2d47a70b85b0c81f13.png) The team’s description will appear in the team and on the Project Dashboard. ## Change Team Role​[​](#change-team-role "Direct link to heading") 1. To change the team’s role, go to the team’s management screen and click on the role label next to the team’s name. ![Screenshot of Group Dashboard for change team role](/assets/images/team_edit-role_en-bd575cb856b6d9c4e165e679d1b8c6f2.png) 2. On the next screen, select the team’s new role. ![Screenshot of Select team role](/assets/images/select-team-role-f3bdf270de9b4de94bced7875ca65ac0.png) | Role | Details | | ------------- | ------------------------------------------------------------------------------------------------------------------ | | Administrator | Access to all operations, including adding apps and managing users (some functions are excluded, such as payments) | | Developer | Update existing apps and create distribution pages | | Tester | Download apps only | Changing from the tester team to the developer/administrator team If the changes would result in the number of members exceeding the maximum number of developers permitted on the plan, the changes will not be possible. If this is the case, you must reduce the number of people assigned to the team or change to a plan with a higher developer limit. --- # Team Application Management Only owners/administrators can perform this function. *** ## Add Application[​](#add-application "Direct link to heading") To add an application that team members can access, select the desired application from the application list by opening the dropdown menu. Add Application Option Doesn’t Appear In the following instances, the add application option will not be displayed: * All the applications have already been added * You are not an owner/administrator * The free trial period has ended Now, we will associate an app to a team. On the Project Dashboard, the applications list displays a list of all apps uploaded to the Project. ![Screenshot of Project Dashboard App ](/assets/images/project-application_highlighted_en-4c76e0170745d83f8a0a9ac3e215e820.png) Please visit [here](/docs/developer-guide/app/upload-app.md) to learn more about uploading apps to a Project 1. Select the applicable team from the Project Dashboard or the Team List. 2. On the team’s dashboard, open the dropdown and select the app you wish to add. Click on the `Add` button. ![Screenshot of Project dashboard](/assets/images/team_add-apps_en-8691ada80b8009fac95ffe4da6ea7196.png) 3. The app will be added. Team members will now be able to access the app. ![Screenshot of Project dashboard](/assets/images/team_apps_en-e5d855bc50ed0d6fb66c6df9e3d175a0.png) ## Delete Application[​](#delete-application "Direct link to heading") To prevent a team from accessing an application, remove the application from the team. 1. Click the `X` in the upper right corner of the application to be deleted. ![Screenshot of Project dashboard](/assets/images/team_delete-apps_en-b9b20b6113ef453f4ceb46bef367acbe.png) 2. A confirmation dialog box will appear, and the application will be removed from the team when `OK` is selected. Add/Delete Teams from the Application Management Screen To add/delete specified applications from a team, visit the “team” section on the right side of the Application Management Screen. ![Screenshot of Project dashboard](/assets/images/app-teams-has-access_en-fe2c513da2bc1684cab9c037a4bddb97.png) --- # Manage Team Members Each team can have multiple members, and team members can be changed at any time. ## Assign Members to Teams​[​](#assign-members-to-teams "Direct link to heading") 1. To assign members to a team, first select and open the applicable team from the Team List. ![Screenshot of Team Member Assign](/assets/images/project-team-list_highlighted_en-9a988b1400a79553e92c3ccd95578912.png) 2. Open the Members dropdown menu to view a list of your Project’s members. Select the user(s) and click on the Add button to add them to the team. ![Screenshot of Team Member Assign](/assets/images/team_add-members_en-716d1ef20ad1f2107be533d582bcf87b.png) Invite Members to the Project and a Team * Invite a user to both the Project and a Team by entering their email address into the invitation field. * Registered DeployGate users will have their usernames shown, while users whose invitations are pending and have not yet registered will have their email addresses displayed. Add Member Option Doesn’t Appear or Members Don’t Appear The add member option will not be available if any of the following apply. * You are not an owner or administrator * Your Project’s trial period has ended For the developer/administrator teams, there may be a maximum number of members permitted, depending on the purchased plan. When this limit has been reached, the member dropdown list will only display the existing users on the developer team. If this is the case, you must remove other existing members from the developer team or change to a plan with a higher developer limit. ## Delete Team Member​[​](#delete-team-member "Direct link to heading") 1. To delete a member from a team, click on the `X` to the right of the user’s name. ![Screenshot of Team Member Erase](/assets/images/team_delete-members_en-535d439d4b268137f1e39144a08e7771.png) 2. A confirmation popup box will appear. Select “OK” to delete the member from the team. Deleting a Member from the Project will also Delete them from Teams If you would like to delete a member from the Project, [deleting the member](/docs/developer-guide/group/delete-member.md) will also remove the user from all Teams. --- # Team Roles Projects allow you to manage members’ permissions by teams. Owner and tester team will be provided at the new Project creation. There are 4 roles as below. | Permissions | Owner | Administrator | Developer | Tester | | ---------------------------------- | ----- | ------------- | --------- | ------ | | Delete Project | ◯ | × | × | × | | Register/Edit Billing Information | ◯ | ◯ | × | × | | Create/Delete Team | ◯ | ◯ | × | × | | Add/Invite Member | ◯ | ◯ | × | × | | Add/Delete App | ◯ | ◯ | × | × | | Register/Clear App Accessible Team | ◯ | ◯ | × | × | | Upload App | ◯ | ◯ | ◯ | × | | Download App | ◯ | ◯ | ◯ | ◯ | For Startup plan, only owner team and tester team will be created and no teams can be added or deleted. --- # Welcome to DeployGate Developer Tools DeployGate offers tools to easily upload apps under development and SDKs for use within apps. *** ## DeployGate SDK​[​](#deploygate-sdk "Direct link to heading") Adding DeployGate SDK to an app allows you to view app launches live and to obtain crash logs and other information necessary for debugging. You can also view information about the distribution page, its installation, and logged-in DeployGate accounts from within the app. * [Android SDK](/docs/developer-tools/android-sdk/.md) * [Android SDK Reference](https://deploygate.com/javadoc/) * [Source code (GitHub)](https://github.com/DeployGate/deploygate-android-sdk-sample) * [Sample project (GitHub)](https://github.com/DeployGate/deploygate-android-sdk-sample) * [iOS SDK](/docs/developer-tools/ios-sdk/.md) * [iOS SDK Reference](https://deploygate.com/appledoc/html/index.html) * [Sample project (GitHub)](https://github.com/DeployGate/deploygate-ios-sdk-sample) ## Gradle Plugin​[​](#gradle-plugin "Direct link to heading") The Gradle plugin is useful for uploading Android apps to DeployGate. * [Gradle Plugin](/docs/developer-tools/gradle-plugin/.md) ## Upload GitHub Action[​](#upload-github-action "Direct link to heading") If you are using GitHub Actions for CI/CD, the DeployGate Upload GitHub Action will be useful. For detailed usage instructions, please refer to the [Marketplace](https://github.com/marketplace/actions/deploygate-upload) or [README](https://github.com/DeployGate/deploygate-upload-github-action). ## fastlane​[​](#fastlane "Direct link to heading") If using [fastlane](https://fastlane.tools/) to build iOS apps, you can use the deploygate action to upload apps. * [Upload with fastlane](/docs/developer-tools/fastlane/.md) ## Steps to Create IPA Files using Xcode​[​](#steps-to-create-ipa-files-using-xcode "Direct link to heading") Please visit the following page for information on how to manually create an iOS app's IPA file using Xcode. * [Steps to create IPA files using Xcode](/docs/developer-tools/xcode/.md) ## Agent Plugin[​](#agent-plugin "Direct link to heading") The DeployGate Agent Plugin lets you upload apps, manage distribution pages, set up CI/CD, and onboard your team through natural-language conversation with an AI coding agent. It supports [Claude Code](https://claude.com/claude-code) and [Codex](https://openai.com/codex/). * [DeployGate Agent Plugin](/docs/developer-tools/agent-plugin/.md) --- # DeployGate Agent Plugin The DeployGate Agent Plugin integrates DeployGate with your AI coding agent. Through natural-language conversation you can upload your mobile app, share a distribution page, set up CI/CD, and onboard your team — without leaving the editor. The plugin supports iOS (IPA) and Android (APK/AAB), and runs on [Claude Code](https://claude.com/claude-code) and [Codex](https://openai.com/codex/). ![The DeployGate Agent Plugin in action: the /deploygate command running in Claude Code, with a Phase 1 progress indicator listing the setup steps and prompting the user to choose whether they already have a DeployGate account](/assets/images/setup-en-becb6a4260323ac09925655037598d22.png) *** ## What you can do[​](#what-you-can-do "Direct link to heading") * Upload IPA / APK / AAB from your local build * Create and manage distribution pages, including a preview page for every pull request * Set up CI/CD (GitHub Actions, Bitrise, CircleCI, Codemagic) * Add the DeployGate SDK to your Android app for crash reporting and screen-capture bug reports * Invite teammates and manage shared teams ## First time here?[​](#first-time-here "Direct link to heading") Start with **[Getting Started](/docs/developer-tools/agent-plugin/getting-started.md)** — it walks you from installing the plugin to your first upload in a single guided flow. ## Using another MCP client?[​](#using-another-mcp-client "Direct link to heading") The plugin's tools are also published to npm as the `@deploygate/mcp` server, so you can use them from any MCP-compatible client (Claude Desktop, Cursor, Cline, VS Code, …) via `npx`. See **[Standalone MCP Server](/docs/developer-tools/agent-plugin/standalone-mcp.md)**. ## Reference[​](#reference "Direct link to heading") The pages below are reference material. You do not need to read them to get started — your agent drives them on your behalf. * [Slash Commands](/docs/developer-tools/agent-plugin/skills.md) — what each `deploygate:*` command does and when to use it * [GitHub Actions Templates](/docs/developer-tools/agent-plugin/github-actions-templates.md) — the workflow files installed by CI setup * [MCP Tools](/docs/developer-tools/agent-plugin/mcp-tools.md) — low-level tool reference for integrators ## Source[​](#source "Direct link to heading") The plugin is open source. See the [GitHub repository](https://github.com/DeployGate/deploygate-agent-plugin) for source code, issue tracking, and release notes. --- # Getting Started with the DeployGate Agent Plugin This guide takes you from installing the plugin to your first upload. The whole flow takes about 5 minutes for Android, or 10–15 minutes for iOS (the iOS provisioning step is the slowest part). *** ## Prerequisites[​](#prerequisites "Direct link to heading") * One of [Claude Code](https://claude.com/claude-code) or [Codex](https://openai.com/codex/), installed and signed in * A project that can produce an Android (APK/AAB) or iOS (IPA) build. If you don't have the source at hand, a pre-built binary works too * A DeployGate account is **not** required up front — the guided setup will walk you through signing up if needed You do **not** need to install Node.js or paste an API token anywhere. The plugin runs as a self-contained MCP server, and login happens in your browser. ## 1. Install the plugin[​](#1-install-the-plugin "Direct link to heading") **Claude Code** — run these two commands inside the agent: ``` /plugin marketplace add DeployGate/deploygate-agent-plugin /plugin install deploygate@deploygate-marketplace ``` **Codex** — register the marketplace from your shell, then enable the `deploygate` plugin from within Codex: ``` codex plugin marketplace add DeployGate/deploygate-agent-plugin ``` After installation, the `deploygate:*` commands become available — `/deploygate:setup` in Claude Code, `$deploygate:setup` in Codex. note The rest of this page uses Claude Code's `/deploygate:*` syntax. If you are on Codex, substitute `$deploygate:*` (e.g. `$deploygate:setup` for `/deploygate:setup`). ## 2. Run the guided setup[​](#2-run-the-guided-setup "Direct link to heading") For first-time users, the recommended starting point is the guided onboarding command: ``` /deploygate:setup ``` This single command walks you through everything you need to ship a build to your team: | Step | What happens | | ----------------------------- | -------------------------------------------------------------------------------------- | | 1. Sign in | Sign up if needed, then approve a one-tap login in your browser | | 2. Upload your app | Build your project and upload the IPA / APK / AAB | | 3. Create a distribution page | Get a shareable URL for testers (Development / QA / Beta) | | 4. Connect notifications | Optionally route upload / install notifications to Slack, Microsoft Teams, or Chatwork | | 5. Register iOS testers | iOS only: collect tester device IDs and rebuild with the updated provisioning profile | A progress indicator is shown at every step, and you'll be asked before any decision (which page to create, which notification channel to use, and so on). You can stop at any point and resume later. ## 3. About the login[​](#3-about-the-login "Direct link to heading") When the guided setup reaches the sign-in step, it will display a short URL together with a verification code. Open the URL in a browser where you're signed in to DeployGate, confirm the code on the page matches what your agent showed, and click **Send** to approve. ![Approve login from a CLI screen on deploygate.com, showing the verification code fields and the Send button](/assets/images/approve-en-f80a362e01445e7b561997bb66682df3.png) The login persists across future agent sessions, so you only do this once per machine. To sign out, ask the agent to run the `logout` tool. For CI workflows, do not reuse this personal login — see [Set up CI/CD](#5-set-up-cicd-optional) below. ## 4. Deploy follow-up builds[​](#4-deploy-follow-up-builds "Direct link to heading") Once setup is complete, subsequent uploads are a single command: ``` /deploygate:deploy ``` This builds your app, uploads it, and posts the new revision to whatever distribution page you set up earlier. To target a specific distribution page, pass its name or key: ``` /deploygate:deploy to "Beta" /deploygate:deploy to key:abc123def456 ``` If something goes wrong (iOS code signing, a tester who can't install, missing configuration), `/deploygate:deploy` will hand you back to `/deploygate:setup`, which knows how to fix these cases. ## 5. Set up CI/CD (optional)[​](#5-set-up-cicd-optional "Direct link to heading") To upload from CI on every push, run: ``` /deploygate:ci-setup ``` The command detects your existing CI configuration (`.github/workflows/`, `bitrise.yml`, `.circleci/config.yml`, `codemagic.yaml`) and generates the right workflow. For GitHub Actions it installs one or both of the bundled templates: * `deploygate-upload.yml` — upload on every push to your main branch * `deploygate-pr.yml` — a per-PR distribution page with a QR code, automatically cleaned up when the PR closes The command also walks you through adding the required repository secrets. For CI, use a **project API key** (issued from `https://deploygate.com/organizations/{PROJECT_NAME}/settings/api_key`) rather than a personal one — that way the workflow keeps working even when team members come and go. See [GitHub Actions Templates](/docs/developer-tools/agent-plugin/github-actions-templates.md) for the full template details and customization checklist. ## 6. Add the Android SDK (optional)[​](#6-add-the-android-sdk-optional "Direct link to heading") To enable crash reporting, remote logging, and screen-capture bug reports on Android: ``` /deploygate:sdk-setup ``` The command adds the SDK with a debug/release split — the real SDK is included only in debug builds, and a no-op stub is used for release. No initialization code is required for typical apps. note The DeployGate SDK for iOS is currently being redesigned and is not recommended for new projects. App distribution, Instant Device, and notifications all work without the SDK on iOS. ## Troubleshooting[​](#troubleshooting "Direct link to heading") **The login URL expired before I could approve it.** The verification code is valid for 5 minutes. Just run the previous command again to get a fresh URL. **A command says I need to log in again.** Your saved login is no longer valid (for example, you signed out from the DeployGate web UI). The plugin will prompt you to log in again — just follow the new URL. **iOS testers can't install the build.** Their device IDs are not yet in your provisioning profile. Run `/deploygate:setup` again — it will collect the missing IDs, regenerate the profile, and re-upload the build for you. **Adding a member fails with a seat limit error.** The Free plan allows 2 members. Upgrade your plan at . ## Next steps[​](#next-steps "Direct link to heading") * [Slash Commands](/docs/developer-tools/agent-plugin/skills.md) — what each `/deploygate:*` command does and when to reach for it * [GitHub Actions Templates](/docs/developer-tools/agent-plugin/github-actions-templates.md) — full template details for CI customization --- # GitHub Actions Templates The plugin ships with two ready-to-use GitHub Actions workflow templates. Both are installed into `.github/workflows/` by [`/deploygate:ci-setup`](/docs/developer-tools/agent-plugin/skills.md#deploygateci-setup) when you choose GitHub Actions. ## Required secrets[​](#required-secrets "Direct link to heading") Configure these under **Settings → Secrets and variables → Actions** on your GitHub repository. | Secret | Description | | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `DEPLOYGATE_API_TOKEN` | **Project API key** from `https://deploygate.com/organizations/{PROJECT_NAME}/settings/api_key`. Use a project key rather than a personal key so CI is not tied to an individual | | `DEPLOYGATE_OWNER_NAME` | Your DeployGate project (organization) name | For iOS builds, additionally: | Secret | Description | | -------------------------- | ----------------------------------------------------- | | `BUILD_CERTIFICATE_BASE64` | `.p12` certificate (base64 encoded) | | `P12_PASSWORD` | Password for the `.p12` certificate | | `KEYCHAIN_PASSWORD` | Arbitrary password used for the CI keychain | | `ASC_KEY_ID` | App Store Connect API Key ID | | `ASC_ISSUER_ID` | App Store Connect Issuer ID | | `ASC_KEY_BASE64` | App Store Connect API Key `.p8` file (base64 encoded) | *** ## `deploygate-upload.yml`[​](#deploygate-uploadyml "Direct link to heading") **Uploads the app to DeployGate on every push to the `main` branch.** ``` on: push: branches: [main] ``` The template ships with both Android and iOS example steps commented out. Uncomment the section that matches your project and customize: * **Runner**: `ubuntu-latest` for Android, `macos-latest` for iOS * **Build step**: replace the placeholder `echo` with your actual build command * **File path**: update `file_path` to point to the built binary **Android** uses [`DeployGate/deploygate-upload-github-action`](https://github.com/DeployGate/deploygate-upload-github-action) directly: ``` - name: Upload to DeployGate uses: DeployGate/deploygate-upload-github-action@v1.1.1 with: api_token: ${{ secrets.DEPLOYGATE_API_TOKEN }} owner_name: ${{ secrets.DEPLOYGATE_OWNER_NAME }} file_path: app/build/outputs/apk/debug/app-debug.apk message: "${{ github.ref_name }} (${{ github.sha }})" distribution_name: "Development" release_note: "${{ github.event.head_commit.message }}" ``` **iOS with simulator zip for Instant Device** uses `curl` directly, because the GitHub Action does not accept an `ios_simulator_zip` input: ``` - name: Upload to DeployGate (iOS with simulator zip) run: | curl --fail-with-body -s -X POST \ -H "Authorization: Bearer ${{ secrets.DEPLOYGATE_API_TOKEN }}" \ -F "file=@${{ runner.temp }}/MyApp.ipa" \ -F "ios_simulator_zip=@${{ runner.temp }}/MyApp-simulator.zip" \ -F "message=${{ github.ref_name }} (${{ github.sha }})" \ -F "distribution_name=Development" \ "https://deploygate.com/api/users/${{ secrets.DEPLOYGATE_OWNER_NAME }}/apps" ``` The template also shows the full keychain + App Store Connect API key setup required before `xcodebuild archive`, and a cleanup step that deletes the keychain on completion. ## `deploygate-pr.yml`[​](#deploygate-pryml "Direct link to heading") **Creates a distribution page per pull request, updates it on every push, and deletes it on close.** ``` on: pull_request: types: [opened, synchronize, closed] permissions: contents: read pull-requests: write deployments: write ``` Behavior: 1. **On `opened` / `synchronize`** — build the app and upload. The first upload creates a new distribution page titled `PR #: `; subsequent uploads reuse the same page by reading the distribution's `access_key` from a hidden marker (``) embedded in a PR comment, and passing it back as the `distribution_key` form parameter on upload. 2. **Comment** — posts or updates a PR comment containing the distribution URL and a QR code (generated via `https://deploygate.com/qr`). PCs can preview via Instant Device; phones install directly. 3. **Title sync** — if the PR title changes between pushes, the distribution page title is updated to match, preserving `active` and `release_scope` from the current state. 4. **GitHub Deployment** — creates a deployment in the `deploygate` environment with the distribution URL, so the environment appears in the PR's timeline. 5. **On `closed`** — `DELETE /api/distributions/{access_key}` removes the distribution page. Uploaded binaries are preserved. The upload step uses `curl` rather than the GitHub Action so it can handle the optional `ios_simulator_zip` attachment: ``` - name: Upload to DeployGate id: upload shell: bash run: | ARGS=(--fail-with-body -s -X POST \ -H "Authorization: Bearer ${{ secrets.DEPLOYGATE_API_TOKEN }}" \ -F "file=@${{ runner.temp }}/MyApp.ipa" \ -F "message=PR #${{ github.event.pull_request.number }} (${{ github.sha }})" \ -F "release_note=${{ github.event.pull_request.title }}") if [ -f "${{ runner.temp }}/MyApp-simulator.zip" ]; then ARGS+=(-F "ios_simulator_zip=@${{ runner.temp }}/MyApp-simulator.zip") fi DIST_KEY="${{ steps.find-key.outputs.distribution_key }}" if [ -n "$DIST_KEY" ]; then ARGS+=(-F "distribution_key=$DIST_KEY") else ARGS+=(-F "distribution_name=PR #${{ github.event.pull_request.number }}: ${{ github.event.pull_request.title }}") fi RESPONSE=$(curl "${ARGS[@]}" \ "https://deploygate.com/api/users/${{ secrets.DEPLOYGATE_OWNER_NAME }}/apps") ``` For Android projects that do not need `ios_simulator_zip`, the template shows a commented-out alternative using `DeployGate/deploygate-upload-github-action` directly, which is simpler but does not support the simulator zip input. ## Customization checklist[​](#customization-checklist "Direct link to heading") After `/deploygate:ci-setup` installs the templates, check these before merging: * Repository secrets configured (see table above) * Runner changed to `macos-latest` for iOS builds * Build step replaced with your actual build commands * [ ] `file_path` points to the correct built binary * For iOS: `-scheme`, `DEVELOPMENT_TEAM`, and any `Matchfile` / fastlane configuration aligned with the existing project * Branch name in `push.branches` matches your default branch (`main` by default) ## Related[​](#related "Direct link to heading") * [`/deploygate:ci-setup`](/docs/developer-tools/agent-plugin/skills.md#deploygateci-setup) — the skill that installs these templates * [DeployGate Upload GitHub Action](https://github.com/DeployGate/deploygate-upload-github-action) — the underlying action used by the Android examples --- # MCP Tools Reference The plugin exposes the following MCP tools. In normal use you do not invoke them by name — the [skills](/docs/developer-tools/agent-plugin/skills.md) and Claude itself orchestrate them from natural-language conversation. This page is the exhaustive reference for each tool's parameters, return values, and caveats. The same tools are available when you run the server standalone via `npx -y @deploygate/mcp` — see [Standalone MCP Server](/docs/developer-tools/agent-plugin/standalone-mcp.md). ## Identifier model[​](#identifier-model "Direct link to heading") DeployGate uses several identifier slugs that appear across multiple tools. The underlying API has historical names that differ from the user-facing terminology: | User-facing term | API / legacy name | Role | | ---------------- | ----------------------------------------- | ------------------------------------------------- | | Workspace | `enterprise` | Top-level container for projects and members | | Project | `organization`, `group` | Groups apps, teams, and members under a workspace | | Team | `team` (`owner` / `developer` / `tester`) | Role-based membership within a project | | Shared team | `shared_team` | Workspace-level team reusable across projects | Most tools accept: * `owner_name` — the **project slug** (a `groups[i].name` from `get_user_info`) or a user's own login name for personal apps * `app_id` — the `package_name` field returned by `upload_app` (bundle identifier on iOS, package name on Android) * `access_key` — the distribution page identifier returned by `create_distribution`; also called `distribution_key` on `upload_app` * `revision` — a build (binary) revision number within an app. The latest revision is used by default where the parameter is optional * `team` — a team's display name (case-insensitive). Auto-created team names are locale-dependent (e.g. `Tester` / `テスター`) and can be renamed; discover them with `get_project` *** ## Authentication[​](#authentication "Direct link to heading") The plugin uses a browser-based device authorization code flow — you never paste an API token. The token is saved on your machine and reused across future agent sessions. | Location | Path | | ------------- | --------------------------------------------------------------------- | | macOS / Linux | `~/.config/deploygate/token` (or `$XDG_CONFIG_HOME/deploygate/token`) | | Windows | `%APPDATA%\deploygate\token` | The file is written with mode `0600` and contains only the issued token. ### `login_start`[​](#login_start "Direct link to heading") Begin the device authorization code flow. Takes no parameters. **Returns:** Text containing a verification URL of the form `https://deploygate.com/app/sessions/codes?code=XXXXXXXX`, the short code, and an expiry (typically 5 minutes). The user opens the URL in a browser where they are signed in to DeployGate and approves the login. After presenting the URL, immediately call `login_wait` to receive the token. ### `login_wait`[​](#login_wait "Direct link to heading") Wait for the user to approve the login started by `login_start`. Polls the server on the server-specified interval until the code is authorized, rejected, or expired. Takes no parameters. **Returns:** On success, text containing the authenticated username, the JSON organization list (workspace names and projects), and the path where the token was saved. The token is also stored client-side so subsequent tool calls authenticate automatically. **Errors:** Returned with `isError: true` for any of: * `No login in progress` — `login_start` was not called first * `The code expired after 5 minutes` — the user did not approve in time * `Login was not approved, or the code expired` — explicit rejection or expiry from the server * `Login aborted for security reasons (nonce mismatch)` — the server response did not match the nonce sent by `login_start` * `Hit the server's rate limit repeatedly` — back off and call `login_start` again later * `Repeated network errors while polling` — check connectivity and retry In all error cases, call `login_start` again to retry. ### `logout`[​](#logout "Direct link to heading") Revoke the stored token on the DeployGate server and delete the local token file. Takes no parameters. **Returns:** `Logged out.` on success. If the server-side revoke fails, the message indicates that the local token was deleted regardless. If no token is stored, returns `Already logged out.` ### `get_user_info`[​](#get_user_info "Direct link to heading") Return the workspace/projects associated with the stored token. Takes no parameters. **Returns:** A JSON array of workspaces, each with a `name` (workspace slug) and a `groups` array of projects. **Errors:** If the stored token is rejected by the server (`unauthorized`), the local token file is cleared and the response says `The stored token is invalid. Run login_start to log in again.` ## App Upload[​](#app-upload "Direct link to heading") ### `upload_app`[​](#upload_app "Direct link to heading") Upload an IPA, APK, or AAB to DeployGate. Optionally associates the upload with a distribution page. | Parameter | Type | Required | Description | | ------------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `file_path` | string | ✓ | Absolute path to the binary | | `message` | string | | Short build description. Max 32,766 bytes — auto-truncated (response includes a warning) | | `distribution_key` | string | | Distribution page `access_key` to update. **Takes priority over `distribution_name`.** Max 255 chars | | `distribution_name` | string | | Distribution page name. Creates a new page if not found (with `active=false`). Ignored when `distribution_key` is also specified. Max 255 chars | | `release_note` | string | | Release note attached to the distribution page | | `disable_notify` | boolean | | Disable push notification to testers (iOS only) | | `ios_simulator_zip` | string | | Absolute path to an iOS simulator build zip. Enables Instant Device (browser preview). Build with `xcodebuild -sdk iphonesimulator` and zip the `.app` directory. Must be uploaded together with an IPA | **Returns:** JSON response from the DeployGate API, including the revision URL and — when a distribution page is touched — its `access_key` and URL. The response's `package_name` is the `app_id` to pass to subsequent distribution / UDID / notification tools. ## App & Binary Management[​](#app--binary-management "Direct link to heading") Tools for inspecting an app and managing its uploaded build revisions (binaries). A *revision* is one uploaded build; the storage retention policy auto-prunes older revisions unless they are protected. ### `get_app`[​](#get_app "Direct link to heading") Get details of an app, optionally for a specific revision. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `revision` | number | | Specific revision to inspect | ### `list_app_revisions`[​](#list_app_revisions "Direct link to heading") List uploaded build revisions, newest first (50 per page). Only revisions within the storage retention period are returned; older auto-pruned builds are not listed. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `page` | number | | Page number (default 1) | ### `get_app_revision`[​](#get_app_revision "Direct link to heading") Get details of a specific build revision. Returns 404 if the revision number does not exist. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `revision` | number | ✓ | Revision number | ### `update_app_revision`[​](#update_app_revision "Direct link to heading") Update the message (memo) of a build revision. Only the message can be changed. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `revision` | number | ✓ | Revision number | | `message` | string | ✓ | New message/memo for the revision | ### `delete_app_revision`[​](#delete_app_revision "Direct link to heading") Delete a build revision (binary). | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `revision` | number | ✓ | Revision number to delete | caution The API rejects deletion (HTTP 400) of the **latest** revision and any **protected** revision. A revision currently served by a distribution page is automatically protected — first repoint that page to another revision (`update_distribution_revision`) or delete the page (`delete_distribution` / `delete_distribution_by_name`). Note that `unprotect_app_revision` only removes *manual* protection, not a distribution's automatic protection. ### `protect_app_revision`[​](#protect_app_revision "Direct link to heading") Add manual protection to a revision so it is excluded from automatic retention pruning. Fails (403) if the app has reached its maximum number of protected revisions. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `revision` | number | ✓ | Revision number to protect | ### `unprotect_app_revision`[​](#unprotect_app_revision "Direct link to heading") Remove **manual** deletion protection added by `protect_app_revision`. Does not remove the automatic protection a revision gets while served by a distribution page. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `revision` | number | ✓ | Revision number to unprotect | ### `search_app_revisions`[​](#search_app_revisions "Direct link to heading") Search build revisions by a query string. Only revisions within the storage retention period are searched. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `q` | string | ✓ | Search query | | `page` | number | | Page number | | `per_page` | number | | Items per page | ### `list_app_members`[​](#list_app_members "Direct link to heading") List the members attached to an app. On current plans, the teams attached to the app are returned as `teams`. For a legacy app with an individual owner, the users attached to the app are returned as `users`, along with a `usage` object carrying the current user count and the limit. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | ### `list_app_teams`[​](#list_app_teams "Direct link to heading") List the regular (non-shared) teams attached to an app in a project. Returns 403 if your token lacks permission on the app. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | --------------------------------- | | `owner_name` | string | ✓ | Project (organization) name | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | ### `remove_app_team`[​](#remove_app_team "Direct link to heading") Detach a team from an app; the team's members lose access granted via that team. **Destructive.** The owner team cannot be detached (403). Returns 400 if the team is not attached to the app. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | --------------------------------- | | `owner_name` | string | ✓ | Project (organization) name | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `team` | string | ✓ | Team name to detach from the app | ### `list_app_shared_teams`[​](#list_app_shared_teams "Direct link to heading") List the workspace shared teams attached to an app. Only valid for apps in an Enterprise (workspace) organization — returns 400 otherwise. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | --------------------------------- | | `owner_name` | string | ✓ | Project (organization) name | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | ### `remove_app_shared_team`[​](#remove_app_shared_team "Direct link to heading") Detach a workspace shared team from an app. Only valid for apps in an Enterprise (workspace) organization — returns 400 otherwise. **Destructive.** Returns 400 if the shared team is not attached. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | --------------------------------------- | | `owner_name` | string | ✓ | Project (organization) name | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `team` | string | ✓ | Shared team name to detach from the app | ## Keystore Management (Android)[​](#keystore-management-android "Direct link to heading") Manage the signing keystore for an Android app. These tools are Android-only; mutating operations require write permission on the app. ### `get_keystore`[​](#get_keystore "Direct link to heading") Get the certificate fingerprints (md5/sha1/sha256/checksum) of an app's signing keystore. Returns 404 if the app has no keystore. | Parameter | Type | Required | Description | | ------------ | ------ | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `app_id` | string | ✓ | Android package name | ### `create_keystore`[​](#create_keystore "Direct link to heading") Generate a debug signing keystore (alias `androiddebugkey`, password `android`). If the app already has a keystore this is a no-op that returns a message saying so (use `update_keystore` to replace). | Parameter | Type | Required | Description | | ------------ | ------ | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `app_id` | string | ✓ | Android package name | ### `update_keystore`[​](#update_keystore "Direct link to heading") Upload/replace the signing keystore from a local keystore file. Returns 400 if the file or its credentials (alias/passwords) are invalid. | Parameter | Type | Required | Description | | ------------------- | ------ | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `app_id` | string | ✓ | Android package name | | `file_path` | string | ✓ | Local path to the keystore file | | `alias_name` | string | ✓ | Key alias name | | `keystore_password` | string | ✓ | Keystore password | | `key_password` | string | ✓ | Key password | ### `delete_keystore`[​](#delete_keystore "Direct link to heading") Delete the app's signing keystore. Returns 404 if the app has no keystore. | Parameter | Type | Required | Description | | ------------ | ------ | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `app_id` | string | ✓ | Android package name | ### `download_keystore`[​](#download_keystore "Direct link to heading") Get a download URL and checksum for the app's signing keystore. Returns 404 if the app has no keystore. | Parameter | Type | Required | Description | | ------------ | ------ | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `app_id` | string | ✓ | Android package name | ## Distribution Page Management[​](#distribution-page-management "Direct link to heading") ### `create_distribution`[​](#create_distribution "Direct link to heading") Create a new distribution page for an app. Returns the `access_key` that forms the public URL `https://deploygate.com/distributions/{access_key}`. When `revision` is omitted, the latest build is used. Returns 400 if the app has reached its maximum number of distribution pages. | Parameter | Type | Required | Description | | -------------- | ---------------------- | -------- | ------------------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `title` | string | ✓ | Distribution page title (max 255 chars) | | `release_note` | string | | Release note for this distribution | | `revision` | number | | Specific revision number to distribute | | `active` | boolean | | Whether the page is active. Default: `true` | ### `list_distributions`[​](#list_distributions "Direct link to heading") List all distribution pages for an app. | Parameter | Type | Required | Description | | ------------ | ---------------------- | -------- | ---------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | ### `get_distribution`[​](#get_distribution "Direct link to heading") Get details of a specific distribution page. | Parameter | Type | Required | Description | | ------------ | ------ | -------- | ------------------------------ | | `access_key` | string | ✓ | Distribution page `access_key` | Call this before `update_distribution` to retrieve the current `active` and `release_scope` values, which are required on update. ### `update_distribution`[​](#update_distribution "Direct link to heading") Update a distribution page. | Parameter | Type | Required | Description | | ----------------------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `access_key` | string | ✓ | Distribution page `access_key` | | `active` | boolean | ✓ | Whether the page is active | | `release_scope` | see below | ✓ | Access scope | | `title` | string | | New title (max 255 chars) | | `passcode` | string | | Required when `release_scope` is `"passcode"` | | `release_note` | string | | Release note | | `ip_restriction_enable` | boolean | | Enable IP address restriction. Only available for apps owned by a project/workspace and when the feature is enabled for that workspace; personal (user-owned) apps do not support this | | `ip_restriction` | string | | Comma-separated allowed IPs/CIDRs, e.g. `10.0.0.0/24,192.168.1.1` | caution Both `active` and `release_scope` are **always required**, even when you only want to change the title. Call `get_distribution` first to retrieve the current values, then pass them through unchanged. **`release_scope` values:** | Value | Behavior | | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `public` | Publicly accessible; indexable by search engines | | `unlisted` | Anyone with the link can access (default) | | `passcode` | Requires a passcode (`passcode` parameter required) | | `authorized_only` | Only accessible to logged-in team members. Only valid for project/workspace-owned apps whose plan supports it (personal apps support `public`/`unlisted`/`passcode` only), and cannot be set if the page already has testers (422) | ### `delete_distribution`[​](#delete_distribution "Direct link to heading") Delete a distribution page. The page only is deleted — uploaded builds (binaries) are preserved. | Parameter | Type | Required | Description | | ------------ | ------ | -------- | ------------------------------ | | `access_key` | string | ✓ | Distribution page `access_key` | ### `delete_distribution_by_name`[​](#delete_distribution_by_name "Direct link to heading") Delete a distribution page by its title (name) within an app. Returns 404 if no page matches the name, and 400 if more than one page shares the name (delete by `access_key` with `delete_distribution` instead). Uploaded builds are preserved. | Parameter | Type | Required | Description | | ------------------- | ---------------------- | -------- | ---------------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `distribution_name` | string | ✓ | Title of the distribution page to delete | ### `update_distribution_revision`[​](#update_distribution_revision "Direct link to heading") Change which build revision a distribution page serves. Returns 404 if the revision does not exist in the app. Requires app admin permission. Re-pointing moves the page's automatic protection to the new revision, freeing the previously-served revision for deletion. | Parameter | Type | Required | Description | | -------------- | ------ | -------- | ------------------------------------- | | `access_key` | string | ✓ | Distribution page `access_key` | | `revision` | number | ✓ | Revision number to assign to the page | | `release_note` | string | | Release note for this revision | ## iOS UDID Management[​](#ios-udid-management "Direct link to heading") ### `get_udids`[​](#get_udids "Direct link to heading") List iOS device UDIDs that have been registered through the distribution page installation flow. | Parameter | Type | Required | Description | | -------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------- | | `owner_name` | string | ✓ | Owner (user login or project slug) | | `app_id` | string | ✓ | Bundle identifier | | `unprovisioned_only` | boolean | | If `true`, return only devices **not** yet in the provisioning profile (`is_provisioned=false`) | **Returns:** An array of entries with `udid`, `USERNAME`, `device_name`, and `is_provisioned`. ## Notification Settings[​](#notification-settings "Direct link to heading") ### `get_notification_settings_url`[​](#get_notification_settings_url "Direct link to heading") Generate the URL for configuring Slack / Microsoft Teams / Chatwork notifications. The user opens the URL in a browser to complete setup — there is no API-only configuration path. | Parameter | Type | Required | Description | | ------------ | ---------------------------- | --------------------------- | ------------------------------------------------- | | `level` | `"distribution"` \| `"app"` | ✓ | Scope of the notification setting | | `access_key` | string | when `level="distribution"` | Distribution page `access_key` | | `owner_name` | string | when `level="app"` | Owner (user login or project slug) | | `owner_type` | `"organization"` \| `"user"` | when `level="app"` | Whether the app belongs to a project or to a user | | `platform` | `"ios"` \| `"android"` | when `level="app"` | App platform | | `app_id` | string | when `level="app"` | Package name or bundle identifier | **Returns:** Text containing the URL. Relay it to the user verbatim — do not add query parameters. ## Member Management[​](#member-management "Direct link to heading") These tools manage membership of the role-based teams within a single project. Team display names are locale-dependent and can be renamed; use `get_project` to discover the team names in a project. ### `add_member`[​](#add_member "Direct link to heading") Onboarding shortcut for initial project setup. Adds a user with one of the three standard roles (`owner` / `developer` / `tester`) by orchestrating: 1. Add to workspace (enterprise) 2. Add to project (upsert — no error on duplicate) 3. Add to the role team (upsert) 4. For non-owner roles: attach the role team to the specified app so the new member can access it Owner-role members have project-wide app access by design, so step 4 is skipped for owner. Standard team names are locale-dependent; this tool resolves the role team by its stable `role` keyword so it works across locales. | Parameter | Type | Required | Description | | ----------- | ---------------------------------------- | --------------------- | ------------------------------------------------ | | `workspace` | string | ✓ | Workspace name | | `project` | string | ✓ | Project name | | `user` | string | ✓ | Email address or username | | `role` | `"owner"` \| `"developer"` \| `"tester"` | ✓ | Role to assign | | `platform` | `"ios"` \| `"android"` | when `role` ≠ `owner` | App platform, to attach the role team to the app | | `app_id` | string | when `role` ≠ `owner` | App to attach the role team to | **Errors:** * Free plan member-seat limit exceeded → `isError: true` with a link to `https://deploygate.com/settings/plan` * User is already in the workspace → silently skipped ### `add_team_member`[​](#add_team_member "Direct link to heading") Atomic single-step: add a user to a specific team in a project. It does **not** add the user to the workspace/project first, nor attach the team to an app — the user must already be a project member. For the full onboarding flow, use `add_member`. | Parameter | Type | Required | Description | | --------- | ------ | -------- | ---------------------------------------------------------------- | | `project` | string | ✓ | Project name | | `team` | string | ✓ | Team display name (case-insensitive). Discover via `get_project` | | `user` | string | ✓ | Email address or username | ### `list_team_members`[​](#list_team_members "Direct link to heading") List members of a specific team in a project. | Parameter | Type | Required | Description | | --------- | ------ | -------- | ---------------------------------------------------------------- | | `project` | string | ✓ | Project name | | `team` | string | ✓ | Team display name (case-insensitive). Discover via `get_project` | ### `remove_team_member`[​](#remove_team_member "Direct link to heading") Remove a member from a team. The user remains in the workspace and project — only the team membership is removed. | Parameter | Type | Required | Description | | --------- | ------ | -------- | ---------------------------------------------------------------- | | `project` | string | ✓ | Project name | | `team` | string | ✓ | Team display name (case-insensitive). Discover via `get_project` | | `user` | string | ✓ | Email address or username | ## Project (Organization) Management[​](#project-organization-management "Direct link to heading") Manage a project (organization) and its membership. `owner_name` on app-scoped tools is the same project slug used here. ### `get_project`[​](#get_project "Direct link to heading") Get a project's details (id, name, description, and its teams). Returns 403 if your token lacks access, or 401 if the project's plan has expired. | Parameter | Type | Required | Description | | --------- | ------ | -------- | --------------------------- | | `project` | string | ✓ | Project (organization) name | ### `update_project`[​](#update_project "Direct link to heading") Update a project's display name and/or description. Provide at least one. Returns 400 on validation failure, or 403 if you lack permission. | Parameter | Type | Required | Description | | -------------- | ------ | -------- | --------------------------- | | `project` | string | ✓ | Project (organization) name | | `display_name` | string | | New display name | | `description` | string | | New description | ### `delete_project`[​](#delete_project "Direct link to heading") Delete a project. **Destructive and irreversible:** removes the project and disables all of its pending invitations. Returns 403 if you lack permission, or 422 if deletion fails. | Parameter | Type | Required | Description | | --------- | ------ | -------- | --------------------------- | | `project` | string | ✓ | Project (organization) name | ### `list_project_apps`[​](#list_project_apps "Direct link to heading") List the apps in a project that are visible to your token. Returns 403 if you lack access. | Parameter | Type | Required | Description | | --------- | ------ | -------- | --------------------------- | | `project` | string | ✓ | Project (organization) name | ### `list_project_members`[​](#list_project_members "Direct link to heading") List all users that belong to a project. Returns 403 if you lack permission. (To list members of a single team, use `list_team_members`.) | Parameter | Type | Required | Description | | --------- | ------ | -------- | --------------------------- | | `project` | string | ✓ | Project (organization) name | ## Shared Team Management[​](#shared-team-management "Direct link to heading") Shared teams are workspace-level teams that can be assigned to multiple apps across projects. When assigned to an app, shared team members get tester-level access. ### `create_shared_team`[​](#create_shared_team "Direct link to heading") Create a workspace-level shared team. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | ------------------------------------- | | `workspace` | string | ✓ | Workspace name | | `name` | string | ✓ | Shared team name (e.g. `"all staff"`) | ### `list_shared_teams`[​](#list_shared_teams "Direct link to heading") List the shared teams in a workspace. Requires workspace management permission. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | -------------- | | `workspace` | string | ✓ | Workspace name | ### `delete_shared_team`[​](#delete_shared_team "Direct link to heading") Delete a shared team from a workspace. **Destructive.** Returns 400 if the team does not exist. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | -------------------------- | | `workspace` | string | ✓ | Workspace name | | `team` | string | ✓ | Shared team name to delete | ### `add_shared_team_member`[​](#add_shared_team_member "Direct link to heading") Add a member to a shared team. Specify **either** email or username — not both. | Parameter | Type | Required | Description | | ---------------- | ------ | --------- | ------------------------------------ | | `workspace` | string | ✓ | Workspace name | | `shared_team_id` | string | ✓ | Shared team ID | | `email` | string | either/or | Member's email | | `username` | string | either/or | Member's username | | `description` | string | | Optional description (max 255 chars) | ### `list_shared_team_members`[​](#list_shared_team_members "Direct link to heading") List the members of a workspace shared team. Requires workspace management permission. | Parameter | Type | Required | Description | | ---------------- | ------ | -------- | -------------- | | `workspace` | string | ✓ | Workspace name | | `shared_team_id` | string | ✓ | Shared team ID | ### `remove_shared_team_member`[​](#remove_shared_team_member "Direct link to heading") Remove a member from a shared team. **Destructive.** Returns 404 if the user is not a member of the shared team. | Parameter | Type | Required | Description | | ---------------- | ------ | -------- | ------------------------------------ | | `workspace` | string | ✓ | Workspace name | | `shared_team_id` | string | ✓ | Shared team ID | | `user` | string | ✓ | Member to remove (username or email) | ### `assign_shared_team_to_app`[​](#assign_shared_team_to_app "Direct link to heading") Assign a shared team to an app. Members of the shared team get tester-level access. | Parameter | Type | Required | Description | | ---------- | ---------------------- | -------- | --------------------------------- | | `project` | string | ✓ | Project name | | `platform` | `"ios"` \| `"android"` | ✓ | App platform | | `app_id` | string | ✓ | Package name or bundle identifier | | `team` | string | ✓ | Shared team name to assign | ## Workspace (Enterprise) Management[​](#workspace-enterprise-management "Direct link to heading") Workspace-level administration. All current plans are workspace-based, so these tools apply to them; they are not available on legacy plans. Member and project mutations require the appropriate workspace permission. ### `list_workspace_members`[​](#list_workspace_members "Direct link to heading") List all members of a workspace. Requires workspace management permission (403/404 otherwise). | Parameter | Type | Required | Description | | ----------- | ------ | -------- | --------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | ### `get_workspace_member`[​](#get_workspace_member "Direct link to heading") Get a single workspace member by name or email (at least 3 characters). Returns 400 if no matching member is found. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | --------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | | `id` | string | ✓ | Member name or email | ### `add_workspace_member`[​](#add_workspace_member "Direct link to heading") Invite a member to a workspace by email address. Set `role="guest"` for a guest member — the guest role is available only to certain partner workspaces. Returns 400 if already a member, 403 if you lack invite permission or the plan's member seats are exceeded. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | -------------------------------------------------------------------------------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | | `user` | string | ✓ | Email address of the person to invite | | `full_name` | string | | Optional full name for the invitee | | `role` | string | | Optional role; use `guest` to invite a guest member (available only to certain partner workspaces) | ### `remove_workspace_member`[​](#remove_workspace_member "Direct link to heading") Remove a member from a workspace entirely. **Destructive.** You cannot remove yourself (403); a non-member returns 400. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | ------------------------------ | | `workspace` | string | ✓ | Workspace (enterprise) name | | `user` | string | ✓ | Member name or email to remove | ### `list_workspace_projects`[​](#list_workspace_projects "Direct link to heading") List the projects (organizations) under a workspace. Requires workspace management permission. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | --------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | ### `create_project`[​](#create_project "Direct link to heading") Create a new project (organization) in a workspace. `name` must be 3–28 chars (letters/digits/hyphens/underscores, starting and ending with a letter or digit) and **globally unique** (400 if already in use). `owner_name_or_email` must be an existing workspace member (404 otherwise). 403 if the plan's project limit is exceeded. `display_name` defaults to `name`. | Parameter | Type | Required | Description | | --------------------- | ------ | -------- | ---------------------------------------------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | | `owner_name_or_email` | string | ✓ | Workspace member to set as the project owner (username or email) | | `name` | string | ✓ | Project name (3–28 chars, globally unique) | | `display_name` | string | | Optional display name (defaults to `name`) | | `description` | string | | Optional description | ### `list_workspace_project_members`[​](#list_workspace_project_members "Direct link to heading") List the members of a project within a workspace. Returns 401/403 if you lack permission. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | --------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | | `project` | string | ✓ | Project (organization) name | ### `add_project_member`[​](#add_project_member "Direct link to heading") Add a workspace member to a project as a direct project member. The user must already be a workspace member (401 otherwise); 403 if you lack permission. This is project-level membership; to add to a specific team use `add_team_member`. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | ------------------------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | | `project` | string | ✓ | Project (organization) name | | `user` | string | ✓ | Workspace member to add (username or email) | ### `remove_project_member`[​](#remove_project_member "Direct link to heading") Remove a member from a project. **Destructive.** Returns 403 if the user is not a project member or you lack permission. This removes project-level membership; to remove from a single team use `remove_team_member`. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | ------------------------------------ | | `workspace` | string | ✓ | Workspace (enterprise) name | | `project` | string | ✓ | Project (organization) name | | `user` | string | ✓ | Member to remove (username or email) | ### `update_saml_certificate`[​](#update_saml_certificate "Direct link to heading") Update a workspace's SAML IdP certificate from a local PEM file. Requires workspace **admin** permission. | Parameter | Type | Required | Description | | ----------- | ------ | -------- | -------------------------------------------------- | | `workspace` | string | ✓ | Workspace (enterprise) name | | `file_path` | string | ✓ | Local path to the IdP X.509 certificate (PEM) file | caution Uploading an incorrect certificate can break SSO login for the whole workspace. Returns 400 for an invalid certificate file, 403 if you are not an admin or the plan has expired, and 404 if SAML is not configured. --- # Slash Commands Reference Each `deploygate:*` command is a high-level workflow that the agent drives end-to-end. This page is a quick reference for **when to use each command, what it does, and what you get back**. You don't need to memorize the steps — the agent will ask you before any decision. In Claude Code, invoke a command as `/deploygate:`; in Codex, use `$deploygate:`. This page uses Claude Code's `/deploygate:*` form throughout. If this is your first time, start with **[Getting Started](/docs/developer-tools/agent-plugin/getting-started.md)** rather than this page. *** ## `/deploygate:setup`[​](#deploygatesetup "Direct link to heading") **The recommended starting point for first-time users.** A single guided flow that takes you from "I have an account, maybe" to "my testers can install the build." Reach for it when: * You've never uploaded to DeployGate before * You need to create or reconfigure a distribution page * An iOS build is failing with a code-signing or provisioning-profile error * A tester reports they can't install your iOS Ad Hoc / Development build * You want to send upload notifications to Slack, Microsoft Teams, or Chatwork **What you get:** a signed-in plugin, an uploaded build, a shareable distribution URL of the form `https://deploygate.com/distributions/{key}`, and (optionally) notifications wired up to your team chat. The flow is: 1. **Sign up / sign in** — opens a browser-based approval. The login persists for future sessions. 2. **Upload your app** — builds the project and uploads it. For iOS, it can also produce a simulator build so you can preview in the browser via Instant Device. 3. **Create a distribution page** — pick an intent (Development / QA / Beta) and get a public URL to share. 4. **Connect notifications** — opens the notification settings page in your browser for Slack / Teams / Chatwork. 5. **Register iOS testers** *(iOS only)* — if some testers' devices aren't yet on your provisioning profile, the command collects their device IDs, regenerates the profile, rebuilds, and re-uploads to the same distribution page. After the basics are in place, the command points you toward CI setup, the Android SDK, and inviting teammates. ## `/deploygate:deploy`[​](#deploygatedeploy "Direct link to heading") **The fast-path command for projects already set up.** Use this for your day-to-day "ship a new build" loop. What it does, on your behalf: * Detects whether your project is Android or iOS * Builds the app with the appropriate toolchain * Generates a useful upload message from your current Git branch and commit * Uploads the build and prints the new revision URL **Options** (pass inline after the command): | Syntax | Effect | | ------------------------------------------------ | ------------------------------------------------- | | `/deploygate:deploy to "Beta"` | Target the distribution page named `Beta` | | `/deploygate:deploy to key:abc123def456` | Target the distribution page with that access key | | `/deploygate:deploy with message "hotfix build"` | Override the auto-generated upload message | If something blocks the upload (you're not signed in, iOS code signing failed, a tester's device isn't registered), the command hands off to `/deploygate:setup`, which owns the recovery flows. note Do not feed APKs produced by Android Studio's Instant Run / Apply Changes — those are incomplete builds. Always use a full Gradle build. ## `/deploygate:ci-setup`[​](#deploygateci-setup "Direct link to heading") **Generate CI/CD workflows for automated upload and per-PR distribution.** The command detects your CI from these files: | File present | Provider | | ---------------------- | -------------------------------------------- | | `.github/workflows/` | GitHub Actions (with bundled templates) | | `bitrise.yml` | Bitrise (uses the official DeployGate step) | | `.circleci/config.yml` | CircleCI | | `codemagic.yaml` | Codemagic | | none | GitHub Actions is recommended for new setups | **What it produces (GitHub Actions):** one or both of the bundled templates installed under `.github/workflows/` — see [GitHub Actions Templates](/docs/developer-tools/agent-plugin/github-actions-templates.md): * [`deploygate-upload.yml`](/docs/developer-tools/agent-plugin/github-actions-templates.md#deploygate-uploadyml) — upload on push to your main branch * [`deploygate-pr.yml`](/docs/developer-tools/agent-plugin/github-actions-templates.md#deploygate-pryml) — per-PR distribution page with QR code, auto-cleaned on close The command also walks you through configuring the required repository secrets, recommending a **project API key** rather than a personal one so the workflow doesn't break when teammates change. For Android projects already using `gradle-deploygate-plugin`, it can wire up the combined `./gradlew uploadDeployGateDebug` task in place of the separate build + upload steps. ## `/deploygate:sdk-setup`[​](#deploygatesdk-setup "Direct link to heading") **Add the DeployGate SDK to an Android app** for crash reporting, remote logging, and screen-capture bug reports. Use this *after* you've uploaded your app at least once via `/deploygate:setup` — SDK features only activate when the app is installed via DeployGate, not when run directly from Android Studio. What the command sets up: * A debug/release split so release builds contain no SDK code: ``` dependencies { debugImplementation("com.deploygate:sdk:4.9.0") releaseImplementation("com.deploygate:sdk-mock:4.9.0") } ``` * For most apps, no initialization code is needed. Multi-process apps get a single line added to `Application.onCreate()`. * Optionally, `gradle-deploygate-plugin` so you can build and upload with one command: ``` export DEPLOYGATE_API_TOKEN=your-token ./gradlew uploadDeployGateDebug ``` After installation, the command guides you through uploading a new build, installing it via DeployGate, and confirming a launch event in the dashboard. ### iOS SDK[​](#ios-sdk "Direct link to heading") **The iOS SDK is currently not recommended for new projects.** The existing SDK has material limitations (no Swift Package Manager support, no simulator binary, no module map), and a redesign is in progress. App distribution, Instant Device, and notifications all work without it. If you ask `/deploygate:sdk-setup` about iOS, the command will explain the situation and decline to integrate. ## `/deploygate:logout`[​](#deploygatelogout "Direct link to heading") Sign out of DeployGate from this machine. The login is revoked on the server side and the local credential is cleared. Run `/deploygate:setup` (or any other command) to sign back in when needed. --- # Standalone MCP Server (any MCP client) The DeployGate Agent Plugin ships its tools as a Model Context Protocol (MCP) server. Beyond the [Claude Code and Codex plugins](/docs/developer-tools/agent-plugin/getting-started.md), the same server is published to npm as **`@deploygate/mcp`** and can be added to any MCP-compatible client via `npx` — no global install or build step required. Use this when your client is not Claude Code or Codex — for example Claude Desktop, Cursor, Cline, or VS Code (GitHub Copilot) — or whenever you prefer to wire up the MCP server manually. note The standalone server exposes the same [MCP tools](/docs/developer-tools/agent-plugin/mcp-tools.md) as the plugin (upload, distribution pages, members, and so on), but **not** the `deploygate:*` slash commands (`/deploygate:setup`, `/deploygate:deploy`, …). Those guided flows are a Claude Code / Codex plugin feature. If you want the slash commands, install the plugin instead — see [Getting Started](/docs/developer-tools/agent-plugin/getting-started.md). *** ## Prerequisites[​](#prerequisites "Direct link to heading") * An MCP-compatible client (Claude Desktop, Cursor, Cline, VS Code with GitHub Copilot, and others) * **Node.js 20 or newer** on your PATH — `npx` ships with Node.js and runs the server. (The Claude Code / Codex plugin installs do not need this; the standalone `npx` flow does.) * A DeployGate account is **not** required up front — you can sign up during the in-browser login. ## Configuration[​](#configuration "Direct link to heading") Most MCP clients share the same `mcpServers` configuration shape. Add the following entry to your client's MCP settings: ``` { "mcpServers": { "deploygate": { "command": "npx", "args": ["-y", "@deploygate/mcp"] } } } ``` `-y` lets `npx` download and run the latest published `@deploygate/mcp` without an interactive prompt. The first launch fetches the package (a few seconds); subsequent launches reuse the npm cache. After saving the configuration, restart (or reload) your client so it spawns the server. The DeployGate tools then appear in your client's tool list. ### Where the configuration lives[​](#where-the-configuration-lives "Direct link to heading") The exact location of the `mcpServers` block depends on your client. A few common ones: | Client | Where to add it | | ------------------------ | --------------------------------------------------------------------- | | Claude Desktop | **Settings → Developer → Edit Config** (`claude_desktop_config.json`) | | Cursor | `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (per-project) | | Cline | The MCP Servers panel → **Configure MCP Servers** | | VS Code (GitHub Copilot) | `.vscode/mcp.json` in your workspace, or the user `settings.json` | Refer to your client's own documentation for the precise menu path — the JSON entry above is the same in each case. ### Pinning a version[​](#pinning-a-version "Direct link to heading") By default `npx -y @deploygate/mcp` follows the latest release. To pin a specific version, append it to the package name: ``` { "mcpServers": { "deploygate": { "command": "npx", "args": ["-y", "@deploygate/mcp@1.5.0"] } } } ``` ## Authentication[​](#authentication "Direct link to heading") Authentication is identical to the plugin — a browser-based device authorization code flow, with **no API token to paste**. Ask your agent to set up or log in to DeployGate; under the hood it calls the `login_start` tool, which returns a short URL and code. Open the URL in a browser where you are signed in to DeployGate, approve, and the agent finishes the login via `login_wait`. The issued token is stored on your machine and **shared with the plugin installs** — if you have already logged in through the Claude Code / Codex plugin, the standalone server reuses the same token. | Platform | Token path | | ------------- | --------------------------------------------------------------------- | | macOS / Linux | `~/.config/deploygate/token` (or `$XDG_CONFIG_HOME/deploygate/token`) | | Windows | `%APPDATA%\deploygate\token` | See the [MCP Tools Reference](/docs/developer-tools/agent-plugin/mcp-tools.md#authentication) for the full login flow, error cases, and the `logout` tool. ## What you can do[​](#what-you-can-do "Direct link to heading") Once connected, the full set of DeployGate MCP tools is available — uploading builds, managing distribution pages, onboarding members, managing workspaces, and more. See the [MCP Tools Reference](/docs/developer-tools/agent-plugin/mcp-tools.md) for the complete tool list and parameters. ## Source[​](#source "Direct link to heading") `@deploygate/mcp` is open source. See the [GitHub repository](https://github.com/DeployGate/deploygate-agent-plugin) for source code, issue tracking, and release notes. --- # Android SDK While DeployGate can distribute an app with just an APK file upload, incorporating an SDK makes the app development process more seamless. *** ## SDK Installation (Android Studio/Gradle)[​](#sdk-installation-android-studiogradle "Direct link to heading") 1. Enter the following into the app module’s build.gradle file (Example: app/build.gradle). build.gradle ``` // Groovy DSL dependencies { // Use SDK dependency for variants like debug. debugImplementation "com.deploygate:sdk:${latest_version}" // Use no-op implementation for variants you would like to disable DeployGate SDK. releaseImplementation "com.deploygate:sdk-mock:${latest_version}" } ``` build.gradle.kts ``` // Kotlin DSL dependencies { // Use SDK dependency for variants like debug. debugImplementation("com.deploygate:sdk:${latest_version}") // Use no-op implementation for variants you would like to disable DeployGate SDK. releaseImplementation("com.deploygate:sdk-mock:${latest_version}") } ``` When `sdk-mock` is preferable? Currently, we provide two dependencies for Android apps. * com.deploygate :sdk * com.deploygate :sdk-mock Please use `sdk-mock` dependency for production builds instead of `sdk` when you would like to disable DeployGate SDK on production builds. `sdk-mock` dependency has public interfaces that are same as of `sdk` but their implementations are empty, so you don't have to modify your app code for specific build variants. For apps that are targeting API 30 or later Please use Android SDK 4.3.0 or later. When using a version earlier than 4.3.0, on devices running Android 11 or later, the [SDK must be granted permission to query packages](https://developer.android.com/about/versions/11/privacy/package-visibility) in order to connect to DeployGate's services. As such, please add the following to AndroidManifest.xml. ``` ``` 2. On Android Studio, click on Sync Project With Gradle Files to apply the edits. ![Screenshot of Android sdk](/assets/images/android-sdk-27ed1fea57269c1e643565193dd64e94.png) 3. After building and distributing an app with DeployGate, the app’s launch and crash reports will be available on DeployGate. Building and uploading is easy with the Gradle DeployGate Plugin [Gradle Plugin](/docs/developer-tools/gradle-plugin/.md) allows you to build and upload by simply running Gradle task. DeployGate SDK will not function with builds not distributed via DeployGate DeployGate SDK will only function with builds distributed via DeployGate in conjunction with the DeployGate app. It will not function when installed on emulators or devices directly connected to development environments, not through DeployGate. Some features provided by DeployGate SDK might function only with specific OS version or later Please review the corresponding references listed below for more details. ## References[​](#references "Direct link to heading") * Javadoc - * Release Notes - * Source Code - * Sample Project - --- # キャプチャ機能 English version is currently unavailable. We are preparing the English version of this document. Sorry for your inconvenience. *** キャプチャ機能は現在作成中の機能で、一部のお客様にのみ公開されている機能です。 *** キャプチャ機能はスクリーンショットの価値を拡大し、開発チームへの質の高い情報共有を簡単にする機能です。スクリーンショットを起点に端末の情報やLogCatを収集し、DeployGate上でいつでも閲覧可能になります。それらの情報のセットをキャプチャと呼び、キャプチャにはそれぞれ固定URLが発行されます。 動作最低バージョンについて * Android 5.0 Lolipop (API 21) 以上 * 対応版のSDK 4.6.0-alpha03以上 * 対応版のDeployGate Androidクライアントアプリ直接配布した対応バージョンまたは1.15.0以上 ## 機能の概要[​](#機能の概要 "Direct link to heading") * 検証アプリ上でスクリーンショットを撮影するとキャプチャ機能が自動起動し、自由記述のメモを追加して送信するだけで様々な情報が保存・送信されます * スクリーンショットを撮ったタイミングまでのLogcatや直近の端末情報が保存されるため、不具合等の初回遭遇時にその瞬間を撮り逃した場合でも有益な情報が収集可能です * キャプチャごとに固定リンクが払い出されるため、Issue Trackerやプルリクエストなどに添付することが可能です * あるアプリのために取得したキャプチャの一覧はそのアプリの詳細画面から遷移可能です * そのほか詳細は別途送付している資料をご参照ください LogcatやDeployGateのカスタムログ機能を併用するとキャプチャにより多くの情報を載せられます 現時点で自動収集する情報は次の通りです * 検証アプリのリビジョン、インストール時刻、操作者といった端末及びその操作情報 * スクリーンショット * スクショ撮影時刻”まで”のLogcatを保持 * 自由記述(メモ) 機能制限のある端末について(2024/1/22追記) キャプチャ機能の利用において特定の機能が制限される端末は以下の通りです。 * キャプチャ作成時にLogCatが取得できない * Nothing Phone (1) 上記の端末以外にも制限付きでの動作となる場合があります。
お気づきの点がございましたら、別途資料にて案内している導線よりフィードバックをお寄せください。 ## 機能の対象ユーザー[​](#機能の対象ユーザー "Direct link to heading") 開発者やQA担当者を始め、特定の属性に依りません。普段のスクリーンショットの情報量が増加し、非開発者でもスクリーンショットを撮るだけで開発・再現等に必要なデータが自動送信されるようになるとお考えください。 配布ページからのみの参加ユーザーはご利用頂けません DeployGateアカウント及び対象検証アプリに対する閲覧権限を持っている必要があります。 ## 有効化の手順[​](#有効化の手順 "Direct link to heading") 1. 貴社で利用できるよう、DeployGate側で機能の開放設定を行います 2. Androidクライアントアプリを1.15.1以上へアップデート 一部のお客様にはキャプチャ機能対応のAPKファイルを直接配布しておりましたが、2023/10/23現在は Google Play からの配信を行っています。 3. 次の Maven Repository の追加 Maven Centralから配布しているため、すでに設定されている方が殆どかと思います。 build.gradle ``` // Groovy DSL repositories { mavenCentral() } ``` build.gradle.kts ``` // Kotlin DSL repositories { mavenCentral() } ``` 4. 対応版SDK(4.6.0-alpha03以上)の組み込み build.gradle ``` // Groovy DSL dependencies { implementation "com.deploygate:sdk:4.6.0" } ``` build.gradle.kts ``` // Kotlin DSL dependencies { implementation("com.deploygate:sdk:4.6.0") } ``` 4.6.0-alpha03 をご利用の方へ 正式版である4.6.0へのアップグレードをお願い致します。 5. アプリのリビルドと配信 DeployGateにリビルドしたアプリをアップロードし、新規リビジョンを作成してください。あとは対応版のクライアントアプリと連動してキャプチャ機能が動作するようになります。 キャプチャ機能を無効にしたい場合 DeployGate Android SDK 4.5.0にダウングレードしてください。後方互換は保証されています。 6. キャプチャの作成と共有(2023/11/7追記) 手順5で新しく作成したリビジョンをお手持ちのデバイスにインストールしてアプリを起動し、スクリーンショットを撮影することでキャプチャの取得が行われます。 自動的に起動されたキャプチャ保存画面で「キャプチャを保存する」ボタンを押下することで、スクリーンショットとログなどの関連データがDeployGate上で閲覧可能になります。 キャプチャ保存画面では必要に応じてメモの記載が可能です。 保存したキャプチャはDeployGate上のアプリ詳細ページ内にあるキャプチャ一覧から確認が可能です。 また、キャプチャ保存後に表示される通知から共有用URLを取得することも可能です。 キャプチャ機能の動作条件 2023/11/7現在、スクリーンショットの撮影時に検証対象アプリがフォアグラウンドであることがキャプチャ機能の動作条件となっています。 ## フィードバックについて[​](#フィードバックについて "Direct link to heading") 別途資料にて案内している導線より、ぜひフィードバックをお寄せください。 --- # Enable Remote LogCat Required for Android 4.0 Ice Cream Sandwich or earlier. (Not required for 4.1 or later) *** DeployGate offers a remote LogCat feature that allows you to browse LogCat wirelessly. When selecting a device from the dashboard, a request is issued to the device’s DeployGate Client. It will then call the SDK embedded within the app and start the LogCat transfer. On devices running Android 4.0 Ice Cream Sandwich or earlier, you must add permissions to AndroidManifest.xml using the following steps to view LogCat logs from the app. Obtaining LogCat LogCat is sent when requested remotely or when an app crashes ## Steps for activation[​](#steps-for-activation "Direct link to heading") 1. Open AndroidManifest.xml 2. Add the following uses-permissions statement into `` tags. ``` ``` 3. Rebuild and push the app DeployGate SDK automatically detects these changes and will be ready to accept requests. You should be able to view LogCat of the installed device from the app’s dashboard. --- # Event Logs Report specific events *** DeployGate provides remote log function to browse Log without connecting directly to Android devices. The remote log is displayed on the timeline of the distributed application page. caution Remote log is sent instantaneously. However it requires the network connection on devices to finalize. These below methods are available to send logs and the results can be found on the timeline. Java ``` DeployGate.logError("an error"); DeployGate.logWarn("a warning"); DeployGate.logInfo("information"); DeployGate.logVerbose("verbose"); DeployGate.logDebug("debugging"); ``` --- # Version History DeployGate SDK for Android *** See [here](https://github.com/DeployGate/deploygate-android-sdk/releases) for the 4.3.0 or later release notes. ## 4.3.0 (2020-10-10)[​](#430-2020-10-10 "Direct link to heading") [Bintray](https://bintray.com/deploygate/maven/com.deploygate%3Asdk/4.3.0) * Added support for target SDK version 30. ## 4.2.0 (2020-05-16)[​](#420-2020-05-16 "Direct link to heading") [Bintray](https://bintray.com/deploygate/maven/com.deploygate%3Asdk/4.2.0) * Fixed so that the following attributes can be obtained normally with DeployGate Android Client 1.7.0 and later. * `hasUpdate()` * `getUpdateRevision()` * `getUpdateVersionCode()` * `getUpdateVersionName()` ## 4.1.0 (2018-05-08)[​](#410-2018-05-08 "Direct link to heading") 🔗 [Bintray](https://bintray.com/deploygate/maven/com.deploygate%3Asdk/4.1.0) * Enabled the following features with DeployGate Android Client 1.7.3 and later. * Send custom exception crash reports. ## 4.0.0 (2017-08-15)[​](#400-2017-08-15 "Direct link to heading") 🔗 [Bintray](https://bintray.com/deploygate/maven/com.deploygate%3Asdk/4.0.0) * `Application#onCreate` no longer need to call `DeployGate.install(this)` inside. * Supports the following new attributes with DeployGate Android Client 1.7.0 and later. * `getDeployGateVersionCode()` * `getCurrentRevision()` * `hasUpdate()` (※ It was later discovered that this could not be used due to a bug. Fixed in 4.2.0) * `getUpdateRevision()` (※ It was later discovered that this could not be used due to a bug. Fixed in 4.2.0) * `getUpdateVersionCode()` (※ It was later discovered that this could not be used due to a bug. Fixed in 4.2.0) * `getUpdateVersionName()` (※ It was later discovered that this could not be used due to a bug. Fixed in 4.2.0) * `getUpdateMessage()` * `installUpdate()` * `getDistributionId()` * `getDistributionUrl()` * `getDistributionTitle()` * `openComments()` * `composeComment(String)` ## 3.1.1 (2015-11-25)[​](#311-2015-11-25 "Direct link to heading") 🔗 [Maven Repository](https://mvnrepository.com/artifact/com.deploygate/sdk/3.1.1) * Improvements * Fixed issue that caused a crash when sending logs from SDK to the DeployGate app failed. ([#6](https://github.com/DeployGate/deploygate-android-sdk/pull/6) * `DeployGate.install(Application, String, DeployGateCallback)` parameter author was ignored but this issue has been fixed. ([#5](https://github.com/DeployGate/deploygate-android-sdk/pull/5) * Fixed issue where `onInitialized(false)` callback was called twice when DeployGate wasn’t installed. ([#4](https://github.com/DeployGate/deploygate-android-sdk/pull/4) ## 3.1 (2014-01-24)[​](#31-2014-01-24 "Direct link to heading") 🔗 [Maven Repository](https://mvnrepository.com/artifact/com.deploygate/sdk/3.1) * Steps to replace from previous version * Simply replace the jar with the new version. There are no changes to the interface. * New features * Added `DeployGate.requestLogCat()` , which lets you send LogCat at any time. ## r2 (2012-09-13)[​](#r2-2012-09-13 "Direct link to heading") 🔗 [Download](https://deploygate.com/client/deploygatesdk-r2.zip) * Steps to replace from previous version * Simply replace the jar with the new version. There are no changes to the interface. * New features * You can specify the app's distributor. By setting the distributor's username in `DeployGate#install()`, `DeployGate#isAuthorized()` will return false if other users distribute the app. Additionally, you can manually use `DeployGate#getAuthorUsername()`, typically during onInitialized() callback. These features are available on DeployGate Client v1.1.0 and later. ## r1 (2012-09-10)[​](#r1-2012-09-10 "Direct link to heading") 🔗 [Download](https://deploygate.com/client/deploygatesdk.zip) --- # User Authentication Restrict apps' distribution only for selected users *** There are many circumstances in which you would like to restrict apps' distributions to select users for testing. Apps on Android devices can be extracted by anyone without root privileges simply by enabling Developer Mode. Therefore, restricting file distribution alone is not sufficient to protect your app. Even in such cases, you can use the DeployGate SDK to control authorization for using the app. For example, entering the following code into `Activity#onCreate` will prevent unauthorized users from launching apps. Java ``` DeployGate.registerCallback(new DeployGateCallback() { @Override public void onInitialized(boolean isServiceAvailable) { if (!isServiceAvailable) { Toast.makeText(this, "DeployGate is not available", Toast.LENGTH_SHORT).show(); finish(); } } @Override public void onStatusChanged(boolean isManaged, boolean isAuthorized, String loginUsername, boolean isStopped) { if (!isAuthorized) { Toast.makeText(this, "This device is not authorized to use this app", Toast.LENGTH_SHORT).show(); finish(); } } ``` Additionally, DeployGate SDK provides several functions to check if a user has permission to use an app. For example, it’s possible to see if an app is on the list of apps approved for use by a particular user. ``` DeployGate.isDeployGateAvailable(); // True if Deploygate has been installed DeployGate.isAuthorized(); // True if app is available for current user DeployGate.getLoginUsername(); // Current login username DeployGate.getAuthorUsername(); // App developer username ``` See [JavaDoc](https://deploygate.github.io/deploygate-android-sdk/) or [GitHub - DeployGate/deploygate-android-sdk](https://github.com/DeployGate/deploygate-android-sdk) for details. --- # Upload with fastlane If you are using [fastlane](https://fastlane.tools/) to build your app, you can upload your app with deploygate action. Example ``` deploygate( api_token: 'API Key', # Alternatively, environment variable DEPLOYGATE_API_TOKEN can be specified user: 'Username OR Project/Organization Name', # Alternatively, environment variable DEPLOYGATE_USER can be specified message: "Fastlane build #{lane_context[SharedValues::BUILD_NUMBER]}", ) ``` If you add `deploygate` action to Fastfile as in the above example, you can use ``` fastlane deploygate ``` to upload your app. ## deploygate Action Options[​](#deploygate-action-options "Direct link to heading") The following variables and environment variables can be set. | Variable | Environment Variable | Description | | ----------------- | ----------------------------- | -------------------------------------------------------------------------------------------------- | | api\_token | DEPLOYGATE\_API\_TOKEN | User’s or Project/Organization’s API Key | | user | DEPLOYGATE\_USER | App owner’s username or Project/Organization name | | ipa | DEPLOYGATE\_IPA\_PATH | Path to IPA file. `gym` or `xcodebuild` users don’t have to set it manually. | | apk | DEPLOYGATE\_APK\_PATH | Path to APK file. `gradle`users don’t have to set it manually. | | message | DEPLOYGATE\_MESSAGE | Build description message | | distribution\_key | DEPLOYGATE\_DISTRIBUTION\_KEY | Specifying the distribution page’s URL hash will update the distribution page | | release\_note | DEPLOYGATE\_RELEASE\_NOTE | Description message for updated distribution page | | disable\_notify | DEPLOYGATE\_DISABLE\_NOTIFY | (iOS only) Setting to “true” will disable email notifications for uploads. The default is “false”. | deploygate Action For more details, please view the Fastlane document. --- # Gradle Plugin The Gradle plugin is useful when integrating Gradle with DeployGate. *** Using with Android Studio 2 series or 3.0.0 preview/alpha/beta Please use version 1.1.5. The official release of Android Studio 3.0.0 is the minimum requirement for version 2 series. The Gradle plugin makes it easy to upload an Android app under development to DeployGate. The Gradle plugin is open source, and the latest information is available in the GitHub repository. Please see [here](https://github.com/DeployGate/gradle-deploygate-plugin/blob/master/README.md) for the README. While the Gradle plugin does not require any specific settings to function, it is possible to add configurations as an option. Please see [here](https://github.com/DeployGate/gradle-deploygate-plugin/blob/master/README.md#how-configure-your-deployments) for more details about the various settings. ## Bug Reports and Requests[​](#bug-reports-and-requests "Direct link to heading") Please submit bug reports and requests via GitHub Issue. --- # iOS SDK Just add 1 line to AppDelegate to complete the process. *** The current iOS build does not support this SDK The current Xcode iOS build does not support this SDK.
The following environments are supported. * Xcode 13.4 or earlier (only compatible with Intel Mac) * iOS 9.0 or earlier With DeployGate, you can distribute apps without using SDK. DeployGate is currently working on updates to all of our services. As part of these ongoing and future updates, we plan to provide environments that support SDK. DeployGate can be used with basic features even without an SDK. Uploading an app package as-is will allow immediate downloads via DeployGate. The dashboard will reflect how it was installed. Incorporating DeployGate SDK into a project will allow for superior features, including crash reports, remote logs, user authentication, and obtaining updated information. Incorporating DeployGate SDK is as easy as adding one line of code to a project, so we highly recommend its use. Preparation To obtain the API Key, please upload the built app (pre-SDK installation) to DeployGate. ## Installation[​](#installation "Direct link to heading") DeployGate iOS SDK supports both installation with CocoaPods and manual installation. ### Install with CocoaPods[​](#install-with-cocoapods "Direct link to heading") #### 1. Add the following to Podfile.[​](#1-add-the-following-to-podfile "Direct link to heading") Profile ``` pod "DeployGateSDK" ``` #### 2. Run the following command to install.[​](#2-run-the-following-command-to-install "Direct link to heading") Shell ``` pod install ``` ### Download Package and Install[​](#download-package-and-install "Direct link to heading") #### 1. Download DeployGate SDK[​](#1-download-deploygate-sdk "Direct link to heading") Download SDK from [DeployGate SDK for iOS](https://deploygate.com/client/deploygatesdkforios1.0.7.zip). #### 2. Adding to the Project[​](#2-adding-to-the-project "Direct link to heading") Open the downloaded zip file and copy `DeployGateSDK-embeddedframework` to the project’s `Frameworks`. ![Screenshot of iOS sdk](/assets/images/ios-sdk1-496bf518ab349ffe97a977a48963d219.png) #### 3. Add dependent framework[​](#3-add-dependent-framework "Direct link to heading") Add `SystemConfiguration.framework` to libraries. ![Screenshot of iOS sdk](/assets/images/ios-sdk2-e98c1e3610165bd20ac3a11522cc3011.png) ## Incorporating into the Project[​](#incorporating-into-the-project "Direct link to heading") ### For Swift Projects[​](#for-swift-projects "Direct link to heading") Prepare Bridging-Header.h and import DeployGate SDK. Bridging-Header.h ``` #import ``` Create Bridging-Header.h When creating a new Objective-C file in Swift Project, you will also be prompted to create a Bridging Header, so please do so. ![Screenshot of iOS sdk](/assets/images/ios-sdk3-7447a95c8ac73f849869e8090b70eef7.png) Finally, add the initialization code into the project’s AppDelegate.swift. AppDelegate.swift ``` func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { DeployGateSDK .sharedInstance() .launchApplication(withAuthor: "${USERNAME}", key: "${API_KEY}") return true } ``` ### For Objective-C Projects[​](#for-objective-c-projects "Direct link to heading") Add the initialization code into the project’s AppDelegate.m. AppDelegate.m ``` #import - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[DeployGateSDK sharedInstance] launchApplicationWithAuthor:@"${USERNAME}" key:@"${API_KEY}"]; return YES; } ``` | Parameter | Description | | --------- | ---------------------------------------------------------------------------- | | USERNAME | Set the username (or Project/Organization name) of user who uploaded the app | | API\_KEY | The API Key displayed in the right column of the upload app’s details screen | Build and upload your app to DeployGate! You will now be able to launch the app and receive crash reports. ## Reference for iOS SDK[​](#reference-for-ios-sdk "Direct link to heading") Please visit [this link](https://deploygate.com/appledoc/html/index.html). ## Sample Project[​](#sample-project "Direct link to heading") Please visit [this link](https://github.com/DeployGate/deploygate-ios-sdk-sample). --- # Crash Report Symbolication Methods *** DeployGate offers a crash report feature that allows you to view crash reports wirelessly. * It uses [PLCrashReporter](https://www.plcrashreporter.org/), and it is sent in the same format as crash reports generated by Apple. * Crash reports are saved to a file when a crash occurs and is sent on the next launch. * Currently, because pre-symbolication data is sent, you must perform symbolication on your Mac. DeployGate plans to implement Automatic Symbolication in the future. ## Preparing symbolicatecrash[​](#preparing-symbolicatecrash "Direct link to heading") For the first time use of `symbolicatecrash`, you must set PATH. Add the following to the end of the \~/.bash\_profile file. Xcode 7.3 or later ``` export PATH="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources:$PATH" export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" ``` Xcode 6, 7 ``` export PATH="/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources:$PATH" export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" ``` Xcode 5 or earlier ``` export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources:$PATH" export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" ``` ## Symbolication Method[​](#symbolication-method "Direct link to heading") 1. Obtain Crash Report The generated crash report will be sent automatically on the next launch. ![Screenshot of iOS sdk crash report](/assets/images/ios-crash-report1-290b18cb7649dfb1a12c55044fe1b0bb.png) Sent crash reports can be downloaded from each device’s page. ![Screenshot of iOS sdk crash report](/assets/images/ios-crash-report2-9296f3be1d4c932b969823d41955c98e.png) 2. Prepare dSYM file Find the corresponding dsym file. Right click on the corresponding build from Organizer → Archive and select "Show in Folder." It is in the dSYMs directory in "Show Package Contents.” ![Screenshot of iOS sdk crash report](/assets/images/ios-crash-report3-2287c22d071b625230e579750d17306d.png) 3. Run symbolicatecrash to obtain class name, method name, and line number Run symbolicatecrash on the downloaded crash report/corresponding dSYM. Shell ``` symbolicatecrash [CRASH_REPORT] [DSYM_FILE] ``` ![Screenshot of iOS sdk crash report](/assets/images/ios-crash-report4-45ca47741a5661820dca6f215ad74f08.png) --- # Remote Logs *** DeployGate offers a remote log feature that allows you to view Logs wirelessly. Remote logs are displayed on the timeline of a distributed application’s page. Additionally, a remote log is saved to a file when run, and a series of logs are collectively sent on the next launch. Swift ``` DGSLogv("%@", getVaList(["DGLog test message"])) ``` Objective-C ``` DGSLog(@"%@", @"DGLog test message"); ``` ## Tips Objective-C[​](#tips-objective-c "Direct link to heading") DGSLog for the NSLog is compatible, so you add the following macro to the precompiled header (.pch) and replace NSLog. Objective-C ``` #define NSLog DGSLog ``` You can also output the class name, method name, and line number with the following. Objective-C ``` #define NSLog(__FORMAT__, ...) DGSLog((@"%s [Line %d] " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) ``` --- # Version History ## 1.0.7 (2015-10-07)[​](#107-2015-10-07 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios1.0.7.zip) * Improvements * Fixed unnecessary warnings generated during builds. ## 1.0.6 (2015-08-20)[​](#106-2015-08-20 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios1.0.6.zip) * Improvements * Added support for LLVM Bitcode. ## 1.0.5 (2015-05-11)[​](#105-2015-05-11 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios1.0.5.zip) * Improvements * Added support for Swift and fixed minor bugs. ## 1.0.4 (2015-03-19)[​](#104-2015-03-19 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios1.0.4.zip) * Improvements * Fixed minor bugs. There are no additional functions or changes to the interface. ## 1.0.3 (2014-10-22)[​](#103-2014-10-22 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios1.0.3.zip) * Improvements * Fixed minor bugs. There are no additional functions or changes to the interface. ## 1.0.2 (2014-08-15)[​](#102-2014-08-15 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios1.0.2.zip) * Improvements * Fixed minor bugs. There are no additional functions or changes to the interface. ## 1.0.1 (2014-08-07)[​](#101-2014-08-07 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios1.0.1.zip) * Improvements * Fixed minor bugs. There are no additional functions or changes to the interface. ## 1.0.0 (2014-04-23)[​](#100-2014-04-23 "Direct link to heading") [Download](https://deploygate.com/client/deploygatesdkforios.zip) * Initial release --- # User Authentication Restrict usage/send update notifications *** DeployGate SDK can identify specific users who are using a distributed app. This allows notifications about the latest revisions to be sent to users who have app installation privileges. There are many circumstances in which you would want to limit distributions of test revisions of apps to select users. Additionally, DeployGate SDK provides several functions to check if a user has permission to use an app. For example, it’s possible to see if an app is on the list of apps approved for use by a particular user. ## Configuring Settings[​](#configuring-settings "Direct link to heading") 1. Register the custom URL scheme with the project Go to the app page within DeployGate to obtain the custom URL scheme. ![Screenshot of iOS user authentication](/assets/images/ios-user-auth1-682e8decc10aed248cab022536ae4232.png) Open the project in Xcode and go to TARGETS → Info → URL Types to register the custom URL scheme. ![Screenshot of iOS user authentication](/assets/images/ios-user-auth2-be68475fdcefade8504b364818ee1efb.png) 2. Turn on user authentication and embed SDK `AppDelegate` class is to be edited. In `launchApplicationWithAuthor` , which was added when the SDK was installed, add `userInfomationEnabled` option. Swift ``` DeployGateSDK .sharedInstance() .launchApplication(withAuthor: "${USERNAME}", key: "${API_KEY}", userInfomationEnabled: true) ``` Objective-C ``` [[DeployGateSDK sharedInstance] launchApplicationWithAuthor:@"${USERNAME}" key:@"${API_KEY}" userInfomationEnabled:YES]; ``` 3. Pass user information to SDK Add the following line to AppDelegate as `application:openURL:sourceApplication:annotation:` so that the SDK can use the user information. Swift ``` func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { return DeployGateSDK.sharedInstance().handleOpen(url as URL?, sourceApplication: sourceApplication, annotation: annotation) } ``` Objective-C ``` - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [[DeployGateSDK sharedInstance] handleOpenUrl:url sourceApplication:sourceApplication annotation:annotation]; // Add this line } ``` The SDK will now check for updates when launching the app. Additionally, `userAuthorizationWithCompletionHandler:` can now be used to check if a user has the appropriate app usage permissions. --- # Steps to Create IPA Files using Xcode On this page, we will outline the steps to create IPA files using Xcode *** ## Build applications to be distributed to Beta testers​[​](#build-applications-to-be-distributed-to-beta-testers "Direct link to heading") It’s easy to launch applications under development in a simulator, but how about distributing them to beta testers? DeployGate helps with this “distribution.” Currently, you must prepare the “IPA file,” which is required for distribution, yourself. We will now explain how to create an IPA file from scratch. ## Archive[​](#archive "Direct link to heading") To build an iOS application as an IPA file, Xcode has an “Archive” menu under “Product.” While it may be grayed out and unselectable now, it should become selectable. These are the conditions required to “Archive” installable and launchable IPA files at the distribution site. Save the Apple ID to Xcode. * Select “iOS Device” or the connected iOS device from the build target menu. * Create a Distribution Certificate. * Create an Application ID (App ID). * Register the Device to be used for tests. * Create a Provisioning Profile. Follow these steps one by one. ### 1. Save Apple ID​[​](#1-save-apple-id "Direct link to heading") First, save your Apple ID to Xcode. Once saved, Xcode will conduct several registration operations automatically. From the “Preferences…” menu, ![Screenshot of xCode Apple ID from menue](/assets/images/xcode-apple-id1-90af9b21fdf072dff0a90156e422efb5.png) Go to the "Accounts" tab to add "Apple ID". ![Screenshot of xCode Apple ID add](/assets/images/xcode-apple-id2-e30c7f475fce656f4642e6eadd50079d.png) Apple ID added. ![Screenshot of xCode Apple ID added](/assets/images/xcode-apple-id3-0ca8f50156d065cb4902875096ff7181.png) ### 2. Select Build Target​[​](#2-select-build-target "Direct link to heading") For a distribution build, select either “iOS Device” or the name of the device connected to the Mac as the scheme’s build target. Do not select a simulator. ![Screenshot of xCode Build ](/assets/images/xcode-build-target-d960cb367a6ac3ab2c044c4278c58eb1.png) ### 3.Create Distribution Certificate​[​](#3create-distribution-certificate "Direct link to heading") Briefly step away from Xcode and access "[Apple Developer](https://developer.apple.com/)" through a browser. Click on "[Account](https://developer.apple.com/membercenter/index.action)" at the top right of the menu to log in. You can register and create everything needed for distribution here. Click on “Certificates” next. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate1-423f27bb0e5965d315666d6b1d192558.png) **Certificates** prove that you, as the developer of an application to be distributed, are an iOS developer with the necessary credentials from Apple. Without these, your applications cannot be installed or launched on actual devices. Some Certificates, including the ones created here, can be created in Xcode (sometimes automatically in the background), but some can only be created in "Certificates, Identifiers & Profiles" For practice, let’s create some manually. Click on the "+" button to start creating a new Certificate. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate3-6b291dd162a732f06834d3548c8f2086.png) When prompted for the type, select "Apple Distribution" for distribution to beta testers. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate4-922f4856b0db1236a3c4d465f6ebfa9a.png) To create a Certificate, Apple will ask you to create a "Certificate Signing Request (CSR)." ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate5-0e0f3f50546ad2d1eaf39d800b04e374.png) This is essentially an application (similar to other applications you may complete). Create a name for your private key, enter your email address, and submit them both to Apple. Apple will then create a Certificate and private key for you. While Apple will also have the Certificate stored, the private key is for your sole use. Create a CSR with Mac’s "Keychain Access." ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate6-d3a832c2c2bcbb2aa3e100508c118e04.png) "Keychain Access" looks like this. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate7-2421586de0e32fe7f9ebacbcba3cef34.png) Select "Request a Certificate From a Certificate Authority" from the "Certificate Assistant" menu. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate8-402a9f6339184024f71243a048feac11.png) Complete the application fields. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate9-4908cd38569f1cb07283e20b53a54cd4.png) In the "User Email Address" field, enter the Apple ID email address registered with the Developer Program. In the "Common Name" field, enter the name of your private key. Apple will return this to you with the certificate. Select Saved to disk for "Request is." Leave the "CA Email Address" field blank when selecting the Saved to disk option. After saving the CSR to disk, return to the browser and submit it to Apple. Click on "Choose File" and select the CSR you created. Click on "Continue." ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate10-4148aec2f816be7885ca36dbed30483d.png) Once the upload is complete, you can download your "iOS Distribution Certificate". Download and click on it to install it in Keychain Access. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate11-d6c15675613334ca01ae34fbb0cea7a4.png) You can view installed Certificates in the "My Certificates" category of Keychain Access. ![Screenshot of Distribution Certificate](/assets/images/xcode-distribution-certificate12-291839e88ed3986e776e44467a89d433.png) ### 4. Create Application ID (App ID)​[​](#4-create-application-id-app-id "Direct link to heading") Please note that this section is about the "Application ID" (or "App ID") and not an "Apple ID." App ID functions like a URL for your application and is used in various circumstances. For example, it is used as an ID that allows you to link with other services and as an ID to prove that an app is yours. Apple assigns a prefix, so your application will not overlap with other developers’ applications. First, return to the previous site and select [Identifiers](https://developer.apple.com/account/resources/identifiers/list) from the menu. Click on the “+” button to start creating a new App ID. ![Screenshot of Create App ID](/assets/images/app-id1-aa6ce04454930258b9de3c3755b6d4e0.png) On the next screen, select "App IDs" and continue. ![Screenshot of Create App ID](/assets/images/app-id1-2-d5769f13b0de9c97ce1eb560528f7e59.png) If you have a regular app, select "App" and continue. ![Screenshot of Create App ID](/assets/images/app-id1-3-992164c0b613361c52578fbe50c3cbec.png) "**Description**" is a tag/administrator name/display name, which you can fill in at your discretion. "**Prefix**" is assigned by Apple. "Bundle ID" is your choice. For our purposes today, select "**Explicit**" to enter a "**Bundle ID**" and continue. ![Screenshot of Create App ID](/assets/images/app-id3-and-4-81c9bb3b3777e78f038a66d1a9f668f5.png) Your application’s "**Bundle ID**" will be in Xcode. It is something you named in the previous step. ![Screenshot of Create App ID](/assets/images/app-id5-84e0b91493ad1b58c200d7de4a77a279.png) Finally, click on "Register" to complete your registration. ![Screenshot of Create App ID](/assets/images/app-id6-1-308114ec87b83d4eb7023b64ce2852c8.png) Were you able to complete these steps? Apple will remember the "App ID" you created here, so you do not need to download it for future use. ![Screenshot of Create App ID](/assets/images/app-id6-2-3dfff295408a65c35e273ff82434ed41.png) ### 5. Register Devices​[​](#5-register-devices "Direct link to heading") Unlike Android apk files, iOS IPA files built for beta testers will only work on preregistered devices. As such, both the app and developer must be aware of the specific device before running an app. In house application distributions Please skip this Devices section if you are a developer registered with the "Enterprise Program" and are distributing an "In House" application for internal use. If you click on "[**Devices**](https://developer.apple.com/account/resources/devices/list)" from the menu, you should see several devices already registered. These are usually registered by Xcode’s "Devices" automatically. ![Screenshot of Tester Devices Registration ](/assets/images/device1-31ff1c023a027250bc485754a30d5933.png) ![Screenshot of Tester Devices Registration ](/assets/images/device2-97d06f22d921af56c874150c7f6085fd.png) If you have all the devices that you want to run your app, register each device's "UDID" simply by connecting them. Repeat as necessary until complete. However, if you plan to have many beta testers, you will need to obtain the "UDID" for a large number of devices. You can register each "UDID" individually or as a batch with a single file. However, you still need to know the UDIDs in advance. DeployGate helps you by collecting device UDIDs of testers and compiling them into a file. ![Screenshot of Tester Devices Registration ](/assets/images/device3-and-4-56b0fb843aad52f8ab05400104a52701.png) One thing to be aware of is that Apple has a device limit of 100 for running “Ad Hoc” apps. Once you register a device, you cannot cancel its registration for one year. Conversely, you can install and run "In House" apps on any device, as long as you have the IPA file. However, several conditions apply, including the fact that the device owners are members of your Project/Organization. Under some circumstances, the courage to break the rules is commendable. However, we advise you to not break the rules in this case, as doing so will result in you losing your account. ### 6. Create Provisioning Profile​[​](#6-create-provisioning-profile "Direct link to heading") We can finally work on the Provisioning Profile. The Provisioning Profile allows you to create an IPA file for distribution and serves as a blueprint for builds, including instructions for the use of certificates, IDs, and devices. Select "Profiles" from the menu and click on the "+" button to start creating profiles. Select "Ad Hoc" (for those with Enterprise accounts, please be very mindful of your selection between "Ad Hoc" and "In House." This tutorial does not cover the Enterprise Program, but it may be a future topic.) ![Screenshot of Provisioning ](/assets/images/xcode-provisioning1-e38c40ba71936354b455125b50cf8e4f.png) Select "App ID" next. ![Screenshot of Provisioning ](/assets/images/xcode-provisioning2-a74ed57436936561028b282e7665c4bc.png) Select Certificates and Devices. You should see the certificates and devices that you created. If not, return to the applicable sections to complete the steps. ![Screenshot of Provisioning ](/assets/images/xcode-provisioning3-c92f39957929efe44967ca89651e12ac.png) ![Screenshot of Provisioning ](/assets/images/xcode-provisioning4-8a0e35dfaa70ee4cc8ce64689e5d4488.png) Finally, select a name. We suggest that you choose a unique name for each profile. As you create more profiles, it becomes more difficult to distinguish them. ![Screenshot of Provisioning ](/assets/images/xcode-provisioning5-0d61da3ac8e6fb3c932fcfa9551a813b.png) When you’re finished, download, click, and install. ![Screenshot of Provisioning ](/assets/images/xcode-provisioning6-479e06daa54e198d37576167e2884c21.png) ### 7. Archive (Revisited)​[​](#7-archive-revisited "Direct link to heading") First, click on the "Archive" menu ![Screenshot of Archive ](/assets/images/xcode-archive1-d3c867ba7e39c7b2689507b4f32652f1.png) If you encounter problems from this point forward, first check to see if you (your Apple ID) is set as the app creator. ![Screenshot of Archive ](/assets/images/xcode-archive2-d905cf3a2926984c2e012697ee98d6c6.png) The "Team" shown here doesn’t necessarily indicate a group of multiple people. If you are the only developer associated with the Apple ID (always with the individual iOS Development Program), you are the account’s "Agent," "Admin," and "Member" per Apple. The "Organizer" launches once the archive is successful. Select the app you just archived and click on "Export..." ![Screenshot of Archive ](/assets/images/xcode-archive3-5ba88d72b7a313202d889f5a943cf745.png) Select "Save for Ad Hoc Deployment" to proceed. ![Screenshot of Archive ](/assets/images/xcode-archive4-e04c0b5cea922fd9f40a7326a993b812.png) Select your Apple ID and click on "Choose." ![Screenshot of Archive](/assets/images/xcode-archive5-e0ae99ac9731609a77955c0c3d675f55.png) Click on the "Next" button to create the IPA. ![Screenshot of Archive ](/assets/images/xcode-archive6-5373a36aea9a4ef6ca4ae718e739c133.png) ![Screenshot of Archive ](/assets/images/xcode-archive7-a84915f2e34d6ea10438b712b7d0decc.png) The "Finder" automatically launches, and you should be able to view the IPA file. ![Screenshot of Archive ](/assets/images/xcode-archive8-a83d77dbcdc3dc878eb6fe1dab77c055.png) Upload the IPA file to DeployGate. --- # Welcome to DeployGate Tester Guide This document explains to testers who are invited to install applications on mobile devices. * If you are an application developer, please visit [DeployGate Developer Guide](/docs/developer-guide/.md), which explains functions to upload and distribute applications developed by the developer. * If you are an administrator, please visit [DeployGate Administrator Guide](/docs/administrator-guide/.md), which explains how to manage members in a Workspace. ## Before Getting Started wtih App Installation[​](#before-getting-started-wtih-app-installation "Direct link to heading") DeployGate provides two ways of distribution. How to install the app varies depending on the distribution method selected by the developer, so please confirm which distribution method is being used. * If you received a URL or QR code from the developer → [How to Install an App Distributed via Link](/docs/tester-guide/install-app-from-link.md) * If you have been invited to a team as a member → [How to Install an App Distributed to Members](/docs/tester-guide/install-app-from-team.md) If you have been invited as a member, you will need to create a DeployGate account via the invitation email you received. --- # Install DeployGate Android App Directly To install an app distributed on DeployGate, you first need to install the DeployGate app. Here, we explain how to install the DeployGate app using methods other than Google Play. Please follow the steps below by clicking the download link. [Download DeployGate Android App](https://deploygate.com/client/DeployGate.apk) ## Step 1: Download the File[​](#step-1-download-the-file "Direct link to heading") Clicking the download link will start downloading the DeployGate app. If a warning appears, click "Download anyway." ![File might be harmful](/assets/images/how-to-install-self-host-apk-001-7e8bdaa97b6f13eb3f96df2634db9565.png) ## Step 2: Open the File[​](#step-2-open-the-file "Direct link to heading") Once the download is complete, a notification will appear. Click "Open" in the notification. ![Open download file notification](/assets/images/how-to-install-self-host-apk-002-01a3d92a45b5778c83413d066fa17e11.png) ## Step 3: Warning Dialog[​](#step-3-warning-dialog "Direct link to heading") Opening the file will display a warning dialog. Click "Settings" to proceed to the settings screen. ![Open setting app](/assets/images/how-to-install-self-host-apk-003-27d9be97ea1b374160607a8af548e5a2.png) ## Step 4: Allow App from This Source[​](#step-4-allow-app-from-this-source "Direct link to heading") Enable "Allow from this source" in the settings screen. ![Enable allow from this source](/assets/images/how-to-install-self-host-apk-004-6a49da4209ba0d4993fdfa1f73112447.png) ## Step 5: Install the App[​](#step-5-install-the-app "Direct link to heading") Once enabled, the installation screen will appear. Click "Install" on the screen. ![Install app](/assets/images/how-to-install-self-host-apk-005-b63858e706b8dc8ab37ea78f79db843e.png) ## Step 6: Google Play Protect Warning[​](#step-6-google-play-protect-warning "Direct link to heading") As the installation progresses, a Google Play Protect warning will appear. Click "Scan app" to perform the scan. ## Step 7: Install the App After Scanning[​](#step-7-install-the-app-after-scanning "Direct link to heading") After the scan is complete, the installation screen will reappear. Click "Install" on the screen. ## Step 8: Installation Complete[​](#step-8-installation-complete "Direct link to heading") This completes the installation of the DeployGate app. When you open the DeployGate app, you can continue installing other apps. ![Installed DeployGate app](/assets/images/how-to-install-self-host-apk-008-5ccf0c7595a5385aae9b29831e930ad4.png) --- # Install Apps - Link Distribution On this page, we will explain how to install an application shared with a distribution page link (Link distribution). **You do not need to create a DeployGate account to receive an app that uses Link distribution.** *** ## iOS Devices​[​](#ios-devices "Direct link to heading") ### Install on a Device (iOS)​[​](#install-on-a-device-ios "Direct link to heading") The installation process differs between iOS and Android In this section, we will outline the installation process for iOS applications. Please skip to the [Android section](#android-devices) if you have an Android device. 1. Open the shared link on your device. You can also access it via the QR code. Scanning it with your device will open the distribution page in Safari. ![Screenshot of iOS access to distribution page](/assets/images/ios-access-dist-bdfe44b638dc7810643fd10803cf27c1.png) If your browser is not Safari If your browser is not Safari you will see a message with instructions on opening the link in Safari. Please follow the instructions and copy and paste the link into Safari to open. 2. Tap on `Subscribe (for iOS)`. ![Screenshot of iOS scanned screen](/assets/images/ios-scan-e24d4200598e4d2b4cec310d6b322582.png) 3. When the following screen appears, tap on `Install`. ![Screenshot of iOS scanned screen](/assets/images/ios-app-install-eb7fce636c7daae222d91de51ab50aff.png) 4. When the message `"deploygate.com" would like to install [App Name]` appears, tap on "Install". ![Screenshot of iOS Install](/assets/images/ios-install-message1-96da4e543854924b6bc8d6e959650448.png) 5. When the message `Installation started. To see the progress, please go to the Home screen` appears, go to the Home screen. You will see the installed application. ![Screenshot of iOS Install](/assets/images/ios-install-message2-8fbd8f97b3e4f390e1653f23778313d6.png) This completes the application’s installation on iOS. ### Change Tester Display Name (iOS)​[​](#change-tester-display-name-ios "Direct link to heading") When logged in to DeployGate, the tester name reflects the username. When not logged in, it is assigned automatically. Tester name can be changed by following the steps below. 1. On this screen, tap `Change Name`. ![Screenshot of change tester name](/assets/images/ios-change-tester-name1-635cee6b3cebef73c2108875e19d5746.png) 2. Enter your preferred display name in the text box. ![Screenshot of change tester name](/assets/images/ios-change-tester-name2-49f85341cfd94f2597459c7b4dbd347f.png) 3. After you tap on `OK` and return to the previous screen, you will see the changes as `Participating in this test as “tester”`. ![Screenshot of change tester name](/assets/images/ios-change-tester-name3-0eefaaca2c116a48bfc685de356d8e5c.png) The name change is now complete. Tester Name Rules * 3\~20 alphanumeric characters and underscore “\_” * (Caution) Changing your tester name will also change the name associated with all of your past comments. ### Communicate with Developers through the App (iOS)​[​](#communicate-with-developers-through-the-app-ios "Direct link to heading") You can communicate with developers by leaving comments on the distribution page. 1. At the bottom of the screen, tap on `Comment Board`. ![Screenshot of iOS write comments](/assets/images/ios-comments1-ffcbf6d4128a1ce42c144786ad9401e0.png) 2. When the following screen appears, tap on the icon at the top right of the screen. ![Screenshot of iOS write comments](/assets/images/ios-comments2-e1599a692da4f716066eb18df774fa2d.png) 3. Enter your comments in the text box. ![Screenshot of iOS write comments](/assets/images/ios-comments3-5e3e1a91d04654e62e32a3205b44ee39.png) 4. After tapping on `Post`, your comments will appear. You can also view messages from the developers on this screen. ![Screenshot of iOS write comments](/assets/images/ios-comments4-09426c16e1bff464f5b1f31cae0bb91a.png) All comments are shared with all participants All comments posted are shared and will be visible to everyone using the same distribution page, including all users participating in the test. ## Android Devices​[​](#android-devices "Direct link to heading") ### Install on a Device (Android)​[​](#install-on-a-device-android "Direct link to heading") On Android devices, you must install the Client App, even when using Link distribution While DeployGate registration is not required, you must install the DeployGate Client App from Google Play Store on Android devices. The installation process differs between Android and iOS In this section, we will outline the installation process for Android applications. Please refer to the [iOS section](#ios-devices) if you have an iOS device. 1. Open the shared link on your device. You can also access it via the QR code. Scanning it with your device will open the distribution page. ![Screenshot of Open distribution page from Android](/assets/images/open-distribution-page-5269d81ccf072497cbfce62168083934.png) 2. Tapping on `Install` will launch the Google Play Store. ![Screenshot of Open distribution page from Android](/assets/images/google-play-8b6c5c0ab09cd3914d5cc3cca40b356a.png) 3. Install the DeployGate Client App. 4. After installing and then launching the DeployGate Client App, the following screen will appear. ![Screenshot of Initial Screen for the Client App](/assets/images/app-login-c8e861916717b08b9c9692f75fcba4a4.png) 5. Once you have confirmed that the DeployGate client app is installed, return to step 1 and open the shared link on your device. 6. The Client App will launch and the distributed app will appear. ![Screenshot of Install permission on App](/assets/images/require-permission-e6b157b0bef720aee7e97d74e5239056.png) ![Screenshot of Install permission on App](/assets/images/permission-1d7c349f38fed9f156a194e233b588d4.png) 7. Tap on `Install` to install the app onto your device. ### Change Tester Display Name (Android)​[​](#change-tester-display-name-android "Direct link to heading") The tester name is set by default. To change it, please follow the steps below. 1. From the app, tap on `Communication Board`. On the next screen, which is the comment posting box, tap on `Change` next to your tester name to change it. 2. Enter your preferred display name in the text box. ![Screenshot of Change tester\'s name](/assets/images/change-tester-name-9579ff1c4a4ccec0c816d59711c886de.png) Tester Name Rules * 3\~20 alphanumeric characters and underscore "\_" * (Caution) Changing your tester name will also change the name associated with all of your past comments. 3. When you return to the previous screen, your name change is complete. ![Screenshot of Change tester\'s name](/assets/images/android-change-tester-name-43f60fc588107737dc67aec9a641e575.png) ### Communicate with Developers through the App (Android)​[​](#communicate-with-developers-through-the-app-android "Direct link to heading") Enter your comments through the DeployGate app to communicate with developers. From the app, tap on `Communication Board`. On the following screen, you can enter comments to the developer. If necessary, you can also upload Screenshots. ![Screenshot of Communication board](/assets/images/communication-board1-9f1b7ecdcdeef40e4171b1ce81bd48b8.png) You can also view messages from the developers on this screen. ![Screenshot of Communication board](/assets/images/communication-board2-58d531c113711d797d7143bb5a98db6f.png) All comments are shared with all participants All comments posted are shared and will be visible to everyone using the same distribution page, including all users participating in the test. --- # Install Apps Distributed to Members On this page, we will explain how team members can install distributed applications. To receive apps distributed to a team, users must create a DeployGate account. Invited users must sign up using the link the invitation email Once an invitation is sent to an email address, that email address can only register for an account through the invitation email’s link. Attempts to use other registration methods will fail. Please check your email inbox for an email with a subject of “\[DeployGate] Project (Project Name) Invitation.” The invitation link is valid for seven days. Once the link expires, please contact the developer to have a new invitation sent. ## 1. Create DeployGate Account​[​](#1-create-deploygate-account "Direct link to heading") Distributions to teams are only possible to users with DeployGate accounts. Please follow the steps below to create a user account. ### Signing Up Online​[​](#signing-up-online "Direct link to heading") These steps also apply to Android devices. A user invited to join a Project will receive an invitation email from DeployGate. Please click on the link in the email to access the DeployGate registration page. If You Have a DeployGate Account If you have an existing DeployGate account, click on the “Log In” button to log in to your account and join the Project. ![Screenshot of create account from invitation](/assets/images/member-invitation-9c6216027971cf84aa29d27b7b381f71.png) If You Do Not Have a DeployGate Account If you do not have a DeployGate account, click on the “Sign Up and Download” button. ![Screenshot of create account from invitation](/assets/images/member-invitation-9c6216027971cf84aa29d27b7b381f71.png) 1. Select “Sign up with email address” and verify that the email address is correct and matches the invitation. Click on the “Send verification code” button. ![Screenshot of create account from invitation](/assets/images/create-account-with-mail-724251745ad4283ff4151ba80830ecf3.png) ![Screenshot of create account from web](/assets/images/create-account-web-from-invitation-c73202a545acc2fb5469446f6dff8048.jpg) 2. When the following screen appears, check your inbox for the email. Enter the 6-digit number from the email into the “Verification Code” field and click on the “Send” button to submit. \*To ensure that the email address belongs to you, we will send a confirmation email with a verification code to the email address. Please make sure that you can access the email account. ![Screenshot of create account from web 2](/assets/images/create-account-web2-e7ecc715d4af1d40b57ab8fe0c319785.png) 3. Enter a username and password and click on the “Sign up for DeployGate” button. \*Your username will be visible to other DeployGate users. Please use three or more alphanumeric characters. ![Screenshot of create account from web 3](/assets/images/create-account-web3-83314d91d96218e42cc501150fa8337f.png) ### Signing Up on an iOS Device​[​](#signing-up-on-an-ios-device "Direct link to heading") A user invited to join a Project will receive an invitation email from DeployGate. Please click on the link in the email to open the Safari browser. If your browser is not Safari If your browser is not Safari, you will see a message with instructions on opening the link in Safari. Please follow the instructions and copy and paste the link into Safari to open. If You Have a DeployGate Account If you have an existing DeployGate account, click on the “Log In” button to log in to your account and join the Project. ![Screenshot of create account from invitation](/assets/images/member-invitation-ios-cd769ed8954472030044fd87e95415e5.jpg) If You Do Not Have a DeployGate Account If you do not have a DeployGate account, click on the “Sign Up” button. ![Screenshot of create account from invitation](/assets/images/member-invitation-ios-cd769ed8954472030044fd87e95415e5.jpg) 1. Verify that the email address is correct and matches the invitation. Click on the “Send verification code” button. ![Screenshot of create account from ios 1](/assets/images/create-account-ios-from-invitation-a998bec7f5b7b175642cc8b77f2310d4.jpg) 2. When the following screen appears, check your inbox for the email. Enter the 6-digit number from the email into the “Verification Code” field and click on the “Send” button to submit. ![Screenshot of create account from ios 1](/assets/images/create-account-ios2-8fb210824d7ee63767d4db4e8fc9ca74.png) 3. Enter a username and password and click on the “Sign up” button. \*Your username will be visible to other DeployGate users. Please use three or more alphanumeric characters. ![Screenshot of create account from ios 1](/assets/images/create-account-ios3-95e9328a32efa94323e1a66be1084cc4.png) ## 2. Download App to Device​[​](#2--download-app-to-device "Direct link to heading") You must create an account as outlined above before proceeding with the following steps. ### Download Distributed App to an Android Device​[​](#download-distributed-app-to-an-android-device "Direct link to heading") 1. Download the DeployGate client app from the Google Play Store. ![Screenshot of Gppgle play ](/assets/images/download-self-google-play-9fa1bb773cdebc329f379d9a37249099.png) 2. The following screen will appear when you launch the DeployGate client app. Select the “Sign up/Log in” button, enter your account information and password, and select the “Log In” button to log in. ![Screenshot of before login ](/assets/images/login-client-app-83acf26a0ba7a872c383c565247d8cb2.png) 3. The following screen will appear when you log in. Select the “Install” button. ![Screenshot of Install ](/assets/images/mobile-test-app-install-2a38d38b4dd600fb0e694ca868eb530f.png) You may need to adjust your device’s permission settings During the installation, you may be prompted to allow the app’s installation. Please follow the on-screen instructions to install the app. ![Screenshot of login ](/assets/images/install-permission-4a39a46140b5b44e812b572afd3a7e13.png) 4. Verify that the app is downloaded to your device. ![Screenshot of Confrim app ](/assets/images/downloaded-app-68b063ec93a8ea95158684461dc42d18.png) DeployGate Client App * The DeployGate client app’s main screen will have two lists - installed apps and available apps (those distributed to your account). * You can view an app’s details by tapping on the app from the installed list. You can view the app’s name, revision, and other information and can even uninstall the app from here. ### Download Distributed App to an iOS Device​[​](#download-distributed-app-to-an-ios-device "Direct link to heading") 1. After registering for a new account, the following screen will appear. If you haven’t logged in to DeployGate, the login screen will appear. Please enter your account information and password to log in. ![Screenshot of safari for download ](/assets/images/ios-login-1c1267fdd5457b8d756d2e058fe505df.png) 2. Select the “Install DeployGate” button and follow the instructions to install DeployGate. If you’re prompted for a passcode, enter your iPhone/iPad device’s lock code to unlock. (Please do not enter your DeployGate password) ![Screenshot of safari for download ](/assets/images/ios-client-app-download-d474e3ffc14f8b94fd6ada7bb87f2270.png) 3. Once the installation is finished and you click on the “Finish” button, you will be redirected back to DeployGate, where you will see a list of apps. ![Screenshot of safari for download ](/assets/images/ios-app-list-73d6975c78a04f12e155787e8e04c5ba.png) 4. A DeployGate icon will be created on your device’s home screen. Click on the icon to launch DeployGate in the future. ![Screenshot of safari for download ](/assets/images/ios-home-cdf1cc5dd714b693e0cce21d6abb9434.png) --- # Set Up and Edit Account On this page, we will explain how to set up your DeployGate account. You can adjust how your account is viewed by other members. ## Access Account Settings​[​](#access-account-settings "Direct link to heading") Log in to DeployGate, click on your account name at the top right of the screen, and select “Account Settings.” ![Screenshot of To Go TO Account Setting ](/assets/images/to-go-profile-9c7dc560ee1dcceb6edcd3a15d77f489.png) ## Account Settings Screen​[​](#account-settings-screen "Direct link to heading") ![Screenshot of Account Settings page ](/assets/images/account-settings-3944b13ea5a77545fc55293364ec7d5f.png) ### 1. Profile[​](#1-profile "Direct link to heading") To change the name that other users in your Organization will see, please enter a Display Name. * The Display Name can be in English or Japanese. * If you do not enter a Display Name, your account name (three or more alphanumeric characters) will be displayed by default. This is the name you selected when you created an account. You can also manually adjust your time zone in this section. ### 2. Email​[​](#2-email "Direct link to heading") If you would like to change your email address, go to the Account Settings Screen’s Email section and click on the “Change” button. Enter your new email address. \*As with new account registrations, we will send a verification code to your new email address for identity verification. ### 3. Password[​](#3-password "Direct link to heading") You can change your password in this section. If you have lost or forgotten your password and cannot log in, please reset your password by clicking on the following link. ### 4. Connected Accounts[​](#4-connected-accounts "Direct link to heading") You can log in with your GitHub or Google account. ### 5. API Key[​](#5-api-key "Direct link to heading") Click on `Refresh API key` to update. --- # What is the Capture feature? [Feature Intro Capture\_EN](https://player.vimeo.com/video/1130198528?badge=0\&autopause=0\&player_id=0\&app_id=58479) The Capture feature is a convenient tool that allows you to easily submit reports to developers when conducting app tests from a device. When taking a Screenshot, the Capture feature can acquire app and device information, save logs, and record videos (screen recording) through the [Screenshot feature](#screenshot-feature) and [Replay feature](#replay-screen-recording-feature) to share with developers. **This guide is for testers who receive invitations to participate in app testing.** If you are a developer who develops and distributes apps, please refer to the [Developer Guide](/docs/developer-guide/capture/about-capture.md) for more information. ## Screenshot feature[​](#screenshot-feature "Direct link to heading") This feature makes it easy to report bugs with Screenshots of an issue. Taking a Screenshot of an app under development allows the DeployGate app to automatically collect a variety of information, including logs from immediately prior to the Screenshot, device information, installed app information, and other details useful for debugging. This data is easily shareable between developers and testers. ![Capture Summary](/assets/images/capture-summary-en-beaaeee96d52500507f389af32704631.png) ## Replay (Screen Recording) feature[​](#replay-screen-recording-feature "Direct link to heading") The Replay feature allows you to record videos (screen recording) of app tests conducted on your device. The recordings will save the last 30 seconds of footage. ![Appearance of Replay](/assets/images/about-replay-en-3813e2c25181ec58170bb78992d84637.png) The Replay (Screen Recording) feature does not require SDK installation. --- # Saving and Sharing Captures You must register for a DeployGate account to use the Capture feature. You must also receive an invitation from the app developer to participate as a member. Please check your inbox for the invitation email. ## Update to the latest version of the DeployGate app​[​](#update-to-the-latest-version-of-the-deploygate-app "Direct link to heading") The Capture feature requires you to update to the latest version of the DeployGate app. Please download the latest version of the DeployGate app from Google Play. ![Google Play](/assets/images/google-play-en-93c3cfea191c72955248aa59cd4b3b4a.png) If you are a new DeployGate user, please visit [here](/docs/tester-guide/install-app-from-link.md) for more information about installing apps. ## Log in to the DeployGate app[​](#log-in-to-the-deploygate-app "Direct link to heading") Launching the DeployGate app opens a login page. Please log in to your DeployGate account. ![DeployGate App Login](/assets/images/dp-app-login-en-94e723e2ced2d186840575c6fc9fb993.png) After logging in, download the app as specified by the developer. When downloading the app, please see if this message appears - “Capture feature available.” ![Capture availablbility check](/assets/images/capture-available-from-device-en-4823aa3ab94964b0485bbc673377b34c.png) If the “Capture feature available” message does not appear, the following may apply. * You aren’t logged in to your DeployGate account. (Check your invitation email) * The DeployGate app is not the latest version. * The app and version aren’t what was specified by the developer. * If none of the above apply, the developer must verify their settings. Please contact the app’s distributor for assistance. ## Configure Permissions​[​](#configure-permissions "Direct link to heading") When the installation is complete, you will see a message informing you that the Capture feature is available. Click on “View details” and follow the instructions to configure permissions and other settings. When complete, you can use the Capture feature. ![Popup activation](/assets/images/pop-up-capture-activate-en-84a81eb7f494366e65608abfbbb4aebc.png) Configure permissions later If you tap on “Skip,” you can configure permissions later. Tap the vertical ellipsis (three dots) to open a menu and click on “Settings.” On the next screen, tap on “Capture” and follow the on-screen instructions to adjust the permission settings. ![Activation from setting](/assets/images/activation-from-setting-en-3edeb0e1254ec0bac9b6eae166507bce.png) ## Save Captures[​](#save-captures "Direct link to heading") Open the distributed app and take a Screenshot. When taking a Screenshot, a notification will appear. Tap to save the Capture. ![Push notification after capture](/assets/images/push-notice-after-capture-en-57fe0cf8c7ae1625ab4cbdb75b96e8a3.png) On the next screen, tap on “Save Capture” to save the Capture. You can edit the Capture from your device. * Tap on the image icon to replace the Screenshot with another image on your device. * You can use the standard OS editing features, such as paint, to mark up and highlight areas of the Screenshot. * You can add comments to the Notes field. ![Save Capture from the Device](/assets/images/save-capture-en-ab5799d251a44c1627189bd404ee88af.png) ## Share Captures from Devices[​](#share-captures-from-devices "Direct link to heading") The following push notification will appear when you tap “Save Capture.” You can share the URL of your Capture via Slack and other messaging platforms to provide feedback to developers. ![Capture Share](/assets/images/popup-capture-share-en-aca6c3372f6c82caefc5344f76b3f4cf.png) --- # Using Replay (Video) The Replay feature does not require SDK installation Using the Capture’s Screenshot feature requires DeployGate account registration. You must also receive an invitation from the app developer to participate as a member. Please ensure you request and receive an invitation email in advance. ## Update to the latest version of the DeployGate app[​](#update-to-the-latest-version-of-the-deploygate-app "Direct link to heading") The Capture Screenshot feature requires updating to the latest version of the DeployGate app. Please download and install the latest version of the DeployGate app from Google Play. ![Gppgle Play](/assets/images/google-play-en-93c3cfea191c72955248aa59cd4b3b4a.png) If you are using DeployGate for the first time, please visit [here](/docs/tester-guide/install-app-from-link.md) for instructions. ## Use the DeployGate Client App to install the app to be tested[​](#use-the-deploygate-client-app-to-install-the-app-to-be-tested "Direct link to heading") Scan the QR code of the applicable revision and install the app. Please ensure that you’re logged in to a DeployGate account with access to the relevant app. Please visit Google Play to install the latest version of the DeployGate app if you do not already have it installed. ![Screenshot of Scan QR code from Package details](/assets/images/scan-qr-on-package-archive-en-ae150d735c30fb03d908ac247aec7a78.png) A login screen will appear if you scan the QR code without logging in to the DeployGate app. Please ensure that you’re logged in to your DeployGate account. You must log in to the DeployGate Client App to use the Replay feature. ![Screenshot of Login Client App](/assets/images/Login-client-app-en-18f06e167d86d5e288a162863dc22bc4.png) ## Enable the Replay feature[​](#enable-the-replay-feature "Direct link to heading") After you download the relevant app to be tested, tap the `Start Replay Capture` button. ![Image of Tap to Start Replay Capture to Prepare](/assets/images/prepare-replay-capture-en-5651d174cd3d1609ba800f3742c1bc1e.png) Next, tap the `Allow Audio Recording` button and follow the prompts to allow audio recording. ![Image of Allow Record Audio](/assets/images/allow-audio-recording-en-bebebeacfad1fe4ae50a41f43f4ac565.png) Tap the `Open About Phone` button to proceed to the About Phone section. Tap the `Build number` **7 times** to enable Developer options. ![Image of Enable Developer Option](/assets/images/developer-option-en-e4be04de8619e7408a8704a6585bb03a.png) Finally, tap `Open Developer Options` and tap the `Show taps` toggle to enable the display of visual feedback for taps. ![Image of Show tap](/assets/images/show-tap-en-c7797979c57ffb1b78a1458d22d1671c.png) ## Start Replay[​](#start-replay "Direct link to heading") After you tap the `Start Screen Recording` button, you will return to the initial screen. Tap the `Start Replay Capture` button. ![Image of Start Replay Capture](/assets/images/start-replaycapture-en-93c446a54f96f97484663a4f7d305de2.png) The message, `Start recording or casting with DeployGate?` will appear, so tap the `Start` button. Tapping `Open` will redirect you to the relevant app’s screen so you can begin your test. ![Image of Started Replay Capture](/assets/images/started-replay-capture-en-c5e8d31250287888cee671b7aade51cd.png) ## Stop, Review, and Save Replay Capture[​](#stop-review-and-save-replay-capture "Direct link to heading") You can stop the recording by returning to the DeployGate Client App or tapping the `Stop Screen Recording` button on the screen’s notification bar. The recording is saved up to 30 seconds before the recording ends. You can review the recorded video from the DeployGate Client App by tapping the `Watch Replay` button. You can save the Replay by tapping the `Save Capture` button. We recommend that you start recording before beginning any tests. If you discover any bugs or errors, you can end the screen recording and use the footage to retrace the steps leading up to the error. ![Image of Replay and Save](/assets/images/replay-and-save-en-e0ced133e18d87c82764736547e2a7ff.png) This guide outlined the steps to start, stop, and save Replays. Please visit [View Saved Captures](/docs/tester-guide/tester-capture/tester-share-capture.md) for information on how to view saved Replays. --- # Share and Report Saved Captures DeployGate saves Captures created on your device. You can quickly and easily report bugs and errors by sharing Captures with Developers. ## Log in to DeployGate and select a Capture[​](#log-in-to-deploygate-and-select-a-capture "Direct link to heading") You can view all saved Captures ([Screenshots](/docs/tester-guide/tester-capture/tester-save-capture.md) and [Replays](/docs/tester-guide/tester-capture/tester-save-replay.md)) on DeployGate. Log in to DeployGate from a browser and select the relevant app from the App List at the bottom left of the screen. ![Login and select App](/assets/images/login-app-list-en-bfb13a1c7bd0eb9010162469516fed13.png) On the App Details Page, go to “Captures” to view your saved Captures. ![Open Capture from App details](/assets/images/app-details-tester-en-555877e711c10e11166827b07f4ae3e8.png) Select the applicable Capture from the Capture List. ![Capture-list](/assets/images/view-capture-list-en-3cc841f7f8a70dae5619f9e15c56c92b.png) After selecting a Capture, you will be redirected to the Capture Details Page. This page will display the Screenshot, account information (of the Capture creator), device information, the app version, and more. ![Capture details](/assets/images/capture-details-en-1dce6cd7e357d8e18a2465bcd613fd80.png) ---