蒲公英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

相关文章

el-upload 上传图片及回显照片和预览图片,文件流和http线上链接格式操作

<div v-for="(info, index) in zsjzqwhxqList.helicopterTourInfoList" :key="info.id" >编辑上传图片// oss返回线上地址http链接格式:<el-form-itemlabel="巡视结果照片":label-width="formLabelWidth"><el-upload:action="'http:

Android Apk瘦身方案1——R.java文件常量内联

R.java 文件结构 R.java 是自动生成的,它包含了应用内所有资源的名称到数值的映射关系。先创建一个最简单的工程,看看 R.java 文件的内容: R文件生成的目录为app/build/generated/not_namespaced_r_class_sources/xxxxxDebug/processXXXXDebugResources/r/com/xxx/xxx/R.java

【jenkins1】gitlab与jenkins集成

文章目录 1.Jenkins-docker配置:运行在8080端口上,机器只要安装docker就能装载image并运行容器2.Jenkins与GitLab配置:docker ps查看正在运行,浏览器访问http://10....:8080/2.1 GitLab与Jenkins的Access Token配置:不涉及具体项目2.2 新建jenkins job和配置job:jenkins的Dash

Web渗透:文件上传漏洞

文件上传漏洞(File Upload Vulnerability)是网络安全中的一种常见漏洞,攻击者可以通过此漏洞将恶意文件上传到服务器,从而执行任意代码、覆盖重要文件、或进行其他恶意操作。这种漏洞可能带来严重的安全风险,包括数据泄露、系统入侵、甚至完全控制服务器。 文件上传漏洞的危害 ①代码执行:攻击者可以上传包含恶意代码的脚本文件,如PHP、ASP、JSP等,直接在服务器上执行。②文件

csdn上传源码资源卖钱能买房买车吗?每天最高收入200-500?

csdn上传源码卖钱能买房买车吗,最高收入200-500? 作者收入日榜 不***孩 收益617.32元 程***妍 收益534.56元 s***n 收益323.71元 盈***客 收益315.05元 极***计 收益284.17元

Gitlab 代码管理工具创建项目并将代码上传教程

用了两天时间,后面在朋友的协助下才弄好。所以做个操作记录。  目前常用代码管理器软件有GitHub,Gitlab,SVN,也可以用TFS。 (https://bitbucket.org/  这个听说挺好使???不过我没用,连注册都注册不了,加载不了Chrome服务器的验证图片,这个就过了) 言归正传 1、注册Gitlab账号(GitLab 是目前免费的并且最好用的代码管理器,当然也可以选择

【转自看雪】反编译apk+eclipse中动态调试smali

初涉移动端,请各位前辈多多指教! 本文参考http://www.kaifazhe.com/android_school/380973.html 在此,对作者表示感谢! 跟踪apk一般的做法是在反编译的smali代码中插入log输出,然后重新编译运行看输出日志,这种方法费时费力,如果能够动态调试就最好了。下面就给大家介绍apk+eclipse来调试smali。 前

APK签名校验绕过

将APK重命名为zip文件,然后可以看到有个META-INF的文件夹,里面有三个文件,分别名为MANIFEST.MF、CERT.SF和CERT.RSA,这些就是使用signapk.jar生成的签名文件。 1、 MANIFEST.MF文件: 程序遍历update.apk包中的所有文件(entry),对非文件夹非签名文件的文件,逐个生成SHA1的数字签名信息,再用Base64进行编码。具体代

在Android系统中,查看apk安装路径

在Android系统中,应用通常安装在内部存储的特定目录下。要找到已安装应用的路径,可以通过ADB(Android Debug Bridge)工具来查询。以下是一些步骤和命令,可以帮助你找到应用的安装路径: 使用pm list packages命令列出所有已安装的应用包名: 这个命令会列出所有已安装的应用的包名。 adb shell pm list packages 使用pm path命令

通过bootstrap-fileupload上传文件时js库修改为默认中文的方法

打开fileinput.js文件,修改如下几处原来的en为zh: 1、3065行                lang = options.language || self.data('language') || 'zh', opts; 2、3070行               if (lang !== 'zh' && !isEmpty($.fn.fileinputLocales[lang