C# 链接/查询Jira

查询jira数据,若是是前端,能够按照以下格式直接访问,获取数据前端

http://jira.company.com/rest/api/2/search?jql=project = REM AND resolution = Unresolved ORDER BY priority DESC, updated DESC api

标红的俩段,第一段是公司/组织的jira地址,第二段是查询参数。async

固然,前提是要设置token。函数

 

C#链接Jira,网上的参考写的都很乱,基本都是之前弃用的版本方案,本身总结了下url

经过NuGet引用:spa

Atlassian.SDK和Atlassian.SDK.Signed随意一个都行.net

 

请求Jira-Issues数据:rest

  1. 获取链接实例--之前的版本,是经过Jira jira = new Jira(url, "admin", "password")获取Jira链接实例,如今的版本已经弃用了。

    当前经过Jira.CreateRestClient,也能够经过new Jira(new ServiceLocator(), new JiraCredentials(username, password), new JiraRestClientSettings().Cache)获取code

    而CreateRestClient方法是封装此Jira构造函数而后返回实例。blog

  2. 获取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 jira = Jira.CreateRestClient(jiraUri, "admin", "password");
12             //GetIssuesFromJqlAsync至关于 $"{jiraUri}/rest/api/2/search?jql={requestText}";
13             var list = await jira.Issues.GetIssuesFromJqlAsync(jqlText, 100);
14             return list;
15         }
1     private async void RequestJiraData()
2     {
3         var requestText = "project = TestProject AND issuetype = 用户问题 AND status in (新建, 处理中) ORDER BY Rank ASC";
4         var jiraCvteCom = "https://jira.huawei.com";
5         var issues = await JiraConnectionHelper.RequestAsync(jiraCvteCom, requestText);
6         Issues = issues.ToList();
7     }

 

注:Atlassian.Net SDK 源码及官网文档: https://bitbucket.org/farmas/atlassian.net-sdk/wiki/Home

相关文章
相关标签/搜索