2

完成 Noob to curl、REST API 和 redmine 卡在一些可能很简单的事情上,但尽管在论坛上拖了很长时间,我还是找不到答案......

我一直在尝试将多个问题批量导入到 Redmine,但没有成功。

我现在正在使用 curl 试验 REST api。我可以单独发布问题,但无法弄清楚如何同时发布许多问题?我认为这是人们进口大量东西以进行redmine的常见问题......

这是我正在使用的 curl 命令:

curl -v -H "Content-Type: application/json" -X POST --data "@test2.json" \
  -u user:password localhost/redmine/issues.json

这是 test2.json 文件:

{
    "issue": {
    "project_id": 9,
    "subject": "TEST5",
    "notes": "foobar",
    "priority_id": 2
    },

    "issue": {
    "project_id": 9,
    "subject": "TEST6",
    "notes": "barfoo",
    "priority_id": 3
    }    
}

目前它只涉及第二个问题......有人可以建议我可能做错了什么或更好的选择吗?

环境

Windows 7 上的 Bitnami Redmine 堆栈

Redmine version                          2.3.0.stable
Ruby version                             1.9.3 (i386-mingw32)
Rails version                            3.2.13
Environment                              production
Database adapter                         Mysql2
4

3 回答 3

3

尝试使用名为requests的 python 模块。它将帮助您打开 URL,以便您可以从 Redmine 发布和获取信息。这是我用来将数据推送到本地 Redmine 服务器的方法。

例如,您可以通过以下格式将用户发布到 Redmine:

username = 'admin'
password = 'admin'
url = 'http://localhost:3000/users.json'

payload = {
        'user': {
            'login': login,
            'password': password,
            'firstname': firstname,
            'lastname': lastname,
            'mail': mail
        }
    }

parameters_json = json.dumps(payload)
headers = {'Content-Type': 'application/json'}
r = requests.post(url, auth=(username, password), data=parameters_json, headers=headers)

因此,不是用户,而是通过以下方式发布问题:localhost:3000/issues.json

并遵循 Redmine 的RESTful API 指南,以便您输入正确的参数。

于 2013-05-08T20:04:27.540 回答
0

我在这里找到了导入外部数据的最简单的解决方案:

http://www.redmine.org/boards/1/topics/37725?r=38232

这允许直接从 csv 导入,这对我来说非常适合!

于 2013-06-10T22:17:20.843 回答
0

我在那里发表了评论,仍然需要记录安装,对于那些不知道作曲家的人。它是一个 CSV 导入器,如果您了解 PHP,您可以在解析器类家族中添加更多输入格式。 https://github.com/juanmf/RedmineIssueImporter

基本上,您将 csv 字段定义为 yml 中的 Issue 字段映射并运行脚本。

于 2013-10-02T15:41:37.870 回答