Reviewed-on: #6
No Fuss Computings Git[ea/hub] Event Processing
Documentation for the collection.
TL;DR
| Name | required | Description |
|---|---|---|
| GIT_API_TOKEN | ✅ | API token to access Git[ea/hub] to post PR Review. |
| GIT_API_URL | ✅ | API URL to access Git[ea/hub]. To create random one `echo $(head -c 50 /dev/urandom |
| GIT_INTERNAL_API_URL | ❌ | An internal URL to use in place of the public API URL. i.e. DMZ url. |
| GIT_EVENT_RULEBOOK_TOKEN | ✅ | The token to set for the inbound connection to the container. |
| GIT_EVENT_RULEBOOK_PORT | ❌ | The port to listen for inbound webhooks. Defaults to 5000 |
| ENABLE_DEBUG_LOGGING | ❌ | Turn on playbook debug logging. Defaults to false ⚠️ Doing this will output you auth tokens to the log. |
Steps
- deploy somewhere that git[ea/hub] has access to the container
- ensure vars above are set within the container
- Gor Gitea Go to
Site ADministration -> Integrations-> Webhooks- Add a system webhook
- set the http url to the container ip/dns name. ensure port is specifed. suffic
:<port number> - select
Trigger On -> Workflow Jobs - set
Authorization HeadertoBearer <actual value of GIT_EVENT_RULEBOOK_TOKEN> - click
Update Webhookto save
- you are now GTG and all jobs will get posted to the container for processing.
Setup Parsing of matchers
-
Before any parsing can be done the following must be output with the id of the pull request to enable the problem matcher parsing.
echo "NFC_PROBLEM_MATCHER=${GITHUB_REF_NAME}"; -
Ansible Lint
- before pylint runs, ensure the following commands are executed in your workflow.
echo "NFC_PROBLEM_MATCHER_TYPE=pylint-json";- the output format for pylint is json. i.e.
ansible-lint -f json .
-
Parsing normal GitHub Problem matchers
- Before the job runs, give the matcher a name, no spaces, only letters and can have
-and_
echo "NFC_PROBLEM_MATCHER_TYPE=My-Job-Name";- now run the job that outputs in standrd Github style problem matchers.
- Before the job runs, give the matcher a name, no spaces, only letters and can have
-
Now the user will have a PR reviews done with the contents of the problem matcher(s) as review comments.
Languages
Python
96.9%
Shell
3.1%