@@ -25,6 +25,7 @@ CLASS zcl_abaplint_abapgit_ext_chkrn DEFINITION
2525 id TYPE string ,
2626 url TYPE string ,
2727 summary TYPE string ,
28+ display TYPE string ,
2829 count_shown TYPE i ,
2930 count_total TYPE i ,
3031 END OF ty_check_run.
@@ -41,19 +42,36 @@ CLASS zcl_abaplint_abapgit_ext_chkrn DEFINITION
4142 VALUE (rs_check_run ) TYPE ty_check_run
4243 RAISING
4344 zcx_abapgit_exception.
44-
4545 PROTECTED SECTION .
4646 PRIVATE SECTION .
4747
4848 DATA :
4949 mv_url TYPE string ,
5050 mv_commit TYPE zcl_abaplint_abapgit_ext_exit=>ty_sha1.
5151
52+ METHODS format_summary
53+ IMPORTING
54+ !iv_summary TYPE string
55+ RETURNING
56+ VALUE (rv_summary ) TYPE string .
57+
58+ METHODS format_count
59+ IMPORTING
60+ !iv_summary TYPE string
61+ RETURNING
62+ VALUE (rv_count ) TYPE string .
63+
64+ METHODS format_display
65+ IMPORTING
66+ !iv_summary TYPE string
67+ RETURNING
68+ VALUE (rv_display ) TYPE string .
69+
5270ENDCLASS .
5371
5472
5573
56- CLASS ZCL_ABAPLINT_ABAPGIT_EXT_CHKRN IMPLEMENTATION .
74+ CLASS zcl_abaplint_abapgit_ext_chkrn IMPLEMENTATION .
5775
5876
5977 METHOD constructor .
@@ -62,6 +80,46 @@ CLASS ZCL_ABAPLINT_ABAPGIT_EXT_CHKRN IMPLEMENTATION.
6280 ENDMETHOD .
6381
6482
83+ METHOD format_count .
84+
85+ DATA lv_msg TYPE string ##NEEDED .
86+
87+ SPLIT iv_summary AT space INTO rv_count lv_msg.
88+
89+ ENDMETHOD .
90+
91+
92+ METHOD format_display .
93+
94+ DATA lv_count TYPE string .
95+
96+ rv_display = iv_summary.
97+
98+ " Remove version
99+ REPLACE REGEX ', abaplint.*' IN rv_display WITH '' .
100+
101+ " Get count of normal objects, not dependencies
102+ FIND REGEX '"normal":([0-9]*)' IN rv_display SUBMATCHES lv_count.
103+
104+ REPLACE REGEX '\{.*\}' IN rv_display WITH lv_count.
105+
106+ ENDMETHOD .
107+
108+
109+ METHOD format_summary .
110+
111+ rv_summary = iv_summary.
112+
113+ " Remove link to https://github.com/apps/abaplint/installations/new
114+ REPLACE REGEX ', \[adjust installations\].*' IN rv_summary WITH '' .
115+
116+ REPLACE ALL OCCURRENCES OF '"' IN rv_summary WITH ` ` .
117+ REPLACE ALL OCCURRENCES OF '{' IN rv_summary WITH `` .
118+ REPLACE ALL OCCURRENCES OF '}' IN rv_summary WITH `,` .
119+
120+ ENDMETHOD .
121+
122+
65123 METHOD get .
66124
67125 DATA :
@@ -106,15 +164,13 @@ CLASS ZCL_ABAPLINT_ABAPGIT_EXT_CHKRN IMPLEMENTATION.
106164 zcx_abapgit_exception=>raise( rs_check_run-summary ).
107165 ENDIF .
108166
109- SPLIT rs_check_run-summary AT space INTO lv_count lv_msg.
110- rs_check_run-count_total = lv_count.
111-
112167 REPLACE ALL OCCURRENCES OF
113168 cl_abap_char_utilities=>newline && cl_abap_char_utilities=>newline
114169 IN rs_check_run-summary WITH `, ` .
115170
116- " Remove link to https://github.com/apps/abaplint/installations/new
117- REPLACE REGEX ', \[adjust installations\].*' IN rs_check_run-summary WITH '' .
171+ rs_check_run-count_total = format_count( rs_check_run-summary ).
172+ rs_check_run-display = format_display( rs_check_run-summary ).
173+ rs_check_run-summary = format_summary( rs_check_run-summary ).
118174
119175 EXIT .
120176
0 commit comments