2013-09-10 2 views
1

Я пытаюсь использовать Gem jira-ruby для взаимодействия с удаленным JIRA-сервером с API 5.x REST.Как создать удаленный JIRA-выпуск с ruby-jira Gem

Доступ к данным на сервере работает хорошо, но, похоже, я не могу создать новую проблему JIRA удаленно. Документация Gem минимальна, и примеров нет.

Может кто-нибудь представить рабочий пример на:

  • как создать удаленный JIRA Issue с ​​ruby-jira
  • как прикрепить файл к существующему Issue

ответ

5

Чтобы создать новый JIRA Issue использование:

КОД:

issue = client.Issue.build 
issue.save({"fields"=>{"summary"=>"blarg from in example.rb","project"=>{"id"=>"10001"},"issuetype"=>{"id"=>"3"}}}) 
issue.fetch 
pp issue 

Или

Вы можете попробовать REST API-интерфейсы для создания JIRA Issue.

Использование идентификаторов

Первый пример создает проблему, указав тип идентификатора проекта и идентификатор проблемы. Запрос

curl -D- -u fred:fred -X POST --data {see below} -H "Content-Type: application/json" http://localhost:8090/rest/api/2/issue/ 

данных

Вот JSON:

{ 
    "fields": { 
     "project": 
     { 
      "id": "10110" 
     }, 
     "summary": "No REST for the Wicked.", 
     "description": "Creating of an issue using ids for projects and issue types using the REST API", 
     "issuetype": { 
      "id": "1" 
     } 
    } 
} 

Response

Отклик предоставляет идентификатор проблемы, ключевой вопрос, и URL к вопросу (который затем может использоваться для получения дополнительных данных, обновлений PUT и т. д. с).

{ 
    "id":"39001", 
    "key":"TEST-102", 
    "self":"http://localhost:8090/rest/api/2/issue/TEST-102" 
} 

Использование ключа проекта и имена полей

В качестве альтернативы, вы можете создать проблему, указав имена ключевых проектов и полей. Запрос

curl -D- -u fred:fred -X POST --data {see below} -H "Content-Type: application/json" http://localhost:8090/rest/api/2/issue/ 

данных

{ 
    "fields": { 
     "project": 
     { 
      "key": "TEST" 
     }, 
     "summary": "REST ye merry gentlemen.", 
     "description": "Creating of an issue using project keys and issue type names using the REST API", 
     "issuetype": { 
      "name": "Bug" 
     } 
    } 
} 

Response

{ 
    "id":"39000", 
    "key":"TEST-101", 
    "self":"http://localhost:8090/rest/api/2/issue/TEST-101" 
} 

Источник: https://developer.atlassian.com/display/JIRADEV/JIRA+REST+APIs

+0

Вы можете раскомментировать этот код фр om example.rb в gem. Не знаю, почему его прокомментировали. – Unknown

+2

Благодарим вас за подробный ответ. Мой код выглядел очень похоже, но я продолжал получать «false» в результате «проблемы.».Я нашел проблему - идентификатор 'priority', который я предоставил, был числом вместо строки. Это привело к тому, что сохранение было отклонено. – Tilo

+0

Awesome .. звучит хорошо. – Unknown

Смежные вопросы