Авторизуйтесь на jira soap api - PullRequest
       30

Авторизуйтесь на jira soap api

5 голосов
/ 09 января 2012

Я пытаюсь использовать jira soap api на c #:

  1. создать новый проект в VS2010
  2. добавить ссылку на веб-сервис (JiraTest): http://jira.atlassian.com/rpc/soap/jirasoapservice-v2?wsdl
  3. написать следующий код:

    static void Main(string[] args)
    {
        var jiraLogin = "soaptester";
        var jiraPassword = "soaptester";
        var jiraClient = new JiraTest.JiraSoapServiceClient();
        var projects = jiraClient.getProjects();
    }
    

Но этот код выдает исключение, что я еще не аутентифицирован. Я пытаюсь найти метод login, но он имеет следующую подпись:

public void login();

Где нет логина и пароля, параметры. Когда я использую этот код метода входа в систему, исключаю, что логин или пароль неверны. И я не знаю, где я должен установить свои учетные данные.

Как мне войти в систему с помощью jira soap api до вызова необходимого метода?

Добавлено: см. https://developer.atlassian.com/display/JIRADEV/Creating+a+JIRA+SOAP+Client

Ответы [ 3 ]

6 голосов
/ 16 ноября 2012

У меня была такая же проблема, и я нашел ответ.Вы должны добавить его в качестве веб-ссылки.Он будет вводить параметры, но по мере их появления в WSDL логин (строковое имя пользователя, строковый пароль) становится логином (строковая in0, строковая in1), но, по крайней мере, его можно использовать.

Итак, шаги:

  • Щелкните правой кнопкой мыши Project и выберите «Add Service References ...» (как и прежде)
  • Нажмите «Advanced ...» в левом нижнем углу диалогового окна
  • Нажмите«Добавить веб-ссылку ...» в левом нижнем углу диалогового окна
  • Введите URL-адрес WSDL в поле URL, например, * https://jira.atlassian.com/rpc/soap/jirasoapservice-v2?WSDL"
  • Нажмите зеленую стрелку перехода
  • ИмяВаша ссылка в названии веб-ссылки: box
  • Нажмите «Добавить ссылку»
3 голосов
/ 09 января 2012

Вы можете попробовать это

    JiraSoapServiceService jiraSoapService = new JiraSoapServiceService();

    public string Login(string user, string pwd)
    {
        string result = string.Empty;

        result = jiraSoapService.login(user, pwd);

        return result;

    }


    public void Logout(string token)
    {
        jiraSoapService.logout(token);
    }
0 голосов
/ 13 марта 2014

Я оказался в той же ситуации, но не смог воспользоваться решением «Служба веб-службы», так как мне нужно было управлять конфигурацией привязки (sendTimeout, maxReceivedMessageSize и т. Д.).

Вы можете решить эту проблему, вручную создав прокси JIRA WCF через svcutil.exe. Например:

 1. Run svcutil.exe http://myhostname/rpc/soap/jirasoapservice-v2?wsdl /n:*,mynamespace
 2. Copy output source file to your project
 3. Copy configuration (output.config) to your app.config.
...