В соответствии с их набором тестов:
JIRA::Resource::Issue.new(client, attrs: {
'id' => '123',
'fields' => {
'reporter' => { 'foo' => 'bar' },
'assignee' => { 'foo' => 'bar' },
'project' => { 'foo' => 'bar' },
'priority' => { 'foo' => 'bar' },
'issuetype' => { 'foo' => 'bar' },
'status' => { 'foo' => 'bar' },
'components' => [{ 'foo' => 'bar' }, { 'baz' => 'flum' }],
'versions' => [{ 'foo' => 'bar' }, { 'baz' => 'flum' }],
'comment' => { 'comments' => [{ 'foo' => 'bar' }, { 'baz' => 'flum' }] },
'attachment' => [{ 'foo' => 'bar' }, { 'baz' => 'flum' }],
'worklog' => { 'worklogs' => [{ 'foo' => 'bar' }, { 'baz' => 'flum' }] }
}
})
end
Это означает, что вы должны иметь возможность написать:
issue = client.Issue.build
issue.save({"fields"=>{"reporter"=> {"username" => "reporter"},"summary" => {"Crazy froggy"}}
Я предполагаю, что "username" является подходящим ключом здесь - но если они вызывают это в spe c, то вы должны быть в состоянии вызвать это в своем коде.
Теперь проблема может заключаться в том, что «репортер» не t действительный пользователь в Jira - потому что его тесты spe c:
it 'has the correct relationships' do
expect(subject).to have_one(:reporter, JIRA::Resource::User)
expect(subject.reporter.foo).to eq('bar')
Строка expect(subject).to have_one(:reporter, JIRA::Resource::User)
предполагает, что значение 'reporter' должно быть действительным экземпляром JIRA :: Resource :: User что говорит мне, что вы не можете установить это поле на то, что вы хотите. Я думаю, что JIRA взимает плату в зависимости от того, сколько аккаунтов у вас есть для вашего экземпляра JIRA? Таким образом, у каждого пользователя будет отдельная лицензия.
Я делаю здесь много догадок - но я думаю, что это означает, что вам нужно заплатить, чтобы лицензировать «репортерного» пользователя в JIRA, и тогда вы можете установить его для всех этих проблем.