User Tools

Site Tools


projects:bitbucket:pullrequestplugin

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
projects:bitbucket:pullrequestplugin [2016/04/17 23:58] mkuciaprojects:bitbucket:pullrequestplugin [2016/04/25 22:02] – [Notes] mkucia
Line 1: Line 1:
-====== Bitbucket Server Pull Request Hook Plugin ====== +====== Bitbucket Server Repository Pull Request Hook Plugin ======
-  * [[Atlassian Marketplace]] +
-  * [[Sources]]+
  
-===== TODOs =====+{{ :projects:bitbucket:repopullrequest-pluginlogo.png?nolink|}} 
 + 
 +  * [[https://marketplace.atlassian.com/plugins/com.maciejkucia.atlasbbplugin.repopullrequest/server/overview|Atlassian Marketplace]] 
 +  * [[https://github.com/MaciejKucia/bitbucket-server-repopullrequest|Sources]] 
 + 
 +===== Planned features =====
   * Internationalization   * Internationalization
   * Support for HTTPs   * Support for HTTPs
-  * Test button in the config 
- 
 ===== Introduction ===== ===== Introduction =====
 The plugin provides the following functionality: The plugin provides the following functionality:
Line 31: Line 32:
 ''${all_keys}'' ''${all_keys}''
  
-[IMAGE]+{{:projects:bitbucket:bb_body_json.png?nolink|}}
  
 ==== Authorization ==== ==== Authorization ====
Line 37: Line 38:
 In such case the field will look like: In such case the field will look like:
  
-[IMAGE]+{{:projects:bitbucket:bb_auth_headers.png?nolink|}}
  
 Please visit [[wp>Basic_access_authentication|wikipedia]] to learn how to construct basic auth header. Please visit [[wp>Basic_access_authentication|wikipedia]] to learn how to construct basic auth header.
Line 47: Line 48:
 ===== Example 1 ===== ===== Example 1 =====
   - Create Jenkins job "Bitbucket Capture"   - Create Jenkins job "Bitbucket Capture"
-    - Add String Parameter ALL+    - Add String Parameter ''ALL''
     - Add Token ''BBBUILD'' in ''Build Triggers'' ''Trigger builds remotely (e.g., from scripts)''     - Add Token ''BBBUILD'' in ''Build Triggers'' ''Trigger builds remotely (e.g., from scripts)''
   - Check if the job is working   - Check if the job is working
Line 58: Line 59:
  
  
 +  - Add more String Parameters to the Jenkins job:
 +    - ''ACTION''
 +    - ''PR_ID''
 +    - ''REPO''
 +    - ''PROJECT''
   - Configure Bitbucket Server   - Configure Bitbucket Server
 +    - Ensure that the plugin is installed.
 +    - Enter any repository Settings, then Hooks
 +    - Enable ''Pull Request Hook''
 +    - Enter URL ''http://localhost:8080/buildByToken/buildWithParameters?token=BBBUILD&job=Bitbucket%20Capture&ALL=${all_keys}&ACTION=${action}&PR_ID=${pr_id}&REPO=${repo}&PROJECT=${project}''
 +    - Enable all triggers
 +    - Save
 +
 +{{:projects:bitbucket:bb_example1_4.png?nolink|}}
 +{{:projects:bitbucket:bb_example1_3.png?nolink|}}
 +{{:projects:bitbucket:bb_example1_5.png?nolink|}}
 +
 +  - Test connection
 +    - Create pull request
 +    - Add a comment
 +
 +After that you should notice that a new builds were run. Inspect those builds parameters.
 +
 +{{:projects:bitbucket:bb_example1_2.png?nolink|}}
 +
 +=== Extras ===
  
 Jenkins job ''config.xml'': Jenkins job ''config.xml'':
Line 92: Line 118:
  
  
-===== Example 2 ===== +===== Displaying Log ===== 
-We want to capture the following behaviours: +There is a button in the configuration dialog that leads to a log. Communications are logged per-repository. 
-  * Creation of the new Pull Request +{{:projects:bitbucket:bb_example_viewlogs.png?nolink|}}
-  * Changes to the Pull Request +
-  * New comment+
  
-Captured event will be propagated to [[https://jenkins.io/|Jenkins]] instance.+{{:projects:bitbucket:bb_example_weblog.png?nolink&800|}}
  
-There is only a single URL per repository therefore we will need a relay job to extract necessary variables and call appropriate jobs.+===== Notes ===== 
 +  * Connection time-out is set to 5 seconds 
 +===== Test scenarios =====
  
-1. Configure Jenkins +==== Configuration ==== 
-  * Add Token ''BBBUILD'' +  * Entering incorrect URL 
-  * Add Parameters+    * https:\\123.com 
 +    * 45434.com 
 +    * http:\\ space .com 
 +  * Entering incorrect header data 
 +    * without colon 
 +    * empty lines
  
-2. Configure Bitbucket +==== Core ==== 
-  * Set URL ''localhost''+  * Enable all notification types and check them one-by one 
 +  * Set all possible variables in body and check if it is valid for all notification types 
 +  * Use basic-auth header 
 + 
 +==== Weblog ==== 
 +  * Accessing non-existing log 
 +  * Accessing existing log by admin of other project 
 +  * Accessing log with non-configured plugin for given repository 
 +  * Accessing log when non-existing URL is set in config
  
-===== Notes ===== 
-  * Connection timeout is set to 5 seconds 
projects/bitbucket/pullrequestplugin.txt · Last modified: 2016/04/25 22:08 by mkucia