JIRA的外部请求接口REST的基本使用

JIRA实践基础(2):JIRA-Software的Rest API Jira提供了较为完善的RestAPI,这篇文章来看一下Jira-Software所提供的Rest API功能, 并提供curl的方式进行project的确认,并在已经创建的project中创建issue。 事前准备 项目 说明 Jira类型 Jira-Software 安装方式 本地 版本 7.11 Mysql版本 5.7.18... 阅读详情

JIRA是部分公司使用的缺陷管理工具,或者说是流程管理工具,因为也是支持其他流程管理和定制的。且不管它好与不好,主要是在于用的公司是否能用好它的功能。个人觉得jira好的方面就是较大程度的支持扩展,比如:jira插件扩展,REST接口。


JIRA的插件扩展:

基本上所有的功能都支持插件扩展,所以如果你有任何基于jira的需求都可以通过插件来扩展,当然开发插件是有成本的,而且其插件开发环境,插件开发文档,插件调试工具皆不是很友好,为了偶然开发一个功能插件首先得要花2-3天熟悉插件的规范和传入传出数据及规则,觉得不合适。


JIRA的REST接口:

其实这个接口本身也是由一个插件提供的服务,这个插件接收任何对.../rest/路径的请求。所以当我们的请求地址包含这个路径时,其实就调用了rest接口,如果接口调用正确的话自然就会返回正确的结果了。其主要提供的服务就是对jira中的所有信息进行查询、更新、删除等操作,返回的结果都是json形式的字符串。


REST访问:

REST结果的访问格式为:

http://host:port/rest/api-name/api-version/resource-name     如果正常的jira首页地址为http://host:port

http://host:port/context/rest/api-name/api-version/resource-name   如果正常的jira首页地址为http://host:port/context

其中:

apiname只有 'api' and 'auth' 2个值可用,api主要查询issue相关的信息,而auth主要查看权限相关的信息

api-version自然是你要用哪个版本的api了,其实就是当前rest插件的版本,一般不同的jira版本中api版本也不一样,如jira4.4的api版本为:2.0.alpha1

resource-name就是具体要请求那个资源了。如:user,issue,project等,后面还可以跟具体的参数,如:?user=myname

请求样式: http://myhost.com:8080/rest/api/2.0.alpha1/project/JRA 


参考资料及更多学习:

jira4.4REST的API:http://docs.atlassian.com/jira/REST/latest/

jira REST API 指南:https://developer.atlassian.com/display/JIRADEV/JIRA+REST+API+Tutorials


Jira使用 --- Restful Api jira的官方文档,如何封装 阅读详情

相关推荐

JIRA REST API(一)

1.REST插件模块是用来干什么的? REST插件模块将服务和数据实体公开为REST API;REST模块基于JAX-RS,具体来说,它使用了Jersey。 REST API是通过URI路径来访问资源的,插件或脚本发出HTTP请求并解析响应。 请求方法是标准的HTTP方法,如GET,PUT,POST和DELETE;响应格式可以选择XML或JSON。 2.响应格式XML...

koukan3的博客 5115

JIRA-REST APIs 简介

JIRA-REST APIs 简介简介授权与认证URL结构使用REST APIsExpansionPaginationOrderingSelf links特殊请求和响应的报头错误响应域输入格式SummaryDescriptionComponentsDue dateLabelsCheckbox custom FieldDate picker custom fieldData time picker ...

Jason Tang的博客 2908

JiraRestUpdate: 使用 JIRA REST API 更新记录的实践指南

JIRA是一个强大的项目管理工具,广泛应用于软件开发中用于问题追踪和敏捷项目管理。它由Atlassian公司开发,并且已经成为了该领域的行业标准。对于IT专业人员来说,JIRA的使用几乎成了必备技能之一。除了其直观的用户界面和丰富的工作流程管理功能外,JIRA还提供了REST API(Representational State Transfer,代表性状态传输),这使得开发者能够通过HTTP协议以编程方式操作JIRA实例。REST API为自动化和扩展JIRA的功能提供了极大的便利。

weixin_30978239的博客 1123

jira接口(openapi)应用

一、jira 概念介绍 项目(project) 一个jira服务可以给不同团队使用,每个团队可以使用自己的项目,任务、bug等都归属在项目下。 问题(issue) 用户故事、bug、任务、测试用例等都是一个issue,只是issue的类型不同。 字段(fields) 一个issue包含若干字段,系统字段、自定义字段。 系统字段:issuetype(问题类型)、summary(概要)、resolutiondate(解决时间)、status(状态)、components(模块)、assignee(经办人)等 自

chuyouyinghe的专栏 3083

掌握JIRA API:自动化多选字段填充与数据交互

JIRA API 是一个强大的工具,它允许开发者与 JIRA 实例进行交云,实现项目管理自动化、数据收集和流程优化。在深入了解如何操作自定义字段、处理 JSON 数据、集成外部数据源等高级功能之前,我们先来了解 JIRA API 的基础知识和如何进行基本的交互。在JIRA中,多选字段(Multi-Select Field)是一种常见的自定义字段,它允许用户在一个字段中选择多个选项。这种字段类型广泛应用于需要从多个预定义值中选择多个答案的场景,比如多技能集、多类别、多项目参与等。

weixin_35459464的博客 1326

Jira报表生成与管理实战

Jira报表是项目管理的关键工具,它能够为项目团队提供关于项目进展、团队绩效、问题跟踪和资源使用等方面的实时数据。根据不同的业务需求,Jira支持多种报表类型,包括但不限于:Burndown Chart(燃尽图):用于跟踪项目中剩余工作量随时间减少的趋势。Velocity Chart(速率图):展示团队在连续迭代中完成工作项的平均数量。Control Chart(控制图):提供项目中的问题状态和解决时间的统计分析。Pie Chart(饼图)

weixin_33245447的博客 1461

Java调用jira rest api

前几天公司要求将jira创建项目和用户等功能集成到自己的任务管理系统中,记录一下实现过程。 jira接口的外部调用有一个系统自带的插件:Atlassian JIRA - Plugins - REST Plugin,有一系列的rest api接口,由于是系统自带的,所以不需要额外下载。 jira 的api地址:The Jira Cloud platform REST API (atlassian.com) 调用的话推荐使用HttpClient,因为jira rest api的接口包含了put..

weixin_43766234的博客 2736

AS7262六通道可见光传感器:从光谱原理到物联网色彩检测实战

光谱检测是嵌入式感知领域的关键技术,其核心原理是通过特定波长的滤光片分离光线并转换为电信号,从而实现对环境光或物体反射光的成分分析。这项技术的价值在于将复杂的光学分析简化为可编程读取的数字信号,极大降低了色彩检测在物联网和智能设备中的应用门槛。在智能农业、工业分拣、环境监测等场景中,精确的光谱数据能够驱动自动化决策,例如评估植物光照条件或识别物料颜色。本文以Adafruit AS7262传感器为例,深入解析其基于硅干涉滤光片的六通道设计,并通过Arduino与Python实战,演示如何快速构建从数据采集到可

weixin_28738173的博客 597

【亲测免费】 Jira API REST Client 使用教程

Jira API REST Client 使用教程 一、项目目录结构及介绍 本节将概述位于 https://github.com/chobie/jira-api-restclient 的Jira API REST客户端项目的目录结构及其主要组成部分。 jira-api-restclient/ |-- pom.xml // Maven构建配置文件 |-- s...

gitblog_00391的博客 760

RV1126B芯片实战:如何用这款视觉处理器SoC打造你的第一个AI摄像头项目

本文详细介绍了如何利用瑞芯微RV1126B视觉处理器SoC从零构建AI摄像头项目。涵盖硬件选型、开发环境搭建、ISP配置、AI模型部署及系统集成等关键步骤,帮助开发者高效实现边缘计算方案,特别适合智能安防和工业检测应用。

dropout6artist的博客 931

信号转换为图像 时域频域分析

一维信号如何转化为图像?深度学习如何学习 1.当然,直接1d卷积也是可以的。 2. 以信号强度的数值作为纵坐标,以时间为横坐标绘制信号点就可以了。 周霖那个即是 要看看代码是如何做的, 即使是单导联 5000个点,怎么变成50005000的分辨率的 3. 直接把多通道的一维信号合并成二维图像,然后直接按图像卷积的方法去做~~ 2225000这样一个图 ~可以看看语音处理的相关Net,其中比较...

王不留行嘿呦嘿 2万+

jira 此 mysql 实例没有适当配置_你的 Jira 还 hold 得住吗?

在你的组织内部,Atlassian 的使用情况今天看起来可能与当初已经大不相同了。用户数和问题数都在不断增长,组织面临着扩展带来的压力。 如何减少部门间的隔阂促进团队协作?随着使用量的增加,如何保持系统高性能运转?(文末有彩蛋)当你的 JIRA Software 实例从10个用户增加到10,000个用户时,你会怎么做?这正是美国领先的医疗信息技术供应商 Cerner 副总裁 Brian ...

weixin_42302638的博客 1625

拼多多/Temu反爬参数逆向踩坑记:从浏览器调试到补环境完整复盘

本文详细解析了拼多多/Temu反爬参数`anti_content`的逆向工程实战,从浏览器调试到补环境完整复盘。通过JavaScript逆向技术,拆解关键函数定位、反混淆算法还原及补环境技术应用,帮助开发者突破电商平台复杂反爬系统,提升数据采集效率。

weixin_33978722的博客 914

JIRA 开发秘籍(四)

我们在前面的章节中看到了多种方式来增强 JIRA 的功能,但如何从另一个应用程序与 JIRA 通信呢?有哪些不同的方法可以将第三方应用程序集成到 JIRA 中?或者换句话说,JIRA 是如何将其功能暴露给外部世界的?JIRA 通过RESTSOAP或XML/RPC接口暴露其功能。通过这些接口暴露的 JIRA 完整功能有限,但 JIRA 也允许我们扩展这些接口。在本章中,我们将学习如何通过这些接口与 JIRA 通信,并通过开发插件将更多方法添加到这些接口中。本章的重点是 SOAP,同时也会提供其他接口的示例。

龙哥盟 925

Java 处理地理信息数据[DEM TIF文件数据获取高程]

EPSG 是一个国际标准,用于唯一标识地理坐标系和投影坐标系。

两点 1281

1.4 KFD 设备文件的获取与驱动握手协议

本文分析了OpenClose模块中libhsakmt与KFD内核驱动建立通信的过程。首先通过hsaKmtOpenKFD()函数打开/dev/kfd设备文件,建立用户态与内核态的通信通道。随后通过AMDKFD_IOC_GET_VERSION ioctl命令完成版本握手,确认双方的接口兼容性。KFD驱动采用Major.Minor二级版本号体系,当前主要版本为1,从1.1演进到1.19不断添加新功能。整个过程构成了用户态与内核态之间的"建连协议",是所有后续GPU操作的基础前提。

图形/计算GPU的驱动与虚拟化技术分享园地 609

Atlassian JIRA System 扩展

很多公司都会用JIRA这个软件来管理项目,确实是个不错的工具。但是最近经过一番思考,发现任何软件能力范围毕竟是有限的,工具也毕竟是工具,只有量身定做的设计和架构才是最适合的和最能发挥高效的选择。所以开始尝试着对JIRA做一些扩展和集成。目标是能对JIRA里的Project, Issue等信息从外部自己定制的程序中读取,并在必要的时候去操作。JIRA官方提供了多种plugin和扩展的接口,其中以笔者

Ant Ren的专栏 2387

12、认知地图的建模与学习

本博客系统介绍了认知地图的定义、背景及其在机器智能领域的应用,重点探讨了模糊认知地图(FCMs)的建模方法与优势。文章还对比分析了几种主流的认知地图模型(如Axelrod模型、Kosko模型等),并讨论了模型的稳定性条件及实际应用前景。通过智能制造和医疗诊断的具体案例,展示了认知地图在复杂因果推理中的强大能力,并提出了模型优化方向与未来研究展望。

plant的博客 210

JIRA 每日任务自动化指南(二)

在本章中,你已经学会了如何通过发送 Web 请求将外部系统集成到自动化规则中,并且了解了如何使用智能值和智能值函数将自定义数据包含在这些请求中。我们还学会了如何确保我们能够接收到来自外部系统请求的响应,并且如何提取数据以便在后续的规则组件中使用。接下来,我们学习了如何使用自动化规则设置传入的 Web 钩子,监听来自外部系统的请求,并且如何可选地处理请求体中发送的数据,并在后续的规则组件中使用这些数据。正如我们在本章中所看到的,通过使用自动化规则与外部系统集成的能力为你的 Jira 项目开辟了无限可能。

龙哥盟 1627

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

精通 JIRA7 第二版(一)

第一章,规划你的 JIRA 安装,涵盖了如何规划 JIRA 安装,以确保安装的长期性,使其未来能够容纳更多用户和数据。本章还简要讨论了安装和更新过程。第二章,在 JIRA 中搜索,详细解释了如何使用基本搜索功能从 JIRA 中获取数据,并通过编写高级查询使用 JQL。第三章,报告 – 使用图表可视化数据,涵盖了 JIRA 中内置的各种项目报告,以及如何将它们展示在仪表板上。第四章,定制 JIRA 以进行测试管理,说明了如何修改配置以实现新的问题类型,用于测试活动和测试用例。

龙哥盟 1319

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【无标题】JIRA REST API是什么,意义?

JIRA REST API是指JIRA软件提供的一组可以通过HTTP请求进行访问的API,开发人员可以使用这些API来与JIRA进行交互,以便于对其进行自动化管理或者扩展其功能。 通过JIRA REST API,可以对JIRA上的数据进行增删改查,包括用户、问题、工作流等,可以在外部系统中操作JIRA,实现自动化集成。此外,JIRA REST API还可以用于获取有关问题、项目和其他相关数据的报告。 JIRA REST API的意义在于,它允许开发人员在自己的应用程序中使用JIRA的数据,提高工作

y632481222的博客 299

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

选择JIRA的88个理由

作者:Martin Seibert SEIBERT MEDIA 首席执行官。 翻译:韦京 Unlimax(北京安迈无限信息技术咨询有限公司)联合创始人、咨询顾问。Unlimax是Atlassian公司在中国的授权合作伙伴(Atlassian Experts)。 原文地址:http://seibert.biz/jirareasons 作者Martin Seibert 是德国互联网代

Atlassian的专栏 5378

python post请求 415_带有身份验证的requests.post为python中的jira rest api提供错误415 - python...

url = "https://example.com/jira/rest/api/2/issue/issue_key/comment"data = json.dumps({"body": 'some string'})headers = {'content-type':'application/json'}r = requests.post(url, data, auth=('username',...

weixin_39887531的博客 519
上一篇: HTTP协议之multipart/form-data请求分析
下一篇: python之禅学
上帝De助手
上帝De助手 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄19年 1494粉丝 215原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上帝De助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值