【问题标题】:JIRA C# SDK Connecting to JIRAJIRA C# SDK 连接到 JIRA
【发布时间】:2017-07-14 11:50:08
【问题描述】:

我在以下位置使用 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");

我收到以下错误:

无法从“字符串”转换为“Atlassian.Jira.ServiceLocator”

无法从“字符串”转换为“Atlassian.Jira.JiraCredentials”

无法从“字符串”转换为“Atlassian.Jira.JiraCache”

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

有人有解决这些错误的经验吗?

【问题讨论】:

  • url的类型是什么?
  • url是var类型
  • 官方页面(你链接的)说要使用Jira.CreateRestClient("http://<your_jira_server>", "<user>", "<password>");(所以在你的情况下:Jira jira = Jira.CreateRestClient(url, "admin", "password");)-我假设codeproject示例已经过时(因为它使用了旧版本的SDK )
  • 有时,在查找文档时,最好的办法是在问题功能上按 F12。这将带你进入类或界面,在那里你的问题可能得到解释。

标签: c# jira


【解决方案1】:

因为 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");

【讨论】:

    【解决方案2】:

    不是 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()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 2022-10-31
      • 1970-01-01
      • 2015-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多