jira创建条目rest实用脚本
最近在搞crash崩溃分析,直接把解析到的信息录入jira系统进行跟踪;
经历了多次碰壁后终于调通,现记录一下
实用json请求脚本如下:
{"fields":{"project":{"id":"10945"},"issuetype":{"id":"10103"},"summary":"%s","description":"%s","components":[{"id":"16001"}],"versions":[{"id":"16600"}],"customfield_12108":{"id":"12972"},"customfield_12109":{"id":"12974"},"priority":{"id":"10102"},"security":{"id":"10600"},"assignee":{"name":"%s"}}}
两个注意点:
1、代码里%s 是我这边他要替换的字符串;
2、上面的id值需要自己抓包来确定,每个project各id值是不一样的,
一般抓包工具是Charles和Fiddler;
jira建单官方示例如下:
The Jira Cloud platform REST API
// The payload definition using the Jackson library
JsonNodeFactory jnf = JsonNodeFactory.instance;
ObjectNode payload = jnf.objectNode();
{ObjectNode fields = payload.putObject("fields");{ObjectNode assignee = fields.putObject("assignee");{assignee.put("id", "5b109f2e9729b51b54dc274d");}ArrayNode components = fields.putArray("components");ObjectNode components0 = components.addObject();{components0.put("id", "10000");}fields.put("customfield_10000", "09/Jun/19");fields.put("customfield_20000", "06/Jul/19 3:25 PM");ArrayNode customfield_30000 = fields.putArray("customfield_30000");customfield_30000.add("10000");customfield_30000.add("10002");fields.put("customfield_40000", "Occurs on all orders");fields.put("customfield_50000", "Could impact day-to-day work.");fields.put("customfield_60000", "jira-software-users");ArrayNode customfield_70000 = fields.putArray("customfield_70000");customfield_70000.add("jira-administrators");customfield_70000.add("jira-software-users");ObjectNode customfield_80000 = fields.putObject("customfield_80000");{customfield_80000.put("value", "red");}fields.put("description", "Order entry fails when selecting supplier.");fields.put("duedate", "2019-03-11");fields.put("environment", "UAT");ArrayNode fixVersions = fields.putArray("fixVersions");ObjectNode fixVersions0 = fixVersions.addObject();{fixVersions0.put("id", "10001");}ObjectNode issuetype = fields.putObject("issuetype");{issuetype.put("id", "10000");}ArrayNode labels = fields.putArray("labels");labels.add("bugfix");labels.add("blitz_test");ObjectNode parent = fields.putObject("parent");{parent.put("key", "PROJ-123");}ObjectNode priority = fields.putObject("priority");{priority.put("id", "20000");}ObjectNode project = fields.putObject("project");{project.put("id", "10000");}ObjectNode reporter = fields.putObject("reporter");{reporter.put("id", "5b10a2844c20165700ede21g");}ObjectNode security = fields.putObject("security");{security.put("id", "10000");}fields.put("summary", "Main order flow broken");ObjectNode timetracking = fields.putObject("timetracking");{timetracking.put("originalEstimate", "10");timetracking.put("remainingEstimate", "5");}ArrayNode versions = fields.putArray("versions");ObjectNode versions0 = versions.addObject();{versions0.put("id", "10000");}}ObjectNode update = payload.putObject("update");{ArrayNode worklog = update.putArray("worklog");ObjectNode worklog0 = worklog.addObject();{ObjectNode add = worklog0.putObject("add");{add.put("started", "2019-07-05T11:05:00.000+0000");add.put("timeSpent", "60m");}}}
}// Connect Jackson ObjectMapper to Unirest
Unirest.setObjectMapper(new ObjectMapper() {private com.fasterxml.jackson.databind.ObjectMapper jacksonObjectMapper= new com.fasterxml.jackson.databind.ObjectMapper();public <T> T readValue(String value, Class<T> valueType) {try {return jacksonObjectMapper.readValue(value, valueType);} catch (IOException e) {throw new RuntimeException(e);}}//这里可以打印自己请求的jsonpublic String writeValue(Object value) {try {return jacksonObjectMapper.writeValueAsString(value);} catch (JsonProcessingException e) {throw new RuntimeException(e);}}
});// This code sample uses the 'Unirest' library:
// http://unirest.io/java.html
HttpResponse<JsonNode> response = Unirest.post("https://your-domain.atlassian.net/rest/api/2/issue").basicAuth("email@example.com", "<api_token>").header("Accept", "application/json").header("Content-Type", "application/json").body(payload).asJson();System.out.println(response.getBody());
这里可以打印自己发送的json脚本
//这里可以打印自己请求的jsonpublic String writeValue(Object value) {System.out.println("writeValue=====" + value);try {return jacksonObjectMapper.writeValueAsString(value);} catch (JsonProcessingException e) {throw new RuntimeException(e);}}
在这里给自己做个笔记
相关文章:
jira创建条目rest实用脚本
最近在搞crash崩溃分析,直接把解析到的信息录入jira系统进行跟踪; 经历了多次碰壁后终于调通,现记录一下 实用json请求脚本如下: {"fields":{"project":{"id":"10945"},"issuety…...
红外/可见光图像配准融合
红外/可见光图像配准融合 根据文献【1】,对于平行光轴的红外可见光双目配置进行图像配准,主要的限制是图像配准只是对特定的目标距离(Dtarget)有效。并排配置的配准误差 δx(以像素表示)的数学表达式为&…...
更高效稳定 | 基于ACM32 MCU的编程直流电源应用方案
随着电子设备的多样化发展,面对不同的应用场景,需要采用特定的供电电源。因此,在电子产品的开发测试过程中,必不可少使用编程直流电源来提供测试电压,协助完成初步的开发测试过程。 编程直流电源概述 编程直流电源结构…...
postgresql创建一个只读账户指定数据库
要在 PostgreSQL 中创建一个只读账户,您可以按照以下步骤进行操作: 1. **登录到 PostgreSQL:** 使用具有足够权限的管理员账户(通常是 "postgres" 用户)连接到 PostgreSQL 数据库。 2. **创建只读账户&…...
CSDN编程题-每日一练(2023-08-25)
CSDN编程题-每日一练(2023-08-25) 一、题目名称:影分身二、题目名称:小鱼的航程(改进版)三、题目名称:排查网络故障 一、题目名称:影分身 时间限制:1000ms内存限制:256M 题目描述&am…...
前端面试:【前端工程化】构建工具Webpack、Parcel和Rollup
嗨,亲爱的前端开发者!在现代Web开发中,前端工程化变得愈发重要。构建工具如Webpack、Parcel和Rollup帮助我们自动化任务、管理依赖、优化性能等。本文将深入探讨这三个前端构建工具,帮助你了解它们的优点和用途。 1. Webpack&…...
大型企业是否有必要进行数字化转型?
在数字化、信息化、智能化蓬勃发展的今天,初创公司可以很轻易的布局规划数字化发展的路径。而对于大型企业而言,其已经形成了较为成熟稳固的业务及组织架构,是否还有必要根据自身行业发展特点寻求数字化转型?(比如制造…...
05有监督学习——神经网络
线性模型 给定n维输入: x [ x 1 , x 1 , … , x n ] T x {[{x_1},{x_1}, \ldots ,{x_n}]^T} x[x1,x1,…,xn]T 线性模型有一个n维权重和一个标量偏差: w [ w 1 , w 1 , … , w n ] T , b w {[{w_1},{w_1}, \ldots ,{w_n}]^T},b w[w1,w1,…,wn]T,b 输…...
JavaWeb_LeadNews_Day7-ElasticSearch, Mongodb
JavaWeb_LeadNews_Day7-ElasticSearch, Mongodb elasticsearch安装配置 app文章搜索创建索引库app文章搜索思路分析具体实现 新增文章创建索引思路分析具体实现 MongoDB安装配置SpringBoot集成MongoDB app文章搜索记录保存搜索记录思路分析具体实现 查询搜索历史删除搜索历史 搜…...
redux中间件理解,常见的中间件,实现原理。
文章目录 一、Redux中间件介绍1、什么是Redux中间件2、使用redux中间件 一、Redux中间件介绍 1、什么是Redux中间件 redux 提供了类似后端 Express 的中间件概念,本质的目的是提供第三方插件的模式,自定义拦截 action -> reducer 的过程。变为 actio…...
麒麟系统上安装 MySQL 8.0.24
我介绍一下在麒麟系统上安装 MySQL 8.0.24 的详细步骤,前提是您已经下载了 mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz 安装包。其实安装很简单,但是有坑,而且问题非常严重!由于麒麟系统相关文章博客较少,导致遇到了…...
vue 展开和收起
效果图 代码块 <div><span v-for"(item,index) in showHandleList" :key"item.index"><span>{{item.emailFrom}}</span></span><span v-if"this.list.length > 4" click"showAll !showAll">{…...
限制立方样条(RCS)中的P for overall和P for nonlinear的计算
最近不少人私信我,说有些SCI文章报了两个P值一个是P for overall,一个是P for nonlinear,就像下图这样,问我P for overall怎么计算。 P for overall我也不清楚是什么,有些博主说这个是总效应的P值,但是我没有找到相关出处。但是怎…...
vue3+ts引入echarts并实现自动缩放
第一种写法(不支持随页面大小变化而缩放) 统一的HTML页面 <div class"content_box" ref"barChart" id"content_box"></div>TS语法 <script setup lang"ts">import * as echarts from echar…...
Compressor For Mac强大视频编辑工具 v4.6.5中文版
Compressor for Mac是苹果公司推出的一款视频压缩工具,可以将高清视频、4K视频、甚至是8K视频压缩成适合网络传输或存储的小文件。Compressor支持多种视频格式,包括H.264、HEVC、ProRes和AVC-Intra等,用户可以根据需要选择不同的压缩格式。 …...
maven工程的目录结构
https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html maven工程的目录结构: 在maven工程的根目录下面,是pom.xml文件。此外,还有README.txt、LICENSE.txt等文本文件,便于用户能够…...
5.1 webrtc线程模型
那从今天开始呢?我们来了解一下y8 tc线程相关的内容,那在开始之前呢?我们先来看一下,我们本章都要讲解哪些知识? 那第一个呢?是线程的基础知识,这块内容呢?主要是为大家做一下回顾&a…...
【Linux网络】Cookie和session的关系
目录 一、Cookie 和 session 共同之处 二、Cookie 和 session 区别 2.1、cookie 2.2、session 三、cookie的工作原理 四、session的工作原理 一、Cookie 和 session 共同之处 Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式。 二、Cookie 和 session 区别 2.…...
android 硬编码保存mp4
目录 java imagereader编码保存 java NV21toYUV420SemiPlanar 编码保存视频用: imageReader获取nv21 代码来自博客: 【Android Camera2】彻底弄清图像数据YUV420_888转NV21问题/良心教学/避坑必读!_yuv420888转nv21_奔跑的鲁班七号的博客-CSDN博客 …...
gitlab合并分支
我的分支为 cheng 第一步: 增加新的代码 第二步:提交并推送 第三步:打开gitlab,找到对应项目 这样就成功把cheng分支合并到dev-test分支了...
Anthropic收购Stainless:AI Agent时代的连接革命
Anthropic收购Stainless:AI Agent时代的连接革命 1. 引言:从“回答”到“行动”的AI范式转移 1.1 收购概况:Anthropic于2026年5月宣布收购Stainless 2026年5月,AI领域迎来了一项颇具深意的收购案:Anthropic正式宣布收购…...
从零到一:vue-print-nb插件在Vue项目中的实战打印方案
1. 为什么选择vue-print-nb插件 在Vue项目中实现打印功能,开发者通常会面临多种选择。传统的window.print()方法虽然简单,但存在明显的局限性:无法精确控制打印区域、难以自定义打印样式、对移动端支持不佳等。这时候,一个专门为V…...
RT-Thread Smart用户态开发:基于xmake的嵌入式高性能应用构建实践
1. 项目概述与核心价值最近在嵌入式圈子里,和几位做工业网关和智能设备的朋友聊天,大家普遍有个痛点:项目从单片机往更高性能的处理器(比如Cortex-A系列)迁移时,开发体验有点“开倒车”。在资源受限的单片机…...
告别FTP!用Go写的Filebrowser,一个命令搞定Windows/Linux跨平台文件管理
告别FTP!用Go语言构建的Filebrowser,一条命令实现全平台文件管理革命 在服务器管理和跨平台文件共享的日常工作中,传统FTP工具早已显露出诸多不便:复杂的客户端配置、不直观的界面操作、安全隐患频发。而现代开发者需要的…...
ComfyUI Portrait Master中文版:终极AI肖像提示词生成指南
ComfyUI Portrait Master中文版:终极AI肖像提示词生成指南 【免费下载链接】comfyui-portrait-master-zh-cn 肖像大师 中文版 comfyui-portrait-master 项目地址: https://gitcode.com/gh_mirrors/co/comfyui-portrait-master-zh-cn ComfyUI Portrait Master…...
Perplexity不是越低越好!资深NLP架构师亲授:3类典型查询场景下的阈值黄金区间
更多请点击: https://kaifayun.com 第一章:Perplexity不是越低越好!资深NLP架构师亲授:3类典型查询场景下的阈值黄金区间 Perplexity(困惑度)常被误认为语言模型性能的“万能标尺”,但实际部署…...
求职路上的守护与成长
你有没有过这样的时刻——深夜对着海量的招聘信息发呆,投了无数简历却石沉大海,突然觉得前途一片迷茫,特别无助?记得有个学生,为了进心仪的央企准备了半年,却在二面屡屡受挫。那天老师陪他复盘到凌晨&#…...
枚举进阶:从常量集合到业务逻辑承载者的实战扩展技巧
1. 项目概述:从“能用”到“好用”的枚举进阶之路在软件开发中,枚举(Enum)是我们再熟悉不过的基础工具了。它把一组有限的、具名的常量组织在一起,让代码意图更清晰,避免“魔法数字”满天飞。但不知道你有没…...
几十人团队跨部门共享大文件难?企业网盘选型必须知道的 3 个标准(含 5 款网盘实测)
企业 IT 和财务在做工具选型时,常常把网盘的“投资回报率(ROI)”简单等同于“多少钱买多少 GB 的存储空间”。但对于一个几十人的活跃团队来说,每天跨部门大文件传输引发的网络拥堵、向外部客户分享资料时的漫长等待与沟通摩擦&am…...
RK3588 LGA核心板:高性能嵌入式开发的模块化解决方案
1. 项目概述:当旗舰SoC遇见极致封装最近在嵌入式圈子里,一个“小而强”的组合引起了我的注意:瑞芯微的旗舰级SoC RK3588,被塞进了一个极其紧凑的LGA封装里,做成了名为SOM-3588-LGA的核心板,并且已经现货发售…...
