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

53 lines
1.3 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.149: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.
cat <<EOF > comment.json
{
"userId": $TEKTON_USER_ID,
"requestId": $(params.pr-id),
"date": "`date +"%Y-%m-%dT%H:%M:%S%:z"`",
"content": "$STATUS Tekton run: $(params.run-name)."
}
EOF
curl -u tekton:$TEKTON_API_KEY \
-H "Content-Type: application/json" \
-d@comment.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