创建 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. Android 判断是否网络连接, 判断是否为WIFI,移动网络以及跳转网络设置界面
  2. 使用SpringBoot配置了 server.servlet.path后无效的解决方案
  3. mssql sqlserver 不固定行转列数据(动态列)
  4. git仓库的基本用法
  5. 腾讯广告算法大赛 | 初赛第一名心得分享
  6. 2021-08-12
  7. 蓝桥杯 BASIC-24 基础练习 龟兔赛跑预测
  8. 单机使用tungsten 同步mysql数据到mongodb
  9. 手机号验证最新正则表达式
  10. linux中yaml安装包如何安装,yaml-cpp的安装
  11. 构建企业级推荐系统(05):从零开始入门推荐算法工程师(万文建藏)
  12. 几个常用快速无损压缩算法性能比较
  13. [Telink][TLSR8251] [泰凌微][SDK3.4] 上手第二步 框架介绍
  14. pyodbc linux 乱码,python-无法在Linux上安装pyodbc
  15. 多个excel工作簿合并_无需VBA代码,1分钟合并多个工作簿至一个工作簿!
  16. 计算机专用英语词汇(方便大家学习)
  17. element el-select 支持拼音码和中文检索 检索的时候必须加属性 filterable
  18. const的意义及作用
  19. ANSYS APDL中的ASEL面选择命令
  20. JavaScript——JSON

热门文章

  1. Leveraging Large Language Models for Robot 3D Scene Understanding
  2. C# SQLite版本选择:Precompiled Binaries 与Precompiled Statically-Linked Binaries ,带bundle与不带bundle
  3. js做简易ATM机-pink老师的作业
  4. Python opencv 库cv.imread()读取图片为空None,cv.imshow()报错:error: (-215:Assertion failed) _src.empty() in ..
  5. android Q softAp流程
  6. 假如女人是一种编程语言(切勿按星座对号入座哦)
  7. 《信息技术时代》期刊简介及投稿要求
  8. 【Python】鲸鱼算法实现
  9. 抖音里字幕识别失败怎么办
  10. 火花塞报警能用计算机消除,火花塞上面有积碳,清洗后能继续使用吗?