54
54
import com .cloudbees .jenkins .plugins .bitbucket .server .client .branch .BitbucketServerCommit ;
55
55
import com .cloudbees .jenkins .plugins .bitbucket .server .client .pullrequest .BitbucketServerPullRequest ;
56
56
import com .cloudbees .jenkins .plugins .bitbucket .server .client .pullrequest .BitbucketServerPullRequestCanMerge ;
57
+ import com .cloudbees .jenkins .plugins .bitbucket .server .client .repository .BitbucketPluginWebhook ;
57
58
import com .cloudbees .jenkins .plugins .bitbucket .server .client .repository .BitbucketServerProject ;
58
59
import com .cloudbees .jenkins .plugins .bitbucket .server .client .repository .BitbucketServerRepository ;
59
- import com .cloudbees .jenkins .plugins .bitbucket .server .client .repository .BitbucketServerWebhooks ;
60
- import com .cloudbees .jenkins .plugins .bitbucket .server .client .repository .NativeBitbucketServerWebhook ;
60
+ import com .cloudbees .jenkins .plugins .bitbucket .server .client .repository .BitbucketServerWebhook ;
61
61
import com .damnhandy .uri .template .UriTemplate ;
62
62
import com .damnhandy .uri .template .impl .Operator ;
63
63
import com .fasterxml .jackson .core .JacksonException ;
76
76
import java .lang .reflect .ParameterizedType ;
77
77
import java .nio .charset .StandardCharsets ;
78
78
import java .util .ArrayList ;
79
+ import java .util .Arrays ;
79
80
import java .util .Collections ;
80
81
import java .util .Comparator ;
81
82
import java .util .List ;
@@ -492,7 +493,7 @@ public void postBuildStatus(@NonNull BitbucketBuildStatus status) throws IOExcep
492
493
.set ("repo" , repositoryName )
493
494
.set ("hash" , newStatus .getHash ())
494
495
.expand ();
495
- postRequest (url , JsonParser .toJson (newStatus ));
496
+ postRequest (url , JsonParser .toString (newStatus ));
496
497
}
497
498
498
499
/**
@@ -644,13 +645,14 @@ public BitbucketCommit resolveCommit(@NonNull BitbucketPullRequest pull) throws
644
645
public void registerCommitWebHook (BitbucketWebHook hook ) throws IOException {
645
646
switch (webhookImplementation ) {
646
647
case PLUGIN :
647
- putRequest (
648
+ // API documentation at https://help.moveworkforward.com/BPW/how-to-manage-configurations-using-post-webhooks-f#HowtomanageconfigurationsusingPostWebhooksforBitbucketAPIs?-Createpostwebhook
649
+ postRequest (
648
650
UriTemplate
649
651
.fromTemplate (this .baseURL + WEBHOOK_REPOSITORY_PATH )
650
652
.set ("owner" , getUserCentricOwner ())
651
653
.set ("repo" , repositoryName )
652
654
.expand (),
653
- JsonParser .toJson (hook )
655
+ JsonParser .toString (hook )
654
656
);
655
657
break ;
656
658
@@ -661,7 +663,7 @@ public void registerCommitWebHook(BitbucketWebHook hook) throws IOException {
661
663
.set ("owner" , getUserCentricOwner ())
662
664
.set ("repo" , repositoryName )
663
665
.expand (),
664
- JsonParser .toJson (hook )
666
+ JsonParser .toString (hook )
665
667
);
666
668
break ;
667
669
@@ -675,13 +677,14 @@ public void registerCommitWebHook(BitbucketWebHook hook) throws IOException {
675
677
public void updateCommitWebHook (BitbucketWebHook hook ) throws IOException {
676
678
switch (webhookImplementation ) {
677
679
case PLUGIN :
678
- postRequest (
680
+ // API documentation at https://help.moveworkforward.com/BPW/how-to-manage-configurations-using-post-webhooks-f#HowtomanageconfigurationsusingPostWebhooksforBitbucketAPIs?-UpdateapostwebhookbyID
681
+ putRequest (
679
682
UriTemplate
680
683
.fromTemplate (this .baseURL + WEBHOOK_REPOSITORY_CONFIG_PATH )
681
684
.set ("owner" , getUserCentricOwner ())
682
685
.set ("repo" , repositoryName )
683
686
.set ("id" , hook .getUuid ())
684
- .expand (), JsonParser .toJson (hook )
687
+ .expand (), JsonParser .toString (hook )
685
688
);
686
689
break ;
687
690
@@ -692,7 +695,7 @@ public void updateCommitWebHook(BitbucketWebHook hook) throws IOException {
692
695
.set ("owner" , getUserCentricOwner ())
693
696
.set ("repo" , repositoryName )
694
697
.set ("id" , hook .getUuid ())
695
- .expand (), JsonParser .toJson (hook )
698
+ .expand (), JsonParser .toString (hook )
696
699
);
697
700
break ;
698
701
@@ -743,13 +746,13 @@ public List<? extends BitbucketWebHook> getWebHooks() throws IOException {
743
746
.set ("owner" , getUserCentricOwner ())
744
747
.set ("repo" , repositoryName )
745
748
.expand ();
746
- return getRequestAs (url , BitbucketServerWebhooks .class );
749
+ return Arrays . asList ( getRequestAs (url , BitbucketPluginWebhook [] .class ) );
747
750
case NATIVE :
748
751
UriTemplate uriTemplate = UriTemplate
749
752
.fromTemplate (this .baseURL + API_WEBHOOKS_PATH )
750
753
.set ("owner" , getUserCentricOwner ())
751
754
.set ("repo" , repositoryName );
752
- return getPagedRequest (uriTemplate , NativeBitbucketServerWebhook .class );
755
+ return getPagedRequest (uriTemplate , BitbucketServerWebhook .class );
753
756
}
754
757
755
758
return Collections .emptyList ();
@@ -969,7 +972,7 @@ public Iterable<SCMFile> getDirectoryContent(BitbucketSCMFile directory) throws
969
972
.set ("limit" , 500 );
970
973
String url = template .expand ();
971
974
String response = getRequest (url );
972
- Map <String ,Object > content = JsonParser .mapper . readValue (response , new TypeReference <Map <String ,Object >>(){});
975
+ Map <String , Object > content = JsonParser .toJava (response , new TypeReference <Map <String , Object >>() {});
973
976
Map page = (Map ) content .get ("children" );
974
977
List <Map > values = (List <Map >) page .get ("values" );
975
978
collectFileAndDirectories (directory , values , files );
@@ -979,7 +982,7 @@ public Iterable<SCMFile> getDirectoryContent(BitbucketSCMFile directory) throws
979
982
.set ("start" , start )
980
983
.expand ();
981
984
response = getRequest (url );
982
- content = JsonParser .mapper . readValue (response , new TypeReference <Map <String ,Object >>(){});
985
+ content = JsonParser .toJava (response , new TypeReference <Map <String , Object >>() {});
983
986
page = (Map ) content .get ("children" );
984
987
}
985
988
return files ;
@@ -1059,7 +1062,7 @@ public SCMFile getFile(@NonNull BitbucketSCMFile file) throws IOException {
1059
1062
Type type = Type .OTHER ;
1060
1063
try {
1061
1064
String response = getRequest (url );
1062
- JsonNode typeNode = JsonParser .mapper . readTree (response ).path ("type" );
1065
+ JsonNode typeNode = JsonParser .toJson (response ).path ("type" );
1063
1066
if (!typeNode .isMissingNode () && !typeNode .isNull ()) {
1064
1067
String responseType = typeNode .asText ();
1065
1068
if ("FILE" .equals (responseType )) {
0 commit comments