-
Notifications
You must be signed in to change notification settings - Fork 0
/
add_comments.sh
39 lines (28 loc) · 1.04 KB
/
add_comments.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# CI_PROJECT_ID
HOST=https://gitlab.matsuo.pl
COMMIT_ID=$CI_BUILD_REF
CHECKSTYLE=$(for i in `find -name checkstyle-result.xml`; do cat $i; done | grep "<error " | wc -l)
PMD=$(for i in `find -name pmd.xml`; do cat $i; done | grep "<violation" | wc -l)
FIND_BUGS=$(for i in `find -name findbugsXml.xml`; do cat $i | tr "<" "\n" | grep "^FindBugsSummary" | tr " " "\n" | grep total_bugs | cut -d "'" -f 2; done | awk '{s+=$1} END {print s}')
URL=$HOST/api/v4/projects/$CI_PROJECT_ID/repository/commits/$COMMIT_ID/comments
echo $URL
read -r -d '' NOTE << EOM
# Build result
| Type | Result |
| ----: | ----- |
| **Checkstyle** | $CHECKSTYLE |
| **Pmd** | $PMD |
| **Find Bugs** | $FIND_BUGS |
| **Cobertura** | |
EOM
for i in `cat target/site/cobertura/coverage.xml | grep lines-covered | cut -d " " -f 2- | sed 's/ /\n/g'`
do
TMP=$(echo $i | sed 's/[">]//g' | sed 's/=/ \| /g' | sed 's/^/\| /g' | sed 's/$/ \|/g')
TMP+=$'\n'
NOTE="$NOTE$TMP"
done
curl --data $"note=$NOTE" \
-H "PRIVATE-TOKEN: $USER_PRIVATE_TOKEN" \
-v \
$URL