diff mbox series

[1/3] scripts/ci/gitlab-pipeline-status: split utlity function for HTTP GET

Message ID 20210222193240.921250-2-crosa@redhat.com
State New
Headers show
Series gitlab-pipeline-status script: provide more information on errors | expand

Commit Message

Cleber Rosa Feb. 22, 2021, 7:32 p.m. UTC
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(-)

Comments

Wainer dos Santos Moschetta Feb. 23, 2021, 2:38 p.m. UTC | #1
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
Alex Bennée Feb. 23, 2021, 6:09 p.m. UTC | #2
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 mbox series

Patch

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