Skip to content

Commit 6d63559

Browse files
authored
Merge pull request #1 from wtx-labs/release/1.0.0
Release/1.0.0
2 parents c1187b4 + 774a14c commit 6d63559

File tree

1,136 files changed

+371238
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,136 files changed

+371238
-2
lines changed

.github/settings.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
5+
https://maven.apache.org/xsd/settings-1.0.0.xsd">
6+
<servers>
7+
<server>
8+
<id>github</id>
9+
<username>${env.MAVEN_USERNAME}</username>
10+
<password>${env.MAVEN_PASSWORD}</password>
11+
</server>
12+
<server>
13+
<id>central</id>
14+
<username>${{env.OSSRH_USERNAME_TOKEN }}</username>
15+
<password>${{env.OSSRH_PASSWORD_TOKEN }}</password>
16+
</server>
17+
</servers>
18+
19+
</settings>

.github/workflows/maven-central.yml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: Publish to Maven Central
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
branches:
8+
- 'feature/release-*'
9+
10+
jobs:
11+
publish:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Set up JDK 17
20+
uses: actions/setup-java@v4
21+
with:
22+
java-version: '17'
23+
distribution: 'temurin'
24+
cache: maven
25+
26+
- name: Setup GPG
27+
env:
28+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
29+
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
30+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
31+
run: |
32+
echo "Setting up GPG..."
33+
mkdir -p ~/.gnupg
34+
chmod 700 ~/.gnupg
35+
36+
# Debug: Sprawdź długość klucza
37+
echo "GPG_PRIVATE_KEY length: ${#GPG_PRIVATE_KEY}"
38+
39+
# Debug: Sprawdź początek klucza (bez ujawniania tajemnicy)
40+
echo "GPG_KEYNAME: $GPG_KEYNAME"
41+
echo "GPG_PASSPHRASE length: ${#GPG_PASSPHRASE}"
42+
echo "First 10 chars of GPG_PRIVATE_KEY: ${GPG_PRIVATE_KEY:0:10}"
43+
44+
# Tepporary write key for debug
45+
echo "$GPG_PRIVATE_KEY" > private.tmp
46+
echo "File content (first line): $(head -1 private.tmp)"
47+
48+
# Import key
49+
echo "Importing GPG key..."
50+
gpg --batch --import private.tmp || echo "Import failed!"
51+
rm private.tmp
52+
53+
- name: Configure Maven
54+
run: |
55+
mkdir -p ~/.m2
56+
cat > ~/.m2/settings.xml << EOF
57+
<settings>
58+
<servers>
59+
<server>
60+
<id>central</id>
61+
<username>${{ secrets.OSSRH_USERNAME_TOKEN }}</username>
62+
<password>${{ secrets.OSSRH_PASSWORD_TOKEN }}</password>
63+
</server>
64+
</servers>
65+
<profiles>
66+
<profile>
67+
<id>central</id>
68+
<activation>
69+
<activeByDefault>true</activeByDefault>
70+
</activation>
71+
<properties>
72+
<gpg.executable>gpg</gpg.executable>
73+
<gpg.passphrase>${{ secrets.GPG_PASSPHRASE }}</gpg.passphrase>
74+
</properties>
75+
</profile>
76+
</profiles>
77+
</settings>
78+
EOF
79+
80+
- name: Build and Publish
81+
env:
82+
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME_TOKEN }}
83+
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD_TOKEN }}
84+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
85+
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
86+
run: |
87+
echo "Starting Maven build and deploy..."
88+
mvn clean deploy -P release \
89+
-Dmaven.javadoc.skip=false \
90+
-Dmaven.deploy.skip=false \
91+
-Dgpg.keyname=$GPG_KEYNAME \
92+
-Dgpg.useagent=false \
93+
-Dgpg.passphrase=$GPG_PASSPHRASE \
94+
-Dmaven.test.failure.ignore=false \
95+
-DaltDeploymentRepository=ossrh::default::https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ \
96+
-DrepositoryId=ossrh \
97+
-Dusername=$OSSRH_USERNAME \
98+
-Dpassword=$OSSRH_PASSWORD

.github/workflows/maven.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Build and Publish
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
tags:
7+
- 'v*'
8+
pull_request:
9+
branches: [ main ]
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: write
16+
packages: write
17+
steps:
18+
- uses: actions/checkout@v4
19+
- name: Set up JDK 17
20+
uses: actions/setup-java@v4
21+
with:
22+
java-version: '17'
23+
distribution: 'temurin'
24+
cache: 'maven'
25+
- name: Build
26+
run: mvn clean install -Dmaven.javadoc.skip=true
27+
- name: Create Release
28+
if: startsWith(github.ref, 'refs/tags/')
29+
uses: softprops/action-gh-release@v1
30+
with:
31+
files: |
32+
target/*.jar
33+
target/*.pom
34+
target/*.asc
35+
target/*.md5
36+
target/*.sha1
37+
generate_release_notes: true
38+
env:
39+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
fetch-depth: 0
17+
18+
- name: Set up JDK 17
19+
uses: actions/setup-java@v4
20+
with:
21+
java-version: '17'
22+
distribution: 'temurin'
23+
cache: 'maven'
24+
25+
- name: Build with Maven
26+
run: |
27+
mvn -B clean package -DskipTests
28+
mvn -B javadoc:javadoc
29+
mvn -B source:jar
30+
31+
- name: Create Release
32+
uses: softprops/action-gh-release@v1
33+
with:
34+
name:

README.md

Lines changed: 149 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,149 @@
1-
# allegro-rest-api-client-java
2-
Klient Allegro REST API umożliwia szybką i łatwą integrację z aplikacjami wykorzystującymi język Java
1+
# Klient Allegro REST API dla aplikacji Java
2+
### Allegro REST API Java Client for Java
3+
***
4+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5+
[![Java Version](https://img.shields.io/badge/Java-17%2B-blue)](https://www.java.com)
6+
[![Maven Central](https://img.shields.io/maven-central/v/pl.wtx.allegro/qualtrics-api-client?label=Maven%20Central&logo=apache-maven&color=blue)]
7+
8+
Lekka biblioteka kliencka w języku Java do integracji z Allegro REST API. Stworzona dla programistów Java, którzy potrzebują zintegrować swoje aplikacje z API platformy Allegro. 🚀
9+
10+
Biblioteka Java do łatwej współpracy z [Allegro REST API](https://developer.allegro.pl/).
11+
Klient ułatwia uwierzytelnianie, wysyłanie zapytań i odbieranie odpowiedzi, dzięki czemu możesz szybko korzystać z funkcji Allegro w swojej aplikacji.
12+
13+
## Najważniejsze możliwości, jakie daje klient Allegro REST API:
14+
15+
- Wystawianie i edytowanie wielu ofert jednocześnie, w tym zmiana cen, ilości i opcji promowania
16+
- Masowe wyróżnianie wielu ofert, aby zwiększyć ich widoczność
17+
- Pobieranie i filtrowanie listy własnych ofert na Allegro
18+
- Uzyskiwanie aktualnych danych o sprzedaży i statusach zamówień
19+
- Zarządzanie przesyłkami w ramach usługi „Wysyłam z Allegro”
20+
- Pobieranie szczegółowych informacji o sprzedanych produktach oraz kupujących
21+
- Zarządzanie komunikacją z klientami, w tym obsługa dyskusji i wiadomości
22+
- Obsługa kampanii promocyjnych i programów marketingowych
23+
- Monitorowanie i automatyczna zmiana cen ofert
24+
- Automatyzacja procesów rozliczeniowych i płatniczych
25+
26+
## ✨ Dlaczego warto wybrać tego klienta?
27+
28+
- 💡 **Typowane interfejsy Java** – w pełni typowane interfejsy dla endpointów Allegro REST API
29+
- 🛡️ **Uwierzytelnianie sesyjne** – bezpieczny dostęp do API Allegro
30+
- 📚 **Przejrzysta dokumentacja** – przykłady integracji w Javie
31+
- 🚀 **Nowoczesne wsparcie Java** – kompatybilność z Java 17 i nowszymi wersjami
32+
33+
## 📦 Informacje o wersji
34+
35+
- **Aktualna wersja**: `1.0.0`
36+
- **Wymagana wersja Java**: Java 17+
37+
38+
## 🔓 Licencja
39+
40+
**Licencja MIT**
41+
42+
Niniejszym udziela się zgody na bezpłatne korzystanie z tego oprogramowania i powiązanych plików dokumentacji ("Oprogramowanie"), do korzystania z Oprogramowania bez ograniczeń, w tym bez ograniczeń praw do używania, kopiowania, modyfikowania, łączenia, publikowania, dystrybuowania, sublicencjonowania i/lub sprzedaży kopii Oprogramowania.
43+
44+
Jedynym wymogiem jest zachowanie oryginalnych informacji o autorze w kodzie źródłowym i dokumentacji.
45+
46+
## 🚀 Szybki start
47+
48+
### 1️⃣ Instalacja
49+
50+
Możesz dodać bibliotekę do swojego projektu, dołączając zależność z Maven Central:
51+
52+
```xml
53+
<dependency>
54+
<groupId>pl.wtx.allegro</groupId>
55+
<artifactId>allegro-rest-api-client</artifactId>
56+
<version>1.0.0</version>
57+
</dependency>
58+
```
59+
60+
Alternatywnie, możesz sklonować i zbudować bibliotekę ze źródeł:
61+
62+
```sh
63+
git clone https://github.com/wtx-labs/allegro-rest-api-client-java.git
64+
cd allegro-rest-api-client-java
65+
mvn clean install
66+
```
67+
68+
Następnie dodaj zbudowany artefakt do swojego projektu:
69+
70+
```xml
71+
<dependency>
72+
<groupId>pl.wtx.allegro</groupId>
73+
<artifactId>allegro-rest-api-client</artifactId>
74+
<version>1.0.0</version>
75+
</dependency>
76+
```
77+
78+
### 2️⃣ Przykład integracji w Javie
79+
80+
Oto jak używać klienta Allegro REST API:
81+
82+
```java
83+
package pl.wtx.allegro;
84+
85+
import pl.wtx.allegro.api.client.ContactsApi;
86+
import pl.wtx.allegro.api.client.invoker.ApiException;
87+
import pl.wtx.allegro.api.client.model.ContactResponse;
88+
import pl.wtx.allegro.api.client.model.EmailResponse;
89+
90+
/**
91+
* Allegro REST API Client - Usage Demo.
92+
* Demonstrates basic usage of AllegroApiClient.
93+
*
94+
* @author WTX Labs
95+
* @see https://github.com/wtx-labs/allegro-rest-api-client-java
96+
* @license MIT
97+
*/
98+
public class AllegroApiClientUsageDemo {
99+
100+
private static final String API_BASE_PATH = "https://api.allegro.pl";
101+
102+
// TODO: Set your Allegro API credentials!
103+
private static final String API_CLIENT_ID = "TODO_SET_YOUR_CLIENT_ID";
104+
private static final String API_CLIENT_SECRET = "TODO_SET_YOUR_CLIENT_SECRET";
105+
106+
public static void main(String[] args) {
107+
108+
System.out.println(">>> Start running the AllegroApiClientUsageDemo...");
109+
110+
AllegroApiClient apiClient = new AllegroApiClient(API_BASE_PATH, API_CLIENT_ID, API_CLIENT_SECRET, false);
111+
112+
ContactsApi contactsApi = new ContactsApi(apiClient);
113+
114+
try {
115+
116+
// Example request for contact with identifier eg. 12345.
117+
ContactResponse contact = contactsApi.getContactUsingGET("12345");
118+
119+
// Example contact's name and emails:
120+
System.out.println("Name: " + contact.getName());
121+
System.out.println("Emails:");
122+
123+
for (EmailResponse email : contact.getEmails()) {
124+
System.out.println("- " + email.getAddress());
125+
}
126+
127+
} catch (ApiException exception) {
128+
System.err.println("Error occurred during API call: " + exception);
129+
}
130+
131+
System.out.println("<<< The AllegroApiClientUsageDemo has been finished.");
132+
133+
}
134+
135+
}
136+
137+
```
138+
139+
## 🤝 Współpraca
140+
141+
- ✨ Sprawdź nasze [GitHub Issues](https://github.com/wtx-labs/allegro-rest-api-client-java/issues) po najnowsze aktualizacje
142+
143+
- 💡 Masz sugestie? Otwórz zgłoszenie lub dołącz do projektu
144+
145+
- 🌟 Oznacz to repozytorium gwiazdką, jeśli uważasz je za pomocne
146+
147+
## 📝 Licencja
148+
149+
Ten projekt jest udostępniany na licencji MIT - szczegóły znajdują się w pliku [LICENSE](LICENSE).

0 commit comments

Comments
 (0)