@@ -13,15 +13,17 @@ bitbucket_request() {
13
13
# $3: query
14
14
# $4: data
15
15
# $5: url base path
16
- # $6: netrc file (default: $HOME/.netrc)
17
- # $7: HTTP method (default: POST for data, GET without data)
18
- # $8: recursive data for bitbucket paging
16
+ # $6: Skip SSL verification
17
+ # $7: netrc file (default: $HOME/.netrc)
18
+ # $8: HTTP method (default: POST for data, GET without data)
19
+ # $9: recursive data for bitbucket paging
19
20
20
21
local data=" $4 "
21
22
local path=${5:- rest/ api/ 1.0}
22
- local netrc_file=${6:- $HOME / .netrc}
23
- local method=" $7 "
24
- local recursive=${8:- limit=${VALUES_LIMIT} }
23
+ local skip_ssl_verification=${6:- " false" }
24
+ local netrc_file=${7:- $HOME / .netrc}
25
+ local method=" $8 "
26
+ local recursive=${9:- limit=${VALUES_LIMIT} }
25
27
26
28
local request_url=" ${1} /${path} /${2} ?${recursive} &${3} "
27
29
local request_result=$( tmp_file_unique bitbucket-request)
@@ -47,6 +49,10 @@ bitbucket_request() {
47
49
extra_options+=" -X $method "
48
50
fi
49
51
52
+ if [ " $skip_ssl_verification " = " true" ]; then
53
+ extra_options+=" -k"
54
+ fi
55
+
50
56
curl_cmd=" curl -s --netrc-file \" $netrc_file \" $extra_options \" $request_url \" > \" $request_result \" "
51
57
if ! eval $curl_cmd ; then
52
58
log " Bitbucket request $request_url failed"
@@ -60,12 +66,15 @@ bitbucket_request() {
60
66
61
67
if [ " $( jq -r ' .isLastPage' < " $request_result " ) " == " false" ]; then
62
68
local nextPage=$( jq -r ' .nextPageStart' < " $request_result " )
63
- local nextResult=$( bitbucket_request " $1 " " $2 " " $3 " " $4 " " $5 " " $6 " " $7 " " start=${nextPage} &limit=${VALUES_LIMIT} " )
69
+ local nextResult=$( bitbucket_request " $1 " " $2 " " $3 " " $4 " " $5 " " $6 " " $7 " " $8 " " start=${nextPage} &limit=${VALUES_LIMIT} " )
64
70
jq -c ' .values' < " $request_result " | jq -c " . + $nextResult "
65
71
elif [ " $( jq -c ' .values' < " $request_result " ) " != " null" ]; then
66
72
jq -c ' .values' < " $request_result "
67
73
elif [ " $( jq -c ' .errors' < " $request_result " ) " == " null" ]; then
68
74
jq ' .' < " $request_result "
75
+ elif [ " ${request_result/ NoSuchPullRequestException} " = " ${request_result} " ]; then
76
+ printf " ERROR"
77
+ return
69
78
else
70
79
log " Bitbucket request ($request_url ) failed: $( cat $request_result ) "
71
80
exit 1
@@ -81,8 +90,9 @@ bitbucket_pullrequest() {
81
90
# $3: repository id
82
91
# $4: pullrequest id
83
92
# $5: netrc file (default: $HOME/.netrc)
93
+ # $6: skip ssl verification
84
94
log " Retrieving pull request #$4 for $2 /$3 "
85
- bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 " " " " " " " " $5 "
95
+ bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 " " " " " " " " $6 " " $ 5"
86
96
}
87
97
88
98
bitbucket_pullrequest_merge () {
@@ -91,8 +101,9 @@ bitbucket_pullrequest_merge() {
91
101
# $3: repository id
92
102
# $4: pullrequest id
93
103
# $5: netrc file (default: $HOME/.netrc)
104
+ # $6: skip ssl verification
94
105
log " Retrieving pull request merge status #$4 for $2 /$3 "
95
- bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /merge" " " " " " " " $5 "
106
+ bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /merge" " " " " " " " $6 " " $ 5"
96
107
}
97
108
98
109
bitbucket_pullrequest_overview_comments () {
@@ -101,8 +112,10 @@ bitbucket_pullrequest_overview_comments() {
101
112
# $3: repository id
102
113
# $4: pullrequest id
103
114
# $5: netrc file (default: $HOME/.netrc)
115
+ # $6: skip ssl verification
116
+
104
117
log " Retrieving pull request comments #$4 for $2 /$3 "
105
- set -o pipefail; bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /activities" " " " " " " " $5 " | \
118
+ set -o pipefail; bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /activities" " " " " " " " $6 " " $ 5" | \
106
119
jq ' map(select(.action == "COMMENTED" and .commentAction == "ADDED" and .commentAnchor == null)) |
107
120
sort_by(.createdDate) | reverse |
108
121
map({ id: .comment.id, version: .comment.version, text: .comment.text, createdDate: .comment.createdDate })'
@@ -162,9 +175,10 @@ bitbucket_pullrequest_commit_status() {
162
175
# $1: host
163
176
# $2: commit
164
177
# $3: data
165
- # $4: netrc file (default: $HOME/.netrc)
178
+ # $5: netrc file (default: $HOME/.netrc)
179
+ # $6: skip ssl verification
166
180
log " Setting pull request status $2 "
167
- bitbucket_request " $1 " " commits/$2 " " " " $3 " " rest/build-status/1.0" " $5 "
181
+ bitbucket_request " $1 " " commits/$2 " " " " $3 " " rest/build-status/1.0" " $6 " " $ 5"
168
182
}
169
183
170
184
bitbucket_pullrequest_add_comment_status () {
@@ -174,8 +188,9 @@ bitbucket_pullrequest_add_comment_status() {
174
188
# $4: pullrequest id
175
189
# $5: comment
176
190
# $6: netrc file (default: $HOME/.netrc)
191
+ # $7: skip ssl verification
177
192
log " Adding pull request comment for status on #$4 for $2 /$3 "
178
- bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /comments" " " " {\" text\" : \" $5 \" }" " " " $6 "
193
+ bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /comments" " " " {\" text\" : \" $5 \" }" " " " $7 " " $ 6"
179
194
}
180
195
181
196
bitbucket_pullrequest_update_comment_status () {
@@ -187,6 +202,7 @@ bitbucket_pullrequest_update_comment_status() {
187
202
# $6: comment id
188
203
# $7: comment version
189
204
# $8: netrc file (default: $HOME/.netrc)
205
+ # $9: skip ssl verification
190
206
log " Updating pull request comment (id: $6 ) for status on #$4 for $2 /$3 "
191
- bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /comments/$6 " " " " {\" text\" : \" $5 \" , \" version\" : \" $7 \" }" " " " $8 " " PUT"
207
+ bitbucket_request " $1 " " projects/$2 /repos/$3 /pull-requests/$4 /comments/$6 " " " " {\" text\" : \" $5 \" , \" version\" : \" $7 \" }" " " " $9 " " $ 8" " PUT"
192
208
}
0 commit comments