> For the complete documentation index, see [llms.txt](https://lifeexe-art.gitbook.io/unreal-automation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lifeexe-art.gitbook.io/unreal-automation/plan-video-kursa/lekciya-31.md).

# Лекция 31

## Software

{% embed url="<https://www.java.com/en/download/>" %}

{% embed url="<https://www.python.org/downloads/>" %}

{% embed url="<https://ngrok.com/>" %}

{% embed url="<https://plugins.jenkins.io/ghprb/>" %}

## Docs

{% embed url="<https://lifeexe-art.gitbook.io/unreal-automation/raznoe/kak-ustanovit-peremennuyu-sredy-v-windows>" %}

{% embed url="<https://www.jenkins.io/doc/book/managing/nodes/>" %}

{% embed url="<https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token>" %}

{% embed url="<https://llg.cubic.org/docs/junit/>" %}

{% embed url="<https://www.ibm.com/docs/en/developer-for-zos/14.1.0?topic=formats-junit-xml-format>" %}

{% embed url="<https://docs.github.com/en/developers/webhooks-and-events/webhooks/about-webhooks>" %}

{% embed url="<https://git-scm.com/book/ru/v2/Git-%D0%B8%D0%B7%D0%BD%D1%83%D1%82%D1%80%D0%B8-%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8-%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA>" %}

{% embed url="<https://ss64.com/nt/errorlevel.html>" %}

## Code

Python script that converts unreal json report to jUnit xml:

{% embed url="<https://github.com/life-exe/UnrealTPSGame/blob/master/devops/tests/ue_report_to_junit.py>" %}

Ngrok payload URL for GitHub hook:

```
https://<your personal sha secret>.ngrok.io/ghprbhook/
```

Refspec for GitHub pullrequest builder plugin:

```
+refs/pull/*:refs/remotes/origin/pr/*
```

Branch specifier for GitHub pullrequest builder plugin:

```
${ghprbActualCommit}
```

{% embed url="<https://www.youtube.com/watch?v=U6p-VQZhFcI>" %}
