蒲公英jenkins 上传apk

2024-06-19 12:32
文章标签 apk jenkins 上传 蒲公英

本文主要是介绍蒲公英jenkins 上传apk,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


https://www.pgyer.com/doc/api#uploadApp

接口说明

利用蒲公英提供的接口,第三方开发者可以把蒲公英提供的应用上传托管、安装等功能,接入到自己的应用中,并且可以根据数据接口,获取蒲公英提供的各种应用数据,以方便开发者更容易的进行内测应用的分发。


  1. 除特别说明,所有数据API的请求方式均为HTTP POST方式。
  2. 获取图片等资源文件接口的请求方式为HTTP GET
  3. API接口返回数据格式为JSON。
  4. 所有接口请求时,必须包含参数_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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075040

相关文章

Spring MVC 图片上传

引入需要的包 <dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

在SSH的基础上使用jquery.uploadify.js上传文件

在SSH框架的基础上,使用jquery.uploadify.js实现文件的上传,之前搞了好几天,都上传不了, 在Action那边File接收到的总是为null, 为了这个还上网搜了好多相关的信息,但都不行,最后还是搜到一篇文章帮助到我了,希望能帮助到为之困扰的人。 jsp页面的关键代码: <link rel="stylesheet" type="text/css" href="${page

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

Vue3上传图片报错:Current request is not a multipart request

当你看到错误 "Current request is not a multipart request" 时,这通常意味着你的服务器或后端代码期望接收一个 multipart/form-data 类型的请求,但实际上并没有收到这样的请求。在使用 <el-upload> 组件时,如果你已经设置了 http-request 属性来自定义上传行为,并且遇到了这个错误,可能是因为你在发送请求时没有正确地设置

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env

OpenStack:Glance共享与上传、Nova操作选项解释、Cinder操作技巧

目录 Glance member task Nova lock shelve rescue Cinder manage local-attach transfer backup-export 总结 原作者:int32bit,参考内容 从2013年开始折腾OpenStack也有好几年的时间了。在使用过程中,我发现有很多很有用的操作,但是却很少被提及。这里我暂不直接

Jenkins自动构建部署项目

1. 楔子 在实际开发中,经常需要编译、静态代码检查、自动化测试、打包、部署、启动等一连串重复机械的动作,浪费时间、而且容易出错,而Jenkins就是专门Continuous integration(CI)/ Continuous Deploy(CD)开源工具,本文简单介绍Jenkins的使用。 在线无安装免费试用Jenkins:http://www.jenkins.org.cn/test