Redmine Rest API: как загрузить страницу вики с вложенным файлом - PullRequest
0 голосов
/ 27 июня 2019

Я написал скрипт, который принимает документ, конвертирует его в строку и отправляет в redmine как вики-страницу.ЭТО РАБОТАЕТ ОТЛИЧНО.

СЕЙЧАС, я пытаюсь прикрепить к нему файл, и вики-страница создается и загружается с ожидаемым текстом, однако файл вложения не отправляется.

И странно то, что я не получаю сообщение о том, что оно не отправляется.На самом деле я получаю ответ 201 для запроса на публикацию файла вложения, что хорошо, но я не вижу прикрепленного файла на вики-странице.

Я также получаю токен, когда я публикую вложение, поэтому яможно использовать его для выполнения запроса PUT как с текстом вики, так и с прикрепленным файлом, так что вы поймете, почему я так запутался.

Я предоставлю свой код в файле.Любая помощь будет принята с благодарностью.


//a path to a txt file in my computer
var filePath = '../attached.txt'

fs.readFile(filePath,"utf8", (err, data) => {
    if (err) { throw err; }
    creatingWikiPage_AttachedFile(data)
    console.log(data)
})

function creatingWikiPage_AttachedFile(file) {

    axios({
        method: 'post',
        url: '<redmine_url>/uploads.json',
        headers: {
            'Content-Type': 'application/octet-stream'
        },
        params: { 'key': '<api_key>' },
        data: file
    })
        .then(function (response) {
            console.log(" POST attached Files--->  ");
            console.log(response)

            axios({
                method: 'put',
                url: '<redmine_url>/projects/Testing/wiki/Wiki.json',
                headers: { 'Content-Type': 'application/json' },
                params: { 'key': '<api_key>' },
                data: {
                    "wiki_page": {
                        "text": "This is a wiki page with images and other files.",
                        "uploads": [
                            { "token": response.data.upload.token, "filename": "attached.txt", "content-type": "text/plain" }
                        ]
                    }
                }
            })
                .then(response => {
                    console.log("Put Document-------->>>>")
                    console.log(response);
                })
                .catch(error => {
                    console.log(error.response)
                })
        })
        .catch(function (error) {
            console.log(error.message)
        })
}

Я ожидаю, что файл будет прикреплен к вики-странице, но создается только вики-страница, а прикрепленный файл отсутствует.

...