使用拉力赛节点在讨论中创建ConverationPost
如何在现有用户故事中创建ConverationPost?
我似乎无法正确使用语法:
const create = {
type: 'ConversationPost',
data: {
Text: 'api test comment',
Artifact: '/hierarchicalrequirement/287838839156'
}
};
restApi.create(create)
.then(result => {
console.log(result);
})
.catch(error => {
console.error(error);
})
错误总是:
{ Error: /ConversationPost/create: 401! body=undefined
at generateError (/Users/ts/Sites/node/tests/node_modules/rally/dist/request.js:38:11)
at Request._callback (/Users/ts/Sites/node/tests/node_modules/rally/dist/request.js:114:20)
at Request.self.callback (/Users/ts/Sites/node/tests/node_modules/request/request.js:185:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request.<anonymous> (/Users/ts/Sites/node/tests/node_modules/request/request.js:1161:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at Gunzip.<anonymous> (/Users/ts/Sites/node/tests/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:313:30) errors: [ '/ConversationPost/create: 401! body=undefined' ] }```
当我使用Rally GUI手动创建帖子时查看开发工具时,我在请求正文中看到了这一点:
{
"ConversationPost": {
"Text": "testing",
"Artifact": "/hierarchicalrequirement/287838839156"
}
}
有谁知道如何去做?
编辑:
将request
debug设置为true会在请求中显示此信息,这看起来是正确的:
json:
{ ConversationPost:
{ Text: 'api test comment',
Artifact: '/hierarchicalrequirement/287838839156' } },
gzip: true,
url: '.0/ConversationPost/create',
qs: {},
callback: [Function],
method: 'POST' }
我应该添加401似乎很奇怪,因为我能够查询这个用户故事。
我还注意到来自拉力赛节点模块的请求是一个POST请求,但在我的浏览器中,GUI会执行PUT请求吗?
回答如下:结果证明这是正确的。恼人的小字体是“ALM WSAPI只读”使得Rally在集会中配置API密钥时会忽略第二个设置。
401错误对应于“拒绝访问”,即密钥或密钥权限错误。