Skip to content

Commit 5e6b956

Browse files
author
Antonio Mansilla
authored
Merge branch 'master' into JENKINS-49902-fix-extract-bitbucket-repository-name-from-repo-URI
2 parents 43a84d7 + 3828bc4 commit 5e6b956

File tree

7 files changed

+55
-12
lines changed

7 files changed

+55
-12
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
/target/
22
*.iml
3+
.idea/

Jenkinsfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!groovy
2+
3+
buildPlugin()
4+

README.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,42 +100,54 @@ If `buildKey` and `buildName` parameters are not provided, a standard name will
100100
bitbucketStatusNotify(
101101
buildState: 'INPROGRESS',
102102
buildKey: 'build',
103-
buildName: 'Build'
103+
buildName: 'Build',
104+
repoSlug: 'my-awesome-project',
105+
commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'
104106
)
105107
try {
106108
myBuildFunction()
107109
bitbucketStatusNotify(
108110
buildState: 'SUCCESSFUL',
109111
buildKey: 'build',
110-
buildName: 'Build'
112+
buildName: 'Build',
113+
repoSlug: 'my-awesome-project',
114+
commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'
111115
)
112116
} catch(Exception e) {
113117
bitbucketStatusNotify(
114118
buildState: 'FAILED',
115119
buildKey: 'build',
116120
buildName: 'Build',
117-
buildDescription: 'Something went wrong with build!'
121+
buildDescription: 'Something went wrong with build!',
122+
repoSlug: 'my-awesome-project',
123+
commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'
118124
)
119125
}
120126
stage 'Test'
121127
bitbucketStatusNotify(
122128
buildState: 'INPROGRESS',
123129
buildKey: 'test',
124-
buildName: 'Test'
130+
buildName: 'Test',
131+
repoSlug: 'my-awesome-project',
132+
commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'
125133
)
126134
try {
127135
myTestFunction()
128136
bitbucketStatusNotify(
129137
buildState: 'SUCCESSFUL',
130138
buildKey: 'test',
131-
buildName: 'Test'
139+
buildName: 'Test',
140+
repoSlug: 'my-awesome-project',
141+
commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'
132142
)
133143
} catch(Exception e) {
134144
bitbucketStatusNotify(
135145
buildState: 'FAILED',
136146
buildKey: 'test',
137147
buildName: 'Test',
138-
buildDescription: 'Something went wrong with tests!'
148+
buildDescription: 'Something went wrong with tests!',
149+
repoSlug: 'my-awesome-project',
150+
commitId: 'a83c709e9d514421ef614ef0a1117366c84c6304'
139151
)
140152
}
141153
...
@@ -151,6 +163,10 @@ Parameter:
151163
| `buildKey` | String | yes | The unique key identifying the current build phase
152164
| `buildName` | String | yes | The build phase's name shown on BitBucket
153165
| `buildDescription` | String | yes | The build phase's description shown on BitBucket
166+
| `repoSlug`| String | yes | The slug of the bitbucket repository to send the notification to
167+
| `commitId` | String | yes | The id of the commit to attach the status notification to
168+
169+
Note that the `repoSlug` and `commitId` parameters work only when they are both specified.
154170

155171
## Contributions
156172

@@ -175,6 +191,6 @@ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEM
175191
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
176192
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
177193

178-
[jenkins-builds]: https://jenkins.ci.cloudbees.com/job/plugins/job/bitbucket-build-status-notifier-plugin/
179-
[jenkins-status]: https://jenkins.ci.cloudbees.com/buildStatus/icon?job=plugins/bitbucket-build-status-notifier-plugin
194+
[jenkins-builds]: https://ci.jenkins.io/job/plugins/job/bitbucket-build-status-notifier-plugin/job/master
195+
[jenkins-status]: https://ci.jenkins.io/buildStatus/icon?job=plugins/bitbucket-build-status-notifier-plugin/master
180196
[how-to-submit-issue]: https://wiki.jenkins-ci.org/display/JENKINS/How+to+report+an+issue

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<groupId>org.jenkins-ci.plugins</groupId>
1414
<artifactId>bitbucket-build-status-notifier</artifactId>
15-
<version>1.3.4-SNAPSHOT</version>
15+
<version>1.4.1-SNAPSHOT</version>
1616
<packaging>hpi</packaging>
1717

1818
<properties>

src/main/java/org/jenkinsci/plugins/bitbucket/BitbucketBuildStatusHelper.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,12 @@ private static String guessBitbucketBuildState(final Result result) {
225225

226226
public static void notifyBuildStatus(UsernamePasswordCredentials credentials, boolean overrideLatestBuild,
227227
final Run<?, ?> build, final TaskListener listener) throws Exception {
228-
notifyBuildStatus(credentials, overrideLatestBuild, build, listener, createBitbucketBuildStatusFromBuild(build, overrideLatestBuild));
228+
notifyBuildStatus(credentials, overrideLatestBuild, build, listener, createBitbucketBuildStatusFromBuild(build, overrideLatestBuild), null, null);
229229
}
230230

231231
public static void notifyBuildStatus(UsernamePasswordCredentials credentials, boolean overrideLatestBuild,
232232
final Run<?, ?> build, final TaskListener listener,
233-
BitbucketBuildStatus buildStatus) throws Exception {
233+
BitbucketBuildStatus buildStatus, String repoSlug, String commitId) throws Exception {
234234

235235
List<BitbucketBuildStatusResource> buildStatusResources = createBuildStatusResources(build);
236236

@@ -253,6 +253,10 @@ public static void notifyBuildStatus(UsernamePasswordCredentials credentials, bo
253253
}
254254
}
255255

256+
if(repoSlug != null && commitId != null) {
257+
buildStatusResource = new BitbucketBuildStatusResource(buildStatusResource.getOwner(), repoSlug, commitId);
258+
}
259+
256260
sendBuildStatusNotification(credentials, build, buildStatusResource, buildStatus, listener);
257261
}
258262
}

src/main/java/org/jenkinsci/plugins/bitbucket/BitbucketBuildStatusNotifier.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ public boolean prebuild(AbstractBuild<?, ?> build, BuildListener listener) {
105105
}
106106
logger.info("Bitbucket notify on start");
107107

108+
108109
try {
109110
BitbucketBuildStatusHelper.notifyBuildStatus(this.getCredentials(build), this.getOverrideLatestBuild(), build, listener);
110111
} catch (Exception e) {

src/main/java/org/jenkinsci/plugins/bitbucket/BitbucketBuildStatusNotifierStep.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,18 @@ public String getCredentialsId() {
8383
private String buildState;
8484
public String getBuildState() { return this.buildState; }
8585

86+
private String repoSlug;
87+
public String getRepoSlug() { return this.repoSlug; }
88+
@DataBoundSetter public void setRepoSlug(String repoSlug) {
89+
this.repoSlug = repoSlug;
90+
}
91+
92+
private String commitId;
93+
public String getCommitId() { return this.commitId; }
94+
@DataBoundSetter public void setCommitId(String commitId) {
95+
this.commitId = commitId;
96+
}
97+
8698
@DataBoundConstructor
8799
public BitbucketBuildStatusNotifierStep(final String buildState) {
88100
this.credentialsId = credentialsId;
@@ -181,12 +193,17 @@ public Void run() throws Exception {
181193
buildDescription = BitbucketBuildStatusHelper.defaultBitbucketBuildDescriptionFromBuild(build);
182194
}
183195

196+
String commitId = step.getCommitId();
197+
String repoSlug = step.getRepoSlug();
198+
logger.info("Got commit id " + commitId);
199+
logger.info("Got repo slug = " + repoSlug);
200+
184201
String buildUrl = BitbucketBuildStatusHelper.buildUrlFromBuild(build);
185202

186203
BitbucketBuildStatus buildStatus = new BitbucketBuildStatus(buildState, buildKey, buildUrl, buildName,
187204
buildDescription);
188205

189-
BitbucketBuildStatusHelper.notifyBuildStatus(step.getCredentials(build), false, build, taskListener, buildStatus);
206+
BitbucketBuildStatusHelper.notifyBuildStatus(step.getCredentials(build), false, build, taskListener, buildStatus, repoSlug, commitId);
190207

191208
return null;
192209
}

0 commit comments

Comments
 (0)