本文主要是介绍蒲公英jenkins 上传apk,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://www.pgyer.com/doc/api#uploadApp
接口说明
利用蒲公英提供的接口,第三方开发者可以把蒲公英提供的应用上传托管、安装等功能,接入到自己的应用中,并且可以根据数据接口,获取蒲公英提供的各种应用数据,以方便开发者更容易的进行内测应用的分发。
- 除特别说明,所有数据API的请求方式均为HTTP POST方式。
- 获取图片等资源文件接口的请求方式为HTTP GET
- API接口返回数据格式为JSON。
- 所有接口请求时,必须包含参数_api_key,以便识别接口身份。 点击获取_api_key
常规参数说明
参数 | 别称 | 说明 |
---|---|---|
_api_key | API Key | API Key,用来识别API调用者的身份,如不特别说明,每个接口中都需要含有此参数。对于同一个蒲公英的注册用户来说,这个值在固定的。点击获取_api_key |
uKey | User Key | 用户Key,用来标识当前用户的身份,对于同一个蒲公英的注册用户来说,这个值在固定的。 点击获取_ukey |
aId | App Id | 表示一个App组的唯一ID。例如,名称为"微信"的App上传了三个版本,那么这三个版本为一个App组,该参数表示这个组的ID。这个值可以在应用管理后台中看到。 |
aKey | App Key | 代表一个具体的App的唯一标识。例如,名称为"微信"的App上传了三个版本,那么这三个版本具有不同的 aKey,这个值一般是通过其他接口返回的。 |
示例代码
PHP调用接口示例(查看广场的应用):
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.pgyer.com/apiv1/app/listAll');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'type=ios&_api_key=07a69e841c23d33ad833622aabb0c12e&page=1');
$response = curl_exec($curl);
if(curl_errno($curl)){echo curl_error($curl);
}
curl_close($curl);
$jsonData = json_decode($response, true);
print_r($jsonData);
上传App
通过该接口,开发者可以直接上传 App 到蒲公英。上传时,请使用 HTTP POST 方式,其中 enctype 为 "multipart/form-data"
API地址
POST https://qiniu-storage.pgyer.com/apiv1/app/upload
POST参数
参数 | 类型 | 说明 |
---|---|---|
uKey | String | (必填) 用户Key 点击获取_ukey |
_api_key | String | (必填) API Key 点击获取_api_key |
file | File | (必填) 需要上传的ipa或者apk文件 |
installType | Integer | (选填)应用安装方式,值为(1,2,3)。1:公开,2:密码安装,3:邀请安装。默认为1公开 |
password | String | (选填) 设置App安装密码,如果不想设置密码,请传空字符串,或不传。 |
updateDescription | String | (选填) 版本更新描述,请传空字符串,或不传。 |
返回数据
参数 | 类型 | 说明 |
---|---|---|
appKey | String | App Key |
userKey | String | User Key |
appType | Integer | 应用类型(1:iOS; 2:Android) |
appIsFirst | Integer | 是否是第一个App(1:是; 2:否) |
appIsLastest | Integer | 是否是最新版(1:是; 2:否) |
appFileSize | Integer | App 文件大小 |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appVersionNo | Integer | 适用于Android的版本编号,iOS始终为0 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | String | 应用程序包名,iOS为BundleId,Android为包名 |
appIcon | String | 应用的Icon图标key,访问地址为 http://o1wh05aeh.qnssl.com/image/view/app_icons/[应用的Icon图标key] |
appDescription | String | 应用介绍 |
appUpdateDescription | String | 应用更新说明 |
appScreenShots | String | 应用截图的key,获取地址为 http://o1whyeemo.qnssl.com/image/view/app_screenshots/[应用截图的key] |
appShortcutUrl | String | 应用短链接 |
appQRCodeURL | String | 应用二维码地址 |
appCreated | String | 应用上传时间 |
appUpdated | String | 应用更新时间 |
上传App示例
使用Linux下的crul命令上传App示例:
curl -F "file=@/tmp/example.ipa" -F "uKey=eb17e8f41b684b84de9ec0c01f9ea1b3" -F "_api_key=07a69e841c23d33ad833622aabb0c12e" https://qiniu-storage.pgyer.com/apiv1/app/upload
请根据开发者自己的账号,将其中的 uKey 和 _api_key 的值替换为相应的值。
安装App
通过该接口可以直接使用手机安装 App,请使用 HTTP GET 方式。该接口仅在手机上可用,使用手机浏览器请求该地址即可开始安装。
API地址
GET http://www.pgyer.com/apiv1/app/install
GET参数
参数 | 说明 |
---|---|
aKey | App Key (App Key是唯一标识应用的索引ID,可以通过短链接接口获取,或者我的应用接口获取) |
_api_key | API Key 点击获取_api_key |
password | (选填) 当应用需要安装密码时,请传入应用安装密码 |
返回数据
接口会根据应用的类型(iOS或Android),自动使用相应的的安装方式来安装应用。
示例代码
http://www.pgyer.com/apiv1/app/install?_api_key=07a69e841c23d33ad833622aabb0c12e&aKey=f3c7897cf8ac70a3d345699ef6e1584d&password=123456
iOS应用内安装
iOS应用内安装接口,可以实现用户安装应用时,无需打开浏览器,即可直接安装的效果。接口地址:
itms-services://?action=download-manifest&url=http://www.pgyer.com/app/plist/{aKey}
请将其中的{aKey}
换成App的Key,不包含大括号。
示例代码
Web:
<a href="itms-services://?action=dpwnload-manifest&url=http://www.pgyer.com/app/plist/f3c7897cf8ac70a3d345699ef6e1584d>安装</a>iOS:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=http://www.pgyer.com/app/plist/f3c7897cf8ac70a3d345699ef6e1584d"]];或者:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.pgyer.com/apiv1/app/install?_api_key=07a69e841c23d33ad833622aabb0c12e&aKey=f3c7897cf8ac70a3d345699ef6e1584d&password=123456"]];
获取App详细信息
该接口可以获取某个 App 的某个具体版本的详细信息。
API地址
POST http://www.pgyer.com/apiv1/app/view
POST参数
参数 | 类型 | 说明 |
---|---|---|
aKey | String | (App Key是唯一标识应用的索引ID,可以通过短链接接口获取,或者我的应用接口获取) |
uKey | String | (选填) 用户Key点击获取_ukey |
_api_key | String | API Key 点击获取_api_key |
返回数据
应用详情返回参数 | 类型 | 说明 |
---|---|---|
appKey | String | App Key |
userKey | String | User Key |
appType | Integer | 应用类型(1:iOS; 2:Android) |
appIsFirst | Integer | 是否是第一个App(1:是; 2:否) |
appIsLastest | Integer | 是否是最新版(1:是; 2:否) |
appFileSize | Integer | App 文件大小 |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appVersionNo | Integer | 适用于Android的版本编号,iOS始终为0 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | String | 应用程序包名,iOS为BundleId,Android为包名 |
appIcon | String | 应用的Icon图标key,访问地址为 http://o1wh05aeh.qnssl.com/image/view/app_icons/[应用的Icon图标key] |
appDescription | String | 应用介绍 |
appUpdateDescription | String | 应用更新说明 |
appScreenShots | String | 应用截图的key,获取地址为 http://o1whyeemo.qnssl.com/image/view/app_screenshots/[应用截图的key] |
appShortcutUrl | String | 应用短链接 |
appQRCodeURL | String | 应用二维码地址 |
appCreated | String | 应用上传时间 |
appUpdated | String | 应用更新时间 |
历史版本返回参数 | 类型 | 说明 |
---|---|---|
appKey | String | App Key |
userKey | String | User Key |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appCreated | String | 应用上传时间 |
appUpdated | String | 应用更新时间 |
应用反馈返回参数 | 类型 | 说明 |
---|---|---|
userKey | Integer | User Key |
commentContent | Integer | 反馈内容 |
commentImageKeys | Integer | 反馈中的截图key,访问地址为:http://o1whyeemo.qnssl.com/image/view/comment_screenshot/[反馈中的截图key] |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | Integer | 应用程序包名,iOS为BundleId,Android为包名 |
appCreated | Integer | 应用上传时间 |
appUpdated | Integer | 应用更新时间 |
获取App组详细信息
同一个 App 的不同版本,蒲公英会将它们合并起来,形成一个 App 的集合,这个集合我们称之为一个"App组"。对于一个"App组",会有一个唯一的 App Id 与之对应。该接口用来获取 App 组的详细信息。
API地址
POST http://www.pgyer.com/apiv1/app/viewGroup
POST参数
参数 | 类型 | 说明 |
---|---|---|
aId | String | App Id |
_api_key | String | API Key 点击获取_api_key |
返回数据
应用详情返回参数 | 类型 | 说明 |
---|---|---|
appKey | String | App Key |
appType | Integer | 应用类型(1:iOS; 2:Android) |
appIsFirst | Integer | 是否是第一个App(1:是; 2:否) |
appIsLastest | Integer | 是否是最新版(1:是; 2:否) |
appFileSize | Integer | App 文件大小 |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appVersionNo | Integer | 适用于Android的版本编号,iOS始终为0 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | String | 应用程序包名,iOS为BundleId,Android为包名 |
appIcon | String | 应用的Icon图标key,访问地址为 http://o1wh05aeh.qnssl.com/image/view/app_icons/[应用的Icon图标key] |
appDescription | String | 应用介绍 |
appUpdateDescription | String | 应用更新说明 |
appScreenShots | String | 应用截图的key,获取地址为 http://o1whyeemo.qnssl.com/image/view/app_screenshots/[应用截图的key] |
appShortcutUrl | String | 应用短链接 |
appQRCodeURL | String | 应用二维码地址 |
appCreated | String | 应用上传时间 |
appUpdated | String | 应用更新时间 |
修改App详细信息
API地址
POST http://www.pgyer.com/apiv1/app/update
POST参数
参数 | 类型 | 说明 |
---|---|---|
aKey | String | App Key (App Key是唯一标识应用的索引ID,可以通过短链接接口获取,或者我的应用接口获取) |
uKey | String | 用户Key点击获取_ukey |
_api_key | String | API Key 点击获取_api_key |
appName | String | (选填) 应用名称 |
appShortcutUrl | String | (选填) 应用短链接地址 |
appUpdateDescription | String | (选填,传值为空则更新为空) 应用更新说明 |
appDescription | String | (选填,传值为空则更新为空) 应用说明 |
appPassword | String | (选填,传值为空则更新为空) 设置应用密码 |
appVersion | String | (选填) 应用版本信息 |
appScreenshots | String | (选填,传值为空则更新为空) 应用截图Key |
返回数据
返回参数 | 类型 | 说明 |
---|---|---|
appKey | String | App Key |
userKey | String | User Key |
appType | Integer | 应用类型(1:iOS; 2:Android) |
appIsFirst | Integer | 是否是第一个App(1:是; 2:否) |
appIsLastest | Integer | 是否是最新版(1:是; 2:否) |
appFileSize | Integer | App 文件大小 |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appVersionNo | Integer | 适用于Android的版本编号,iOS始终为0 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | String | 应用程序包名,iOS为BundleId,Android为包名 |
appIcon | String | 应用的Icon图标key,访问地址为 http://o1wh05aeh.qnssl.com/image/view/app_icons/[应用的Icon图标key] |
appDescription | String | 应用介绍 |
appUpdateDescription | String | 应用更新说明 |
appScreenShots | String | 应用截图的key,获取地址为 http://o1whyeemo.qnssl.com/image/view/app_screenshots/[应用截图的key] |
appShortcutUrl | String | 应用短链接 |
appQRCodeURL | String | 应用二维码地址 |
appCreated | String | 应用上传时间 |
appUpdated | String | 应用更新时间 |
获取App所有版本
API地址
POST http://www.pgyer.com/apiv1/app/builds
POST参数
参数 | 类型 | 说明 |
---|---|---|
aId | String | App Id |
page | Integer | 历史版本分页页数 |
_api_key | String | API Key 点击获取_api_key |
返回数据
返回参数 | 类型 | 说明 |
---|---|---|
appKey | String | 返回应用最新build的App Key |
appType | Integer | 应用类型(1:iOS; 2:Android) |
appFileSize | Integer | App 文件大小 |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appVersionNo | Integer | 适用于Android的版本编号,iOS始终为0 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | String | 应用程序包名,iOS为BundleId,Android为包名 |
appIcon | String | 应用的Icon图标key,访问地址为 http://o1wh05aeh.qnssl.com/image/view/app_icons/[应用的Icon图标key] |
appCreated | String | 应用上传时间 |
上传App截图
API地址
POST http://www.pgyer.com/apiv1/app/uploadScreenshot
POST参数
参数 | 类型 | 说明 |
---|---|---|
aKey | String | App Key (App Key是唯一标识应用的索引ID,可以通过短链接接口获取,或者我的应用接口获取) |
_api_key | String | API Key 点击获取_api_key |
image | File | 需要上传的截图,最大可以上传5张 |
返回数据
返回参数 | 类型 | 说明 |
---|---|---|
keys | String | App上传后所有的截图key(逗号分开),获取地址为 http://o1whyeemo.qnssl.com/image/view/app_screenshots/[应用截图的key] |
验证App短链接
API地址
POST http://www.pgyer.com/apiv1/app/getAppKeyByShortcut
POST参数
参数 | 类型 | 说明 |
---|---|---|
shortcut | String | 应用短链接,例如pgyer.com/PgY8,只需要传入PgY8参数即可 |
_api_key | String | API Key 点击获取_api_key |
返回数据
应用详情返回参数 | 类型 | 说明 |
---|---|---|
appKey | String | 返回应用最新build的App Key |
appType | Integer | 应用类型(1:iOS; 2:Android) |
appFileName | String | 上传的应用文件名 |
appFileSize | Integer | App 文件大小 |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appVersionNo | Integer | 适用于Android的版本编号,iOS始终为0 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | String | 应用程序包名,iOS为BundleId,Android为包名 |
appCreated | String | 应用上传时间 |
查看自己上传的应用
API地址
POST http://www.pgyer.com/apiv1/user/listMyPublished
POST参数
参数 | 类型 | 说明 |
---|---|---|
uKey | String | 用户Key点击获取_ukey |
page | Integer | (选填) 填写数字页数 |
_api_key | String | API Key 点击获取_api_key |
返回数据
返回参数 | 类型 | 说明 |
---|---|---|
appKey | String | 返回应用最新build的App Key |
appType | Integer | 应用类型(1:iOS; 2:Android) |
appFileSize | Integer | App 文件大小 |
appName | String | 应用名称 |
appVersion | String | 版本号 |
appVersionNo | Integer | 适用于Android的版本编号,iOS始终为0 |
appBuildVersion | Integer | 蒲公英生成的用于区分历史版本的build号 |
appIdentifier | String | 应用程序包名,iOS为BundleId,Android为包名 |
appIcon | String | 应用的Icon图标key,访问地址为 http://o1wh05aeh.qnssl.com/image/view/app_icons/[应用的Icon图标key] |
appCreated | String | 应用上传时间 |
列出用户的App分组
这里说的分组,指的是开发者在「应用管理」-「我的分组」中设置的App分组。
API地址
POST http://www.pgyer.com/apiv1/userAppGroup/listAll
POST参数
参数 | 类型 | 说明 |
---|---|---|
uKey | String | 用户Key点击获取_ukey |
_api_key | String | API Key 点击获取_api_key |
返回数据
返回参数 | 类型 | 说明 |
---|---|---|
userAppGroupName | String | App分组名称 |
userAppGroupKey | String | App分组唯一标识Key |
userAppGroupShortcutURL | String | App分组的短链接 |
userAppGroupDescription | String | App分组的描述 |
userAppGroupCount | String | App分组中App的数量 |
userAppCreated | String | App分组的创建时间 |
查看用户的App分组
这里说的分组,指的是开发者在「应用管理」-「我的分组」中设置的App分组。
这个接口会返回某个App分组的详细信息,同时也返回这个分组里面包含的App信息(只列出最新版本)。
API地址
POST http://www.pgyer.com/apiv1/userAppGroup/view
POST参数
参数 | 类型 | 说明 |
---|---|---|
userAppGroupKey | String | 用户App分组的Key。可以通过 userAppGroup/view 接口获取。 |
_api_key | String | API Key 点击获取_api_key |
返回数据
返回参数 | 类型 | 说明 |
---|---|---|
userAppGroupName | String | App分组名称 |
userAppGroupKey | String | App分组唯一标识Key |
userAppGroupShortcutURL | String | App分组的短链接 |
userAppGroupDescription | String | App分组的描述 |
userAppGroupCount | String | App分组中App的数量 |
userAppCreated | String | App分组的创建时间 |
apps | Array | 包含的app信息(返回最新版本信息) |
这篇关于蒲公英jenkins 上传apk的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!