41 lines
821 B
Markdown
41 lines
821 B
Markdown
|
# GHRepo
|
||
|
|
||
|
|
||
|
|
||
|
## Description
|
||
|
|
||
|
Recruitment task.
|
||
|
REST API application that retrieves a user's repositories and their branches, returning only those that are not forks.
|
||
|
|
||
|
|
||
|
## Build
|
||
|
|
||
|
Needs Java 21 and Gradle 8.5
|
||
|
To build clone and run
|
||
|
```bash
|
||
|
./gradlew build
|
||
|
```
|
||
|
## Usage
|
||
|
|
||
|
Program needs to get request with appropriate header `application/json` to enpoint `/{username}`
|
||
|
For example with curl
|
||
|
```bash
|
||
|
curl -H "Accept: application/json" http://127.0.0.1:8080/materusPL
|
||
|
```
|
||
|
|
||
|
Program will return list of repositories and their branches in format:
|
||
|
```json
|
||
|
[{
|
||
|
"name":"", //Repository name
|
||
|
"owner":"", //Owner name
|
||
|
"branches": [{"name":"", "sha":"" }] //List of branches with their name and last commit sha
|
||
|
}]
|
||
|
```
|
||
|
On error it will return json in format:
|
||
|
```json
|
||
|
{
|
||
|
"message":"",
|
||
|
"status":""
|
||
|
}
|
||
|
```
|