The DeployGate Developer Hub

DeployGateデベロッパーハブへようこそ。このサイトではDeployGateを素早くご利用いただけるよう、網羅的なドキュメントとガイドを参照いただけます。

Get Started
Suggest Edits

DeployGate API

DeployGateのアプリやユーザーを管理することができるAPIです

 

DeployGate APIを使うと、ご利用中のDeployGateアカウントをプログラムから操作することができます。このリファレンスページでは、APIの一覧と実際にリクエストを行える Try It 機能を提供しています。

制限事項について

各 API は、 Try It にて実際のリクエストを発行できますが、ファイルのアップロードは行うことができません。 Upload API は curl コマンドなどでお試しください。

Suggest Edits

アプリのアップロード

テストサーバや自作ツールから簡単に自動アップロードできます。

 

Query Auth

 Authentication is required for this endpoint.
posthttps://deploygate.com/api/users/owner/apps
curl \
  -F "token=xxx" \
  -F "file=@sample.apk" \
  -F "message=sample" \
  https://deploygate.com/api/users/_your_name_/apps
curl \
  -F "token=xxx" \
  -F "file=@sample.apk" \
  -F "message=sample" \
  -F "distribution_key=abcd1234" \
  -F "release_note=new build" \
  https://deploygate.com/api/users/_your_name_/apps
GIT_HASH=$(git rev-parse --short HEAD)
GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
curl \
  -F "token=xxx" \
  -F "file=@sample.apk" \
  -F "message=git:$GIT_HASH" \
  -F "distribution_name=$GIT_BRANCH" \
  https://deploygate.com/api/users/_your_name_/apps
A binary file was returned

You couldn't be authenticated

{
   "error":false,
   "results":{
      "name":"DeployGate",
      "package_name":"com.deploygate",
      "secret":"1234567890abcdef1234567890abcdef12345678",
      "labels":{
         "ja":"DeployGate",
      },
      "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://xxx",
      "md5":"1234567890abcdef1234567890abcdef",
      "icon":"https://yyy",
      "user":{
         "id":1,
         "name":"_your_name_",
         "profile_icon":"https://zzz"
      }
   }
}
{
  "error": true,
  "message": "application create error: cannot detect the package.",
  "because": "application create error: cannot detect the package."
}

Path Params

owner
string
required

ユーザー名もしくはグループ名

Body Params

file
file
required

アプリケーションのバイナリファイル(IPA/APK)

message
string

アップロードするファイルの説明

distribution_key
string

配布ページのハッシュ (配布ページURLの /distributions/xxxx の xxxx 部分) を指定するとその配布ページも同時に更新します。

distribution_name
string

更新する配布ページを名前で指定できます。存在しない場合は新しい配布ページが作成されます。Gitのブランチ名ごとに配布ページを作るなどの使い方が可能です。

release_note
string

配布ページアプリ更新時に付与するメッセージ。

disable_notify
boolean

(iOSのみ) 値に yes を設定するとPush時のメール通知を無効にします。

visibility
string

新しくアップロードするアプリのプライバシー設定を private か public で指定します。Personal Free プランの場合のみ public 、その他のプランでは private がデフォルトになります。更新時には無視されます。

 
Suggest Edits

アプリにユーザーを招待

ユーザーが所有するアプリに別のユーザーを招待できます。(グループは専用のAPIをご利用ください)

 

Query Auth

 Authentication is required for this endpoint.
posthttps://deploygate.com/api/users/owner/platforms/platform/apps/app_id/members
curl \
  -F 'token=xxx' \
  -F 'users=existing_user,new_user@example.com' \
  https://deploygate.com/api/users/_your_name_/platforms/android/apps/com.deploygate.sample/members
A binary file was returned

You couldn't be authenticated

{
  "error": false,
  "results": {
    "invite": "member invite success",
    "added": [
      {
        "name": "existing_user",
        "role": 2
      }
    ],
    "invited": [
      {
        "name": "new_user@example.com",
        "role": 2
      }
    ]
  }
}
{
  "error": true,
  "message": "tried to invite existing member",
  "because": "tried to invite existing member"
}

Path Params

owner
string
required

アプリを所有するユーザー名

platform
string
required

ios もしくは android

app_id
string
required

アプリのパッケージ名 (例: com.deploygate.android)

Body Params

users
string
required

ユーザー名もしくはメールアドレス、カンマ(,)区切りで複数指定可能

role
string

(旧Free/Lite/Pro/Bizプランのみ) 開発者として追加する場合1、テスターとして追加する場合は2を指定してください

 
Suggest Edits

アプリのユーザーを取得する

 

Query Auth

 Authentication is required for this endpoint.
gethttps://deploygate.com/api/users/owner/platforms/platform/apps/app_id/members
curl "https://deploygate.com/api/users/_your_name_/platforms/android/apps/com.deploygate.sample/members?token=xxx"
A binary file was returned

You couldn't be authenticated

{
  "error": false,
  "results": {
    "usage": {
      "used": 2,
      "max": 1000
    },
    "users": [
      {
        "name": "existing_user",
        "role": 2
      },
      {
        "name": "another_user",
        "role": 2
      }
    ]
  }
}

Path Params

owner
string
required

アプリを所有するユーザー名

platform
string
required

ios もしくは android

app_id
string
required

アプリのパッケージ名 (例: com.deploygate.android)

 
  • レスポンスにアプリの所有者自身は含まれません
Suggest Edits

アプリからユーザーを削除

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://deploygate.com/api/users/owner/platforms/platform/apps/app_id/members
curl \
  -X DELETE
  -F 'token=xxx' \
  -F 'users=existing_user,non_member' \
  https://deploygate.com/api/users/_your_name_/platforms/android/apps/com.deploygate.sample/members
A binary file was returned

You couldn't be authenticated

{
  "error": false,
  "results": {
    "invite": "member remove success(Warning: some users were not a member [ non_member ])"
  }
}
{
  "error": true,
  "message": "tried to invite existing member",
  "because": "tried to invite existing member"
}

Path Params

owner
string
required

アプリを所有するユーザー名

platform
string
required

ios もしくは android

app_id
string
required

アプリのパッケージ名 (例: com.deploygate.android)

Body Params

users
string
required

ユーザー名もしくはメールアドレス、カンマ(,)区切りで複数指定可能

 
Suggest Edits

グループAPIの利用に関する注意事項

 

グループのAPI Key

グループ関連APIを使用する場合、tokenパラメータにユーザーのAPI Keyに加えて、グループのAPI Keyを利用することができます。(一覧取得と作成を除く)

グループのAPI Keyを使用することで、特定のユーザに紐付かない状態で操作を行うことができます。グループのAPI Keyによるアクセスを行う場合の権限は管理者となり、すべての操作を行うことができます。

Suggest Edits

グループ一覧の取得

現在のユーザーが所属しているグループの一覧を取得します

 

Query Auth

 Authentication is required for this endpoint.
gethttps://deploygate.com/api/organizations
curl "https://deploygate.com/api/organizations?token=XXXXXXXX"
A binary file was returned

You couldn't be authenticated

{  
  "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://rai.dgtest.info/enterprises/ExampleEnterprise",
        "icon_url":"/img/icons/enterprise-default-thumb.png"
      }
    }
  ]
}
{  
  "error":true,
  "message":"requester must be a user",
  "because":"requester must be a user"
}
 
  • グループのAPIキーではご利用いただけません
Suggest Edits

グループを作成する

新しいグループを作成します

 

Query Auth

 Authentication is required for this endpoint.
posthttps://deploygate.com/api/organizations
curl \
  -F "token=XXX" \
  -F "name=ExampleOrganization" \
  -F "description=This is Example Organization created via API"
  -F "billing_email=billings@deploygate.com"
  -F "plan=startup"
  https://deploygate.com/api/organizations
A binary file was returned

You couldn't be authenticated

{  
  "error":false,
  "organization":{  
    "type":"Organization",
    "name":"ExampleOrganization",
    "description":"This is Example Organization created via API",
    "url":"https://deploygate.com/organizations/ExampleOrganization"
  }
}
{  
  "error":true,
  "message":"requester must be a user",
  "because":"requester must be a user"
}

Body Params

name
string
required

グループ名。3文字以上でアルファベット、数字と - が使用可能です。先頭に数字と-、末尾に-は使用できません。

description
string

グループの表示上の説明文を設定します

plan
string

プランを startup, business, large_business のいずれかで指定します。省略時は startup となります。

billing_email
string

請求に関するメールを送信する先を設定します

 
  • 呼び出したユーザーが自動的にオーナーチームに追加されます
  • いずれの plan も作成後30日間は無料で利用可能ですが、その後も継続してご利用いただく場合はお支払い情報をご登録いただく必要があります
Suggest Edits

グループの情報を取得する

 

Query Auth

 Authentication is required for this endpoint.
gethttps://deploygate.com/api/organizations/organization_name
curl "https://deploygate.com/api/organizations/ExampleOrganization?token=XXXXXXXX"
A binary file was returned

You couldn't be authenticated

{
  "error": false,
  "organization": {
    "type": "Organization",
    "name": "ExampleOrganization",
    "description": "This is Example Organization created via API",
    "url": "https://deploygate.com/organizations/ExampleOrganization"
  }
}

Path Params

organization_name
string
required

グループ名

 
Suggest Edits

グループの説明文を変更する

 

Query Auth

 Authentication is required for this endpoint.
patchhttps://deploygate.com/api/organizations/organization_name
curl \
  -X PATCH
  -F "token=XXXXXXXX" \
  -F "description=Updated description" \
  https://deploygate.com/api/organizations/ExampleOrganization
A binary file was returned

You couldn't be authenticated

{  
  "error":false,
  "organization":{  
    "type":"Organization",
    "name":"ExampleOrganization",
    "description":"Updated description",
    "url":"https://deploygate.com/organizations/ExampleOrganization"
  }
}

Path Params

organization_name
string
required

グループ名

Body Params

description
string

グループの表示上の説明文

 
Suggest Edits

グループを削除する

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://deploygate.com/api/organizations/organization_name
curl \
  -X DELETE
  -F "token=XXXXXXXX" \
  https://deploygate.com/api/organizations/ExampleOrganization
A binary file was returned

You couldn't be authenticated

 
{
  "error": true,
  "message": "invalid organization name",
  "because": "invalid organization name"
}

Path Params

organization_name
string
required

グループ名

 
  • グループを削除すると、グループ内に存在するすべてのチームとアプリケーションも削除されます
  • Startup, Business, Large Business プランをご契約状態のグループは削除できません。事前にPayPal ないし請求書払いをご解約いただく必要があります。
Suggest Edits

グループのメンバーの一覧を取得

グループに所属しているメンバーのユーザー情報一覧を取得します。

 

Query Auth

 Authentication is required for this endpoint.
gethttps://deploygate.com/api/organizations/organization_name/members
curl "https://deploygate.com/api/organizations/_organization_name_/members?token=xxx"
A binary file was returned

You couldn't be authenticated

{
 "error": false,
  "members": [
    {
      "username": "foo",
      "email": "foo@test.com",
      "icon_url": "https://secure.gravatar.com/avatar/foo"
    },
    {
      "username": "invitee@test.com",
      "email": "invitee@test.com",
      "icon_url": "https://secure.gravatar.com/avatar/default",
      "inviting": true
    }
  ]
}

Path Params

organization_name
string
required

グループ名

 

招待中のユーザー

招待状を送付済みであるが、まだDeployGateへの登録を完了していないユーザーは、"inviting": true が付与され一覧に表示されます。また、その場合のユーザ名はメールアドレスとなります。

Suggest Edits

グループにメンバーを追加

新しいユーザーをグループのメンバーに追加します。もし対象がDeployGateの登録ユーザで無い場合は、招待状を送付します。

 

Query Auth

 Authentication is required for this endpoint.
posthttps://deploygate.com/api/organizations/organization_name/members
curl \
  -F "username=invitee" \
  -F "token=XXX" \
  https://deploygate.com/api/organizations/_organization_name_/members
A binary file was returned

You couldn't be authenticated

{
  "error": false,
  "message": "invitee@test.com was invited to sample-organization"
}

Path Params

organization_name
string
required

グループ名

Query Params

username
string

DeployGateのユーザ名

email
string

DeployGateに登録しているメールアドレス、もしくは、招待状を送付する宛先アドレス

 

usernameとemailの使い分け

ユーザーを招待する場合、usernameもしくはemailいずれか1つをクエリパラメータとして与えてください。usernameを指定する場合、DeployGateユーザの中から該当するユーザ名のユーザーがメンバーに追加されます。emailを指定する場合、もし対象のメールアドレスが既にDeployGateのユーザである場合はそのユーザーを追加し、DeployGateにまだサインアップしていないユーザの場合はサインアップの案内を含む招待状メールを送付します。招待状を受け取ったユーザはサインアップ完了後、自動的に招待されたグループのメンバーになります。

Suggest Edits

グループのメンバーを削除

グループに所属しているユーザーをメンバーから削除します

 

Query Auth

 Authentication is required for this endpoint.
deletehttps://deploygate.com/api/organizations/organization_name/members/id
curl \
  -X DELETE
  -F 'token=xxx' \
  https://deploygate.com/api/organizations/_organization_name_/members/_user_name_or_email_
A binary file was returned

You couldn't be authenticated

{
	"error": false,
	"message": "invitee was removed from sample-organization"
}

Path Params

organization_name
string
required

グループ名

id
string
required

削除する対象ユーザのユーザー名、もしくはメールアドレス

 

招待中のユーザの削除

DeployGateへのサインアップが完了していないユーザの招待を取り消す場合は、URLのidにメールアドレスを指定することで、対象ユーザーをメンバーから削除することができます。