2019-10-12 21:52:04 +05:30
# frozen_string_literal: true
2015-12-23 02:04:40 +05:30
module JiraServiceHelper
2017-08-17 22:00:37 +05:30
JIRA_URL = " http://jira.example.net " . freeze
JIRA_API = JIRA_URL + " /rest/api/2 "
2015-12-23 02:04:40 +05:30
def jira_service_settings
2019-12-04 20:38:33 +05:30
url = JIRA_URL
username = 'jira-user'
password = 'my-secret-password'
jira_issue_transition_id = '1'
2015-12-23 02:04:40 +05:30
2019-12-04 20:38:33 +05:30
jira_tracker . update (
2020-07-28 23:09:34 +05:30
url : url , username : username , password : password ,
2019-12-04 20:38:33 +05:30
jira_issue_transition_id : jira_issue_transition_id , active : true
)
2015-12-23 02:04:40 +05:30
end
def jira_issue_comments
" { \" startAt \" :0, \" maxResults \" :11, \" total \" :11,
\ " comments \" :[{ \" self \" : \" http://0.0.0.0:4567/rest/api/2/issue/10002/comment/10609 \" ,
\ " id \" : \" 10609 \" , \" author \" :{ \" self \" : \" http://0.0.0.0:4567/rest/api/2/user?username=gitlab \" ,
\ " name \" : \" gitlab \" , \" emailAddress \" : \" gitlab@example.com \" ,
\ " avatarUrls \" :{ \" 16x16 \" : \" http://0.0.0.0:4567/secure/useravatar?size=xsmall&avatarId=10122 \" ,
\ " 24x24 \" : \" http://0.0.0.0:4567/secure/useravatar?size=small&avatarId=10122 \" ,
\ " 32x32 \" : \" http://0.0.0.0:4567/secure/useravatar?size=medium&avatarId=10122 \" ,
\ " 48x48 \" : \" http://0.0.0.0:4567/secure/useravatar?avatarId=10122 \" },
\ " displayName \" : \" GitLab \" , \" active \" :true},
2019-09-30 21:07:59 +05:30
\ " body \" : \" [Administrator|http://localhost:3000/root] mentioned JIRA-1 in Merge request of [gitlab-org/gitlab-test|http://localhost:3000/gitlab-org/gitlab-test/merge_requests/2]. \" ,
2015-12-23 02:04:40 +05:30
\ " updateAuthor \" :{ \" self \" : \" http://0.0.0.0:4567/rest/api/2/user?username=gitlab \" , \" name \" : \" gitlab \" , \" emailAddress \" : \" gitlab@example.com \" ,
\ " avatarUrls \" :{ \" 16x16 \" : \" http://0.0.0.0:4567/secure/useravatar?size=xsmall&avatarId=10122 \" ,
\ " 24x24 \" : \" http://0.0.0.0:4567/secure/useravatar?size=small&avatarId=10122 \" ,
\ " 32x32 \" : \" http://0.0.0.0:4567/secure/useravatar?size=medium&avatarId=10122 \" ,
\ " 48x48 \" : \" http://0.0.0.0:4567/secure/useravatar?avatarId=10122 \" }, \" displayName \" : \" GitLab \" , \" active \" :true},
\ " created \" : \" 2015-02-12T22:47:07.826+0100 \" ,
\ " updated \" : \" 2015-02-12T22:47:07.826+0100 \" },
{ \ " self \" : \" http://0.0.0.0:4567/rest/api/2/issue/10002/comment/10700 \" ,
\ " id \" : \" 10700 \" , \" author \" :{ \" self \" : \" http://0.0.0.0:4567/rest/api/2/user?username=gitlab \" ,
\ " name \" : \" gitlab \" , \" emailAddress \" : \" gitlab@example.com \" ,
\ " avatarUrls \" :{ \" 16x16 \" : \" http://0.0.0.0:4567/secure/useravatar?size=xsmall&avatarId=10122 \" ,
\ " 24x24 \" : \" http://0.0.0.0:4567/secure/useravatar?size=small&avatarId=10122 \" ,
\ " 32x32 \" : \" http://0.0.0.0:4567/secure/useravatar?size=medium&avatarId=10122 \" ,
\ " 48x48 \" : \" http://0.0.0.0:4567/secure/useravatar?avatarId=10122 \" }, \" displayName \" : \" GitLab \" , \" active \" :true},
2019-09-30 21:07:59 +05:30
\ " body \" : \" [Administrator|http://localhost:3000/root] mentioned this issue in [a commit of h5bp/html5-boilerplate|http://localhost:3000/h5bp/html5-boilerplate/commit/2439f77897122fbeee3bfd9bb692d3608848433e]. \" ,
2015-12-23 02:04:40 +05:30
\ " updateAuthor \" :{ \" self \" : \" http://0.0.0.0:4567/rest/api/2/user?username=gitlab \" , \" name \" : \" gitlab \" , \" emailAddress \" : \" gitlab@example.com \" ,
\ " avatarUrls \" :{ \" 16x16 \" : \" http://0.0.0.0:4567/secure/useravatar?size=xsmall&avatarId=10122 \" ,
\ " 24x24 \" : \" http://0.0.0.0:4567/secure/useravatar?size=small&avatarId=10122 \" ,
\ " 32x32 \" : \" http://0.0.0.0:4567/secure/useravatar?size=medium&avatarId=10122 \" ,
\ " 48x48 \" : \" http://0.0.0.0:4567/secure/useravatar?avatarId=10122 \" }, \" displayName \" : \" GitLab \" , \" active \" :true},
\ " created \" : \" 2015-04-01T03:45:55.667+0200 \" ,
\ " updated \" : \" 2015-04-01T03:45:55.667+0200 \"
}
] } "
end
2017-08-17 22:00:37 +05:30
def jira_project_url
2017-09-10 17:25:29 +05:30
JIRA_API + " /project "
2015-12-23 02:04:40 +05:30
end
2017-08-17 22:00:37 +05:30
def jira_api_comment_url ( issue_id )
JIRA_API + " /issue/ #{ issue_id } /comment "
end
def jira_api_remote_link_url ( issue_id )
JIRA_API + " /issue/ #{ issue_id } /remotelink "
end
def jira_api_transition_url ( issue_id )
JIRA_API + " /issue/ #{ issue_id } /transitions "
2015-12-23 02:04:40 +05:30
end
def jira_api_test_url
2017-08-17 22:00:37 +05:30
JIRA_API + " /myself "
end
def jira_issue_url ( issue_id )
JIRA_API + " /issue/ #{ issue_id } "
end
2020-05-24 23:13:21 +05:30
def stub_jira_service_test
WebMock . stub_request ( :get , 'https://jira.example.com/rest/api/2/serverInfo' )
. to_return ( body : { url : 'http://url' } . to_json )
end
2017-08-17 22:00:37 +05:30
def stub_jira_urls ( issue_id )
WebMock . stub_request ( :get , jira_project_url )
WebMock . stub_request ( :get , jira_api_comment_url ( issue_id ) ) . to_return ( body : jira_issue_comments )
WebMock . stub_request ( :get , jira_issue_url ( issue_id ) )
WebMock . stub_request ( :get , jira_api_test_url )
WebMock . stub_request ( :post , jira_api_comment_url ( issue_id ) )
WebMock . stub_request ( :post , jira_api_remote_link_url ( issue_id ) )
WebMock . stub_request ( :post , jira_api_transition_url ( issue_id ) )
2015-12-23 02:04:40 +05:30
end
end