JIRA C#SDK连接到JIRA

时间:2017-07-14 11:50:09

标签: c# jira

我正在使用以下位置的Atlassian SDK:https://bitbucket.org/farmas/atlassian.net-sdk

现在,我只是尝试连接到我的JIRA,只是删除一些基本信息,比如我的任务。快速谷歌我发现了以下示例:https://www.codeproject.com/Tips/762516/Connecting-to-Jira-using-Csharp

在上面的链接中,他使用以下行连接到JIRA:

Jira jiraConn = new Jira("http://yourjiraurl.com/", jUserID, jPassword);

但是当我尝试同样的路线时:

 Jira jira = new Jira(url, "admin", "password");

我收到以下错误:

  

无法从'string'转换为'Atlassian.Jira.ServiceLocator'

     

无法从'string'转换为'Atlassian.Jira.JiraCredentials'

     

无法从'string'转换为'Atlassian.Jira.JiraCache'

我环顾四周试图找到一些关于此的文档,但我找不到与3个错误中的任何一个有关的内容或者预期的语法类型。我会更多地调查bitbucket,但我的工作防火墙已将其阻止,原因不明。

有没有人有过打击这些错误的经验?

2 个答案:

答案 0 :(得分:4)

由于Jira的原型是:

Jira(ServiceLocator services, JiraCredentials credentials = null, JiraCache cache = null)

然后你得到的错误是正确的(字符串不是JiraCredentials)。 因此,您需要创建一些凭据,或者您可以使用其他功能:

public static Jira CreateRestClient(string url, string username = null, string password = null, JiraRestClientSettings settings = null)

所以,比如:

Jira jira = Jira.CreateRestClient(url, "admin", "password");

答案 1 :(得分:0)

不是C#...但这是您与Atlassian通信的方式。本示例来自Google表格(只需更改URL和端点)。这些年来,我也通过VBA做了很多工作。似乎最近,必须对用户名/密码进行编码。我不记得以前的版本是这样

function showAtlassian() {
  var html = HtmlService.createHtmlOutputFromFile('atlassianform')
      .setWidth(200)
      .setHeight(200);
  SpreadsheetApp.getUi().showModalDialog(html, 'Atlassian Login');
}

function processAtlassian(myForm) {
  var username = myForm.un;
  var userpw = myForm.pw;
  var myencoded = Utilities.base64Encode(username+":"+userpw);
  var headers = {"Authorization" : "Basic " + myencoded};
  var options = {
      'method': 'get',
      "contentType" : "application/json",
      "headers": headers,
      'muteHttpExceptions': false
    }
var ui = SpreadsheetApp.getUi(); // Same variations.
url = 'https://---your domain---/wiki/rest/api/user/current';
  try {
    var response = UrlFetchApp.fetch(url, options);
    var data = JSON.parse(response)
    var result = ui.alert( 'got valid connection userkey ' + data.userKey );
  } catch(error) {
    var result = ui.alert( 'invalid user or password: url: '+ url +' err: ' + error.toString());
    getatlassian();
  }
}

function getatlassian() {
  var ui = SpreadsheetApp.getUi();
  showAtlassian()
}