1. 程式人生 > >蒲公英jenkins 上傳apk

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

引數 型別 說明
uKey String
_api_key String
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 "[email protected]/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,可以通過短連結介面獲取,或者我的應用介面獲取)
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引數

引數 型別 說明
aKey String (App Key是唯一標識應用的索引ID,可以通過短連結介面獲取,或者我的應用介面獲取)
uKey String
_api_key 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 應用更新時間
歷史版本返回引數 型別 說明
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引數

引數 型別 說明
aId String App Id
_api_key String

返回資料

應用詳情返回引數

相關推薦

蒲公英jenkins apk

https://www.pgyer.com/doc/api#uploadApp 介面說明 利用蒲公英提供的介面,第三方開發者可以把蒲公英提供的應用上傳託管、安裝等功能,接入到自己的應用中,並且可以根據資料介面,獲取蒲公英提供的各種應

Jenkins持續化構建Android專案(四)-apk蒲公英(by 星空武哥)

1、註冊賬號,獲取取API Key和User Key 然後在“賬戶設定”中找到“API資訊”,獲取API Key和User Key 2、安裝curl 安裝完成後需要配置curl環境變數,然後在cm

使用Gradle編寫蒲公英自動安裝包和更新說明指令碼

Github: github.com/windinwork/… 平時測試中發包的時候,筆者在打完包就直接拖到蒲公英上讓它上傳就完事了。不過前兩天的會議上,測試小姐姐提出要在蒲公英上寫明這次的測試包修改了什麼內容。 筆者一想到上傳完包還要一個個打字說明在這個包我修改了什麼,立即強烈拒絕!但是測試小

jenkins war到伺服器指令碼 war到docker生成新的映象容器啟動指令碼及dockerfile

在jenkins配置中的構建後操作選擇Deploy war/ear to a container // 上傳到指定伺服器tomcat 指令碼 export JAVA_HOME=/home/jiaopi/jdk1.7.0_67 export JRE_HOME=/home/ji

Google Play 開發者平臺的 【登入】,【圖片】,【APK】失敗的問題

1.現狀:經常出現圖片上傳錯誤、APK上傳錯誤 2.在Google Play登入時,也可能出現“出現了一點錯誤” 3.最初的懷疑:是否賬號未得到NewBookBay管理員授權,或者VPN軟體未被Google識別? 4.最終解決方案:①首先退出當前登入

google playapk大小受阻問題

ggp對APK包做了50M的上傳限制,如果超過50M的話就要上傳擴充套件包 一、APK擴充套件檔案基本知識       Android Market (Google Play Store)中每個APK檔案的最大限制是50MB。如果您的程式中包含大量的資料檔案,以前您只能把

ASP.net實現APK檔案並且下載APK

前言:文中所講僅為個人學習使用過程中的一些經驗和想法,望多提意見。 一,實現上傳APK檔案的功能 介面cs.html程式碼: <strong> </strong><span style="font-weight: bold; white-sp

JenkinsDocker映象到Docker Hub

服務Docker化的好處: 服務部署在Docker容器內,遮蔽了環境的影響,大大提高了成功部署的可複製性。 只要使用D

Android+Jenkins自動化打包+蒲公英+傳送郵件(測試必會)

Android+Jenkins自動化打包+上傳蒲公英+傳送郵件   各位好,由於經常要修改客戶端的伺服器地址和要區分渠道為了方便測試打包學習了一下Jenkins,期間遇到一些問題,反正就是問題比較多,網上也搜了很多東西但是比較散都講了一點,特地自己整理了一下 ,也將自己遇到的坑在這

Jenkins+Gitlab+蒲公英構建Android專案, 實現自動打包並生產二維碼下載

基本準備 # 關閉selinux setenforce  0 sed   -i     '/=enforcing/s/enforcing/disabled/g'  /etc/sysconfig/selinux # 關閉防火牆 service   iptables 

Jenkins構建完成後通過SVN Publisher Plugin文件到指定的SVN(教程收集)

ons stack play pac pla min ack .org isp SVN Publisher Plugin:https://wiki.jenkins-ci.org/display/JENKINS/SVN+Publisher 構建完成後的文件,比如Maven打

jenkins構建docker鏡像到harbor並發布到kubernetes

info cache mkdir body 執行 pip ble 一段 一次 很早之前寫過一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件。這篇文章是直接使用shell腳本做的,主要是這

jenkins---windows構建項目jar包到linux

img 成功 定向 pan txt con 重定向命令 term tails 2018年02月05日 11:02:17 閱讀數:851 1,怎麽構建jar包可以參考下此鏈接:http://blog.csdn.net/zk0920zk/article/detai

iOS 用個人證書shell打包蒲公英

用個人證書Shell打包釋出蒲公英。下面記錄下主要步驟 1、shell指令碼 #!/bin/sh function setup_dir { if [ -d "${BUILD_PATH}" ]; then rm -rf "${BUILD_PATH}" fi mkdir -p "${BUI

本地搭建ios測試包下載安裝環境(類似蒲公英)

概述 昨天ios開發這小子說公司網很慢每次測試包上傳到蒲公英上都要好久,但是公司這網很垃圾是個事實,為了提高他們的效率,我就本地搭建了一個可以上傳安裝ios測試包的環境。 操作 專案的地址是 https://github.com/iineva/ipa-server 這

windos安裝jenkins部署springboot的jar包(未執行,只是在打包並linux成功了)

  流程: jenkins從linux上的svn拉取程式碼,到本地(windos)的workspace,然後通過構建,打包,部署到linux上 環境: windos上安裝:maven jdk jenkins linux上:安裝svn,jdk 1.安裝:(自行查詢網上),說下幾個注意點

xcodebuild自動打包指令碼與自動蒲公英指令碼

指令碼檔案"xxx.sh"使用"Sublime_Text"工具進行編輯。在終端執行指令碼時的命令:sh xxx.sh# 指令碼功能說明# 在終端,使用xcodebuild進行自動打包,以及上傳到蒲公英#

iOS 持續整合方案,傻瓜式一鍵全自動化打包、!告別 fastlane 、Jenkins

iOS 持續整合方案 前言:目前市面上iOS開發持續整合的方案很多,在主流的分發平臺fir、蒲公英都有相應的方案介紹(fastlane,Jenkins);但就實際需求來說還是不夠友好,在前面使用Python為公司開發兩個自動化指令碼之餘,產生使用Python開發一個完全傻瓜式的自動化指令碼,並滿足自身

golang iOS 自動打包,蒲公英

新建一個配置類包含打包的內容type buildInfo struct { Path string `json:"path"` Branch string `json:"branch"` Workspace

jenkins+svn完整打包並到linux伺服器

因為公司用的是svn版本管理工具並且部署在了windows伺服器上,所以測試環使用jenkins需要部署兩套環境, 一套是在本地windows伺服器,jenkins從svn下載程式碼完成打包並上傳到linux跳板機上 一套是在linux環境上,把跳板機上的包上傳到對應伺服器上並備份以前版本,重啟新jar包