创建 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相关推荐

  1. Python操作Jira提交BUG

    Jira提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira jira Python文档https://jira.readthedocs.io/ ...

  2. python excel案例导入jira_Python操作Jira库常用方法解析

    Jira提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira 安装方法 pip install jira 认证 Jira的访问是有权限的,在访问 ...

  3. JIRA REST API调用方式

    关键字 阿里巴巴 云效RDC Aone JIRA 高德地图 德国大众 1.JIRA介绍 JIRA平台是国际上比较流行的项目缺陷追踪管理平台,与阿里云RDC(云效)系统类似,均为缺陷跟踪平台. 目前像阿 ...

  4. python 操作jira

    参考资料: Welcome to Atlassian Python API's documentation! - Atlassian Python API 3.29.0 documentationht ...

  5. Javascript操作DOM常用API总结

    文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识. 基本概念 在讲解操作DOM的api之前, ...

  6. python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用

    python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装 安装及简单使用:https://github.com/andymccurdy/ ...

  7. 【repost】Javascript操作DOM常用API总结

    Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...

  8. 目录操作的相关API 和 获取文件的属性信息

    目录 一,目录操作的相关API 1,创建或删除一个空目录 2,打开目录 3,读一个目录 4,关闭一个目录 二,获取文件的属性信息 1, stat,fstat,lstat 用来获取文件的属性信息 2,a ...

  9. python操作jira添加模块

    python操作jira添加模块 python操作jira 首先安装jira模块 导入jira模块 编写添加模块代码 获取当前项目的模块信息 从excel表读取信息 主方法中调用添加模块等方法 pyt ...

最新文章

  1. [彻底理解]JDK1.8 函数式接口 Consumer Supplier 以及 JAVA新纪元 λ表达式的到来
  2. KVM学习及应用的七个阶段
  3. Kinect V2 基础教程之彩色图像
  4. 获取手机信息(UIDevice、NSBundle、NSLocale)
  5. TensorFlow(十)定义图变量的方法
  6. Java生产力提示:社区的热门选择
  7. 关于在页面中针对不同版本的IE浏览器实现不同的JS或者CSS样式
  8. Oracle备份如何到异机还原
  9. java处理xls_Java处理Excel文件
  10. Django SCRF跨站点请求伪造
  11. 【Matlab】根据excel画折线图和柱状图
  12. 【正点原子Linux连载】第二十五章 语音识别项目 摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2
  13. 转一篇Java基础的文章,比较有深度的,就转来收藏了
  14. python3使用staf问题_转载—越来越强大的SAFS/STAF/STAX自动化测试框架
  15. 数学四大思想八大方法_中考数学专题五,四种数学思想方法,第3个比较难掌握...
  16. 一个好的科技公司logo长这样
  17. php 支付宝账单监控,支付宝账单监测 收款监测 实时监控
  18. Win7系统文件上添加Sublime Text 3的打开方式
  19. three.js glb 多个_与林肯冒险家相比 奔驰GLB差的不仅是个四驱而已|冒险家|奔驰-石家庄新闻网...
  20. transformer与视觉

热门文章

  1. 问游戏java面试问题_JAVA面试问答题
  2. 使用python模拟登录
  3. 模拟人生4优质mod下载地址(国内可用)
  4. 计算机视觉系列-轻松掌握 MMDetection 中 全景分割算法 MaskFormer(一)
  5. Mat 与Mat区别
  6. uniapp上传图片和视频到OSS
  7. 关于华为P系列的影像梦华录
  8. C中的有符号数和无符号数之间的转换
  9. 《MATLAB智能算法超级学习手册》一一2.2 种群竞争模型的讨论
  10. python爬取网易云音乐_python爬取网易云音乐简单案例