Class: BitBucketProcedure
- Inherits:
-
Object
- Object
- BitBucketProcedure
- Defined in:
- lib/ci_helper/bitbucket_procedure.rb
Constant Summary collapse
- BIT_BUCKET_LOGIN_URL =
'https://bitbucket.org/account/signin/'
Instance Attribute Summary collapse
-
#account ⇒ Object
readonly
Returns the value of attribute account.
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#destination ⇒ Object
readonly
Returns the value of attribute destination.
-
#password ⇒ Object
readonly
Returns the value of attribute password.
-
#pull_request_page ⇒ Object
readonly
Returns the value of attribute pull_request_page.
-
#repository_page ⇒ Object
readonly
Returns the value of attribute repository_page.
-
#title ⇒ Object
readonly
Returns the value of attribute title.
-
#user_description ⇒ Object
readonly
Returns the value of attribute user_description.
Instance Method Summary collapse
- #add_destination(destination) ⇒ Object
- #add_pf_title(title) ⇒ Object
- #add_user_description(description) ⇒ Object
- #create_pull_request(result) ⇒ Object
- #go_to_pull_request_page ⇒ Object
- #go_to_repo_page ⇒ Object
-
#initialize(account, password) ⇒ BitBucketProcedure
constructor
A new instance of BitBucketProcedure.
- #login ⇒ Object
Constructor Details
#initialize(account, password) ⇒ BitBucketProcedure
Returns a new instance of BitBucketProcedure.
7 8 9 10 11 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 7 def initialize(account, password) @account = account @password = password @client = Mechanize.new end |
Instance Attribute Details
#account ⇒ Object (readonly)
Returns the value of attribute account.
4 5 6 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4 def account @account end |
#client ⇒ Object (readonly)
Returns the value of attribute client.
4 5 6 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4 def client @client end |
#destination ⇒ Object (readonly)
Returns the value of attribute destination.
4 5 6 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4 def destination @destination end |
#password ⇒ Object (readonly)
Returns the value of attribute password.
4 5 6 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4 def password @password end |
#pull_request_page ⇒ Object (readonly)
Returns the value of attribute pull_request_page.
5 6 7 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 5 def pull_request_page @pull_request_page end |
#repository_page ⇒ Object (readonly)
Returns the value of attribute repository_page.
5 6 7 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 5 def repository_page @repository_page end |
#title ⇒ Object (readonly)
Returns the value of attribute title.
4 5 6 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4 def title @title end |
#user_description ⇒ Object (readonly)
Returns the value of attribute user_description.
4 5 6 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 4 def user_description @user_description end |
Instance Method Details
#add_destination(destination) ⇒ Object
41 42 43 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 41 def add_destination(destination) @destination = destination end |
#add_pf_title(title) ⇒ Object
49 50 51 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 49 def add_pf_title(title) @title = title end |
#add_user_description(description) ⇒ Object
45 46 47 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 45 def add_user_description(description) @user_description = description end |
#create_pull_request(result) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 13 def create_pull_request(result) login go_to_repo_page go_to_pull_request_page create_pull_request_page = pull_request_page.link_with(href: '/vansys/vansys/pull-request/new').click redirect_page = create_pull_request_page.form_with(action: '/vansys/vansys/pull-request/new') do |request_form| request_form.field_with(name: 'title').value = "issue number #{result.issue_number.to_s} auto create pull request " request_form.field_with(name: 'dest')..select { |option| option.text == destination.to_s }.first.select request_form.field_with(name: 'source')..select { |option| option.text == result.branch_name }.first.select description = request_form.field_with(name: 'description') description.value = "1. #{CiHelper::REDMINE_DOMAIN}#{result.issue_number.delete('t')}\n" description.value += "2. #{result.console_link} \n" description.value += "```\n" description.value += "#!ruby \n" result.failures.each do |failure| description.value += "#{failure.to_s}\n" end description.value += "```\n" description.value += user_description end. redirect_page end |
#go_to_pull_request_page ⇒ Object
66 67 68 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 66 def go_to_pull_request_page @pull_request_page = repository_page.link_with(href: '/vansys/vansys/pull-requests').click end |
#go_to_repo_page ⇒ Object
62 63 64 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 62 def go_to_repo_page @repository_page = @response_page.link_with(href: '/vansys/vansys').click end |
#login ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'lib/ci_helper/bitbucket_procedure.rb', line 53 def login login_page = client.get(BIT_BUCKET_LOGIN_URL) @response_page = login_page.form_with(action: '/account/signin/') do |f| f.field_with(name: 'username').value = account f.field_with(name: 'password').value = password end. end |