k8s-config/tasks/j7s-onedev-pr-review.yaml

51 lines
1.5 KiB
YAML

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: j7s-onedev-pr-review
namespace: j7s-ci
spec:
params:
- name: tekton-login-secret-name
- name: feedback-url
- name: pr-id
- name: run-name
- name: status
steps:
- image: 192.168.1.128:8443/curl:latest
script: |
#!/usr/bin/env bash
set -e
STATUS=""
case "$(params.status)" in
"Succeeded" | "Completed")
echo "Build was successful!"
STATUS="Sucess! :) "
;;
"Failed" | "None")
STATUS="Error! :( "
;;
esac
# Make a comment on the PR.
echo '{"userId" : 1, "requestId" : 1, "content" : "",
"date" : ""}' > comment.json
cat comment.json | jq ".userId = $TEKTON_USER_ID" | jq . > comment1.json
cat comment1.json | jq ".requestId = $(params.pr-id)" | jq . > comment2.json
cat comment2.json | jq ".date = \"`date +"%Y-%m-%dT%H:%M:%S%:z"`\"" | jq . > comment3.json
cat comment3.json | jq ".content = \"$STATUS Tekton run: $(params.run-name).\"" | jq . > comment4.json
curl -u tekton:$TEKTON_API_KEY \
-H "Content-Type: application/json" \
-d@comment4.json \
$(params.feedback-url)/~api/pull-request-comments
env:
- name: TEKTON_API_KEY
valueFrom:
secretKeyRef:
name: $(params.tekton-login-secret-name)
key: accesstoken
- name: TEKTON_USER_ID
valueFrom:
secretKeyRef:
name: $(params.tekton-login-secret-name)
key: userid