aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: c1054a8a14f4b0e0f085d8c4bdbd8a09acab4b98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Bitbucket Pull Request Builder Plugin
================================

This Jenkins plugin builds pull requests from Bitbucket.org and will report the test results.


Prerequisites
================================

- Jenkins 1.509.4 or higher.
- https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

Installation
================================

- Download this plugin from http://doc.densan-labs.net/bitbucket-pullrequest-builder.hpi (Temporary link)
- Go to Jenkins -> Manage Plugins -> Advanced 
- Choose File and select .hpi file above and upload
- Ensure you restart Jenkins


Creating a Job
=================================

- Create a new job
- Select Git SCM
- Add Repository URL as bellow
  - git@bitbucket.org:${repositoryOwner}/${repositoryName}.git
- In Branch Specifier, type as bellow
  - */${sourceBranch}
- Under Build Triggers, check Bitbucket Pull Request Builder
- In Cron, enter crontab for this job.
  - ex: * * * * *
- In Bitbucket BasicAuth Username, write your bitbucket username like jenkins@densan-labs.net
- In Bitbucket BasicAuth Password, write your password
- Write RepositoryOwner
- Write RepositoryName
- Save to preserve your changes

Merge the Pull Request's Source Branch into the Target Branch Before Building
==============================================================================
You may want Jenkins to attempt to merge your PR before doing the build -- this way it will find conflicts for you automatically.
- Follow the steps above in "Creating a Job"
- In the "Source Code Management" > "Git" > "Additional Behaviors" section, click "Add" > "Merge Before Building"
- In "Name of Repository" put "origin" (or, if not using default name, use your remote repository's name. Note: unlike in the main part of the Git Repository config, you cannot leave this item blank for "default".)
- In "Branch to merge to" put "${targetBranch}" 
- Note that as long as you don't push these changes to your remote repository, the merge only happens in your local repository.


If you are merging into your target branch, you might want Jenkins to do a new build of the Pull Request when the target branch changes.
- There is a checkbox that says, "Rebuild if destination branch changes?" which enables this check.


Rerun test builds
====================

If you want to rerun pull request test, write “test this please” comment to your pull request.




Contributing to Bitbucket Pull Request Builder Plugin
================================================

- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.

- Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.

- Fork the project.

- Start a feature/bugfix branch.

- Commit and push until you are happy with your contribution.


Copyright
=============================

Copyright © 2014 S.nishio. 


License
=============================

- BSD License
- See COPYING file