【问题标题】:How to create remote JIRA Issue with ruby-jira Gem如何使用 ruby​​-jira Gem 创建远程 JIRA 问题
【发布时间】:2013-09-14 12:28:49
【问题描述】:

我正在尝试使用 jira-ruby Gem 与具有 5.x REST API 的远程 JIRA 服务器交互。

访问服务器上的数据效果很好,但我似乎无法远程创建新的 JIRA 问题。 Gem 的文档很少,没有提供示例。

有人可以提供一个工作示例:

  • 如何使用ruby-jira 创建远程 JIRA 问题
  • 如何将文件附加到现有问题

【问题讨论】:

    标签: ruby-on-rails ruby jira jira-rest-api


    【解决方案1】:

    要创建新的 JIRA 问题,请使用:

    代码:

    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 问题。

    使用 ID

    第一个示例通过指定项目 ID 和问题类型 ID 创建问题。 请求

    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"
           }
       }
    }
    

    回应

    响应提供问题 ID、问题密钥和问题 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"
           }
       }
    }
    

    回应

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

    来源:https://developer.atlassian.com/display/JIRADEV/JIRA+REST+APIs

    【讨论】:

    • 您可能需要从 gem 中的 example.rb 取消注释此代码。不知道为什么它在那里评论。
    • 感谢您的详细解答。我的代码看起来非常相似,但由于issue.save,我不断得到false。我发现了问题——我提供的priority id 是一个数字而不是一个字符串。这导致保存被拒绝。
    • 你有关于如何将文件附加到新创建的问题的示例吗?
    • 对不起兄弟..我没有例子..如果我得到一些解决方案。将与您分享。
    • 非常感谢 - 文档非常不清楚 - 代码本身也是如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    相关资源
    最近更新 更多