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

相关文章

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Java文件上传的多种实现方式

《Java文件上传的多种实现方式》文章主要介绍了文件上传接收接口的使用方法,包括获取文件信息、创建文件夹、保存文件到本地的两种方法,以及如何使用Postman进行接口调用... 目录Java文件上传的多方式1.文件上传接收文件接口2.接口主要内容部分3.postman接口调用总结Java文件上传的多方式1

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

Spring MVC 图片上传

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