Message ID | 20210222193240.921250-2-crosa@redhat.com |
---|---|
State | New |
Headers | show |
Series | gitlab-pipeline-status script: provide more information on errors | expand |
Hi, On 2/22/21 4:32 PM, Cleber Rosa wrote: > This simply splits out the code that does an HTTP GET so that it > can be used for other API requests. > > Signed-off-by: Cleber Rosa <crosa@redhat.com> > --- > scripts/ci/gitlab-pipeline-status | 17 ++++++++++++----- > 1 file changed, 12 insertions(+), 5 deletions(-) Only fix the "utlity" typo in $SUBJECT: Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> > > diff --git a/scripts/ci/gitlab-pipeline-status b/scripts/ci/gitlab-pipeline-status > index 78e72f6008..0c1e8bd8a7 100755 > --- a/scripts/ci/gitlab-pipeline-status > +++ b/scripts/ci/gitlab-pipeline-status > @@ -48,18 +48,25 @@ def get_local_branch_commit(branch): > return result > > > -def get_pipeline_status(project_id, commit_sha1): > +def get_json_http_response(url): > """ > - Returns the JSON content of the pipeline status API response > + Returns the JSON content of an HTTP GET request to gitlab.com > """ > - url = '/api/v4/projects/{}/pipelines?sha={}'.format(project_id, > - commit_sha1) > connection = http.client.HTTPSConnection('gitlab.com') > connection.request('GET', url=url) > response = connection.getresponse() > if response.code != http.HTTPStatus.OK: > raise CommunicationFailure("Failed to receive a successful response") > - json_response = json.loads(response.read()) > + return json.loads(response.read()) > + > + > +def get_pipeline_status(project_id, commit_sha1): > + """ > + Returns the JSON content of the pipeline status API response > + """ > + url = '/api/v4/projects/{}/pipelines?sha={}'.format(project_id, > + commit_sha1) > + json_response = get_json_http_response(url) > > # As far as I can tell, there should be only one pipeline for the same > # project + commit. If this assumption is false, we can add further
Cleber Rosa <crosa@redhat.com> writes: > This simply splits out the code that does an HTTP GET so that it > can be used for other API requests. > > Signed-off-by: Cleber Rosa <crosa@redhat.com> fix sp as per Wainer, otherwise: Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > scripts/ci/gitlab-pipeline-status | 17 ++++++++++++----- > 1 file changed, 12 insertions(+), 5 deletions(-) > > diff --git a/scripts/ci/gitlab-pipeline-status b/scripts/ci/gitlab-pipeline-status > index 78e72f6008..0c1e8bd8a7 100755 > --- a/scripts/ci/gitlab-pipeline-status > +++ b/scripts/ci/gitlab-pipeline-status > @@ -48,18 +48,25 @@ def get_local_branch_commit(branch): > return result > > > -def get_pipeline_status(project_id, commit_sha1): > +def get_json_http_response(url): > """ > - Returns the JSON content of the pipeline status API response > + Returns the JSON content of an HTTP GET request to gitlab.com > """ > - url = '/api/v4/projects/{}/pipelines?sha={}'.format(project_id, > - commit_sha1) > connection = http.client.HTTPSConnection('gitlab.com') > connection.request('GET', url=url) > response = connection.getresponse() > if response.code != http.HTTPStatus.OK: > raise CommunicationFailure("Failed to receive a successful response") > - json_response = json.loads(response.read()) > + return json.loads(response.read()) > + > + > +def get_pipeline_status(project_id, commit_sha1): > + """ > + Returns the JSON content of the pipeline status API response > + """ > + url = '/api/v4/projects/{}/pipelines?sha={}'.format(project_id, > + commit_sha1) > + json_response = get_json_http_response(url) > > # As far as I can tell, there should be only one pipeline for the same > # project + commit. If this assumption is false, we can add further
diff --git a/scripts/ci/gitlab-pipeline-status b/scripts/ci/gitlab-pipeline-status index 78e72f6008..0c1e8bd8a7 100755 --- a/scripts/ci/gitlab-pipeline-status +++ b/scripts/ci/gitlab-pipeline-status @@ -48,18 +48,25 @@ def get_local_branch_commit(branch): return result -def get_pipeline_status(project_id, commit_sha1): +def get_json_http_response(url): """ - Returns the JSON content of the pipeline status API response + Returns the JSON content of an HTTP GET request to gitlab.com """ - url = '/api/v4/projects/{}/pipelines?sha={}'.format(project_id, - commit_sha1) connection = http.client.HTTPSConnection('gitlab.com') connection.request('GET', url=url) response = connection.getresponse() if response.code != http.HTTPStatus.OK: raise CommunicationFailure("Failed to receive a successful response") - json_response = json.loads(response.read()) + return json.loads(response.read()) + + +def get_pipeline_status(project_id, commit_sha1): + """ + Returns the JSON content of the pipeline status API response + """ + url = '/api/v4/projects/{}/pipelines?sha={}'.format(project_id, + commit_sha1) + json_response = get_json_http_response(url) # As far as I can tell, there should be only one pipeline for the same # project + commit. If this assumption is false, we can add further
This simply splits out the code that does an HTTP GET so that it can be used for other API requests. Signed-off-by: Cleber Rosa <crosa@redhat.com> --- scripts/ci/gitlab-pipeline-status | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-)