C# 连接/查询Jira
查询jira数据,如果是前端,可以按照如下格式直接访问,获取数据
http://jira.company.com/rest/api/2/search?jql=project = REM AND resolution = Unresolved ORDER BY priority DESC, updated DESC
标红的俩段,第一段是公司/组织的jira地址,第二段是查询参数。
当然,前提是要设置token。
C#连接Jira,网上的参考写的都很乱,基本都是以前弃用的版本方案,自己总结了下
通过NuGet引用:
Atlassian.SDK和Atlassian.SDK.Signed随意一个都行
请求Jira-Issues数据:
- 获取连接实例--以前的版本,是通过Jira jira = new Jira(url, "admin", "password")获取Jira连接实例,现在的版本已经弃用了。
当前通过Jira.CreateRestClient,也可以通过new Jira(new ServiceLocator(), new JiraCredentials(username, password), new JiraRestClientSettings().Cache)获取
而CreateRestClient方法是封装此Jira构造函数然后返回实例。
- 获取Issues--上面提到的查询issue数据,Atlassian提供的dll将“rest/api/2/search”查询API封装了一下。
1 /// <summary> 2 /// 请求Issues 3 /// </summary> 4 /// <param name="jiraUri">公司/组织的Jira地址,如https://jira.huawei.com</param> 5 /// <param name="jqlText"></param> 6 /// <returns></returns> 7 public static async Task<IPagedQueryResult<Issue>> RequestAsync(string jiraUri,string jqlText) 8 { 9 //之前的版本,Atlassian已经弃用 10 // Jira jira = new Jira(url, "admin", "password"); 11 var jiraCvteCom = "https://jira.huawei.com"; 12 var jira = Jira.CreateRestClient(jiraUri, "admin", "password"); 13 var requestText = "project = TestProject AND issuetype = 用户问题 AND status in (新建, 处理中) ORDER BY Rank ASC"; 14 //GetIssuesFromJqlAsync相当于 $"{jiraUri}/rest/api/2/search?jql={requestText}"; 15 var list = await jira.Issues.GetIssuesFromJqlAsync(jqlText, 100); 16 return list; 17 }
注:Atlassian.Net SDK 源码及官网文档: https://bitbucket.org/farmas/atlassian.net-sdk/wiki/Home
JIRA 6.4.12 REST API documentation:https://docs.atlassian.com/jira/REST/latest/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)