php 操作jira REST API
创建 POST:jiraHost . "/rest/api/2/issue"
更新 PUT:jiraHost . "/rest/api/2/issue/" . $issueKey
上传附件 POST:jiraHost . '/rest/api/2/issue/' . $issueKey . '/attachments'
详情 GET:jiraHost . '/rest/api/2/issue/' . $issueKey
php jira上传附件
PHP jira删除附件
PHP 创建jira issue
$this->jiraHost = 'http://jira.xxx.com';$this->userName = "userName";$this->password = "password";/*** Description: 创建工单 post请求* Date: 2020-09-01* @param $params array* @return bool|int|string*/public function issueCreate ($params){$jsonStr = json_encode($params);$url = $this->jiraHost . "/rest/api/2/issue";$ret = $this->postJira($url, $jsonStr);if (strpos($ret, 'key') == false) {return false;} else {$retArr = json_decode($ret, true);if (!empty($retArr['key'])) {return $this->jiraHost . '/browse/' . $retArr['key'];} else {return false;}}}/*** Description: 上传附件 post请求* Date: 2020-09-01* @param $issueKey* @param $pic* @return bool*/public function addAttachment ($issueKey, $pic){$urlArr = explode("/", $pic);$fileName = $urlArr[sizeof($urlArr) - 1];//缓存到本地$path = '/tmp/' . $fileName;file_put_contents($path, file_get_contents($pic));$cFile = new CURLFile($path); // initiating CURLFile for preparing the upload$url = $this->jiraHost . '/rest/api/2/issue/' . $issueKey . '/attachments';$data = array('file' => $cFile);$headers = ['X-Atlassian-Token: nocheck','Content-Type: multipart/form-data',];$ret = $this->postJira($url, $data, '', $headers);unlink($path);if (!$ret) {return false;}$retArr = json_decode($ret, true);return $retArr[0]['content']; //returning values}//工单详情 get请求public function issueInfo ($issueKey){$url = $this->jiraHost . '/rest/api/2/issue/' . $issueKey;$ret = HttpClient::get($url);return json_decode($ret, true);}/*** Description: 更新 PUT请求* Date: 2020-09-01* @param $issueKey* @param $params array* @return bool|int*/public function updateIssue ($issueKey, $params){$jsonStr = json_encode($params);$url = $this->jiraHost . "/rest/api/2/issue/" . $issueKey;$ret = $this->postJira($url, $jsonStr, 'PUT');if ($ret != "") {return false;}return true;}/*** Description:* Date: 2020-09-01* @param $url* @param $params* @param $header* @param string $curlType* @return bool|string*/function postJira ($url, $params, $curlType = '', $header = []){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_TIMEOUT, 120); //设置超时时间curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //返回原生的(Raw)输出curl_setopt($ch, CURLOPT_POST, 1); //POSTcurl_setopt($ch, CURLOPT_POSTFIELDS, $params); //post数据curl_setopt($ch, CURLOPT_USERPWD, $this->userName . ':' . $this->password);curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));// 兼容PUTif (!empty($curlType)) {curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $curlType);}if (!empty($header)) {curl_setopt($ch, CURLOPT_HTTPHEADER, $header);}$ret = curl_exec($ch);curl_close($ch);return $ret;}
参考文档:https://docs.atlassian.com/software/jira/docs/api/REST/6.1.5/#d2e720
API example:https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/
php 操作jira REST API相关推荐
- Python操作Jira提交BUG
Jira提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira jira Python文档https://jira.readthedocs.io/ ...
- python excel案例导入jira_Python操作Jira库常用方法解析
Jira提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira 安装方法 pip install jira 认证 Jira的访问是有权限的,在访问 ...
- JIRA REST API调用方式
关键字 阿里巴巴 云效RDC Aone JIRA 高德地图 德国大众 1.JIRA介绍 JIRA平台是国际上比较流行的项目缺陷追踪管理平台,与阿里云RDC(云效)系统类似,均为缺陷跟踪平台. 目前像阿 ...
- python 操作jira
参考资料: Welcome to Atlassian Python API's documentation! - Atlassian Python API 3.29.0 documentationht ...
- Javascript操作DOM常用API总结
文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前, ...
- python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用
python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装 安装及简单使用:https://github.com/andymccurdy/ ...
- 【repost】Javascript操作DOM常用API总结
Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...
- 目录操作的相关API 和 获取文件的属性信息
目录 一,目录操作的相关API 1,创建或删除一个空目录 2,打开目录 3,读一个目录 4,关闭一个目录 二,获取文件的属性信息 1, stat,fstat,lstat 用来获取文件的属性信息 2,a ...
- python操作jira添加模块
python操作jira添加模块 python操作jira 首先安装jira模块 导入jira模块 编写添加模块代码 获取当前项目的模块信息 从excel表读取信息 主方法中调用添加模块等方法 pyt ...
最新文章
- Android 判断是否网络连接, 判断是否为WIFI,移动网络以及跳转网络设置界面
- 使用SpringBoot配置了 server.servlet.path后无效的解决方案
- mssql sqlserver 不固定行转列数据(动态列)
- git仓库的基本用法
- 腾讯广告算法大赛 | 初赛第一名心得分享
- 2021-08-12
- 蓝桥杯 BASIC-24 基础练习 龟兔赛跑预测
- 单机使用tungsten 同步mysql数据到mongodb
- 手机号验证最新正则表达式
- linux中yaml安装包如何安装,yaml-cpp的安装
- 构建企业级推荐系统(05):从零开始入门推荐算法工程师(万文建藏)
- 几个常用快速无损压缩算法性能比较
- [Telink][TLSR8251] [泰凌微][SDK3.4] 上手第二步 框架介绍
- pyodbc linux 乱码,python-无法在Linux上安装pyodbc
- 多个excel工作簿合并_无需VBA代码,1分钟合并多个工作簿至一个工作簿!
- 计算机专用英语词汇(方便大家学习)
- element el-select 支持拼音码和中文检索 检索的时候必须加属性 filterable
- const的意义及作用
- ANSYS APDL中的ASEL面选择命令
- JavaScript——JSON
热门文章
- Leveraging Large Language Models for Robot 3D Scene Understanding
- C# SQLite版本选择:Precompiled Binaries 与Precompiled Statically-Linked Binaries ,带bundle与不带bundle
- js做简易ATM机-pink老师的作业
- Python opencv 库cv.imread()读取图片为空None,cv.imshow()报错:error: (-215:Assertion failed) _src.empty() in ..
- android Q softAp流程
- 假如女人是一种编程语言(切勿按星座对号入座哦)
- 《信息技术时代》期刊简介及投稿要求
- 【Python】鲸鱼算法实现
- 抖音里字幕识别失败怎么办
- 火花塞报警能用计算机消除,火花塞上面有积碳,清洗后能继续使用吗?