Skip to content

Release/1.0.0 #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 19 additions & 0 deletions .github/settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>github</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>central</id>
<username>${{env.OSSRH_USERNAME_TOKEN }}</username>
<password>${{env.OSSRH_PASSWORD_TOKEN }}</password>
</server>
</servers>

</settings>
98 changes: 98 additions & 0 deletions .github/workflows/maven-central.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Publish to Maven Central

on:
push:
tags:
- 'v*'
branches:
- 'feature/release-*'

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven

- name: Setup GPG
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
run: |
echo "Setting up GPG..."
mkdir -p ~/.gnupg
chmod 700 ~/.gnupg

# Debug: Sprawdź długość klucza
echo "GPG_PRIVATE_KEY length: ${#GPG_PRIVATE_KEY}"

# Debug: Sprawdź początek klucza (bez ujawniania tajemnicy)
echo "GPG_KEYNAME: $GPG_KEYNAME"
echo "GPG_PASSPHRASE length: ${#GPG_PASSPHRASE}"
echo "First 10 chars of GPG_PRIVATE_KEY: ${GPG_PRIVATE_KEY:0:10}"

# Tepporary write key for debug
echo "$GPG_PRIVATE_KEY" > private.tmp
echo "File content (first line): $(head -1 private.tmp)"

# Import key
echo "Importing GPG key..."
gpg --batch --import private.tmp || echo "Import failed!"
rm private.tmp

- name: Configure Maven
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << EOF
<settings>
<servers>
<server>
<id>central</id>
<username>${{ secrets.OSSRH_USERNAME_TOKEN }}</username>
<password>${{ secrets.OSSRH_PASSWORD_TOKEN }}</password>
</server>
</servers>
<profiles>
<profile>
<id>central</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>${{ secrets.GPG_PASSPHRASE }}</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
EOF

- name: Build and Publish
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME_TOKEN }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD_TOKEN }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
run: |
echo "Starting Maven build and deploy..."
mvn clean deploy -P release \
-Dmaven.javadoc.skip=false \
-Dmaven.deploy.skip=false \
-Dgpg.keyname=$GPG_KEYNAME \
-Dgpg.useagent=false \
-Dgpg.passphrase=$GPG_PASSPHRASE \
-Dmaven.test.failure.ignore=false \
-DaltDeploymentRepository=ossrh::default::https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ \
-DrepositoryId=ossrh \
-Dusername=$OSSRH_USERNAME \
-Dpassword=$OSSRH_PASSWORD
39 changes: 39 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Build and Publish

on:
push:
branches: [ main ]
tags:
- 'v*'
pull_request:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: 'maven'
- name: Build
run: mvn clean install -Dmaven.javadoc.skip=true
- name: Create Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
target/*.jar
target/*.pom
target/*.asc
target/*.md5
target/*.sha1
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34 changes: 34 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Release

on:
push:
tags:
- 'v*'

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: 'maven'

- name: Build with Maven
run: |
mvn -B clean package -DskipTests
mvn -B javadoc:javadoc
mvn -B source:jar

- name: Create Release
uses: softprops/action-gh-release@v1
with:
name:
151 changes: 149 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,149 @@
# allegro-rest-api-client-java
Klient Allegro REST API umożliwia szybką i łatwą integrację z aplikacjami wykorzystującymi język Java
# Klient Allegro REST API dla aplikacji Java
### Allegro REST API Java Client for Java
***
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Java Version](https://img.shields.io/badge/Java-17%2B-blue)](https://www.java.com)
[![Maven Central](https://img.shields.io/maven-central/v/pl.wtx.allegro/qualtrics-api-client?label=Maven%20Central&logo=apache-maven&color=blue)]

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. 🚀

Biblioteka Java do łatwej współpracy z [Allegro REST API](https://developer.allegro.pl/).
Klient ułatwia uwierzytelnianie, wysyłanie zapytań i odbieranie odpowiedzi, dzięki czemu możesz szybko korzystać z funkcji Allegro w swojej aplikacji.

## Najważniejsze możliwości, jakie daje klient Allegro REST API:

- Wystawianie i edytowanie wielu ofert jednocześnie, w tym zmiana cen, ilości i opcji promowania
- Masowe wyróżnianie wielu ofert, aby zwiększyć ich widoczność
- Pobieranie i filtrowanie listy własnych ofert na Allegro
- Uzyskiwanie aktualnych danych o sprzedaży i statusach zamówień
- Zarządzanie przesyłkami w ramach usługi „Wysyłam z Allegro”
- Pobieranie szczegółowych informacji o sprzedanych produktach oraz kupujących
- Zarządzanie komunikacją z klientami, w tym obsługa dyskusji i wiadomości
- Obsługa kampanii promocyjnych i programów marketingowych
- Monitorowanie i automatyczna zmiana cen ofert
- Automatyzacja procesów rozliczeniowych i płatniczych

## ✨ Dlaczego warto wybrać tego klienta?

- 💡 **Typowane interfejsy Java** – w pełni typowane interfejsy dla endpointów Allegro REST API
- 🛡️ **Uwierzytelnianie sesyjne** – bezpieczny dostęp do API Allegro
- 📚 **Przejrzysta dokumentacja** – przykłady integracji w Javie
- 🚀 **Nowoczesne wsparcie Java** – kompatybilność z Java 17 i nowszymi wersjami

## 📦 Informacje o wersji

- **Aktualna wersja**: `1.0.0`
- **Wymagana wersja Java**: Java 17+

## 🔓 Licencja

**Licencja MIT**

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.

Jedynym wymogiem jest zachowanie oryginalnych informacji o autorze w kodzie źródłowym i dokumentacji.

## 🚀 Szybki start

### 1️⃣ Instalacja

Możesz dodać bibliotekę do swojego projektu, dołączając zależność z Maven Central:

```xml
<dependency>
<groupId>pl.wtx.allegro</groupId>
<artifactId>allegro-rest-api-client</artifactId>
<version>1.0.0</version>
</dependency>
```

Alternatywnie, możesz sklonować i zbudować bibliotekę ze źródeł:

```sh
git clone https://github.com/wtx-labs/allegro-rest-api-client-java.git
cd allegro-rest-api-client-java
mvn clean install
```

Następnie dodaj zbudowany artefakt do swojego projektu:

```xml
<dependency>
<groupId>pl.wtx.allegro</groupId>
<artifactId>allegro-rest-api-client</artifactId>
<version>1.0.0</version>
</dependency>
```

### 2️⃣ Przykład integracji w Javie

Oto jak używać klienta Allegro REST API:

```java
package pl.wtx.allegro;

import pl.wtx.allegro.api.client.ContactsApi;
import pl.wtx.allegro.api.client.invoker.ApiException;
import pl.wtx.allegro.api.client.model.ContactResponse;
import pl.wtx.allegro.api.client.model.EmailResponse;

/**
* Allegro REST API Client - Usage Demo.
* Demonstrates basic usage of AllegroApiClient.
*
* @author WTX Labs
* @see https://github.com/wtx-labs/allegro-rest-api-client-java
* @license MIT
*/
public class AllegroApiClientUsageDemo {

private static final String API_BASE_PATH = "https://api.allegro.pl";

// TODO: Set your Allegro API credentials!
private static final String API_CLIENT_ID = "TODO_SET_YOUR_CLIENT_ID";
private static final String API_CLIENT_SECRET = "TODO_SET_YOUR_CLIENT_SECRET";

public static void main(String[] args) {

System.out.println(">>> Start running the AllegroApiClientUsageDemo...");

AllegroApiClient apiClient = new AllegroApiClient(API_BASE_PATH, API_CLIENT_ID, API_CLIENT_SECRET, false);

ContactsApi contactsApi = new ContactsApi(apiClient);

try {

// Example request for contact with identifier eg. 12345.
ContactResponse contact = contactsApi.getContactUsingGET("12345");

// Example contact's name and emails:
System.out.println("Name: " + contact.getName());
System.out.println("Emails:");

for (EmailResponse email : contact.getEmails()) {
System.out.println("- " + email.getAddress());
}

} catch (ApiException exception) {
System.err.println("Error occurred during API call: " + exception);
}

System.out.println("<<< The AllegroApiClientUsageDemo has been finished.");

}

}

```

## 🤝 Współpraca

- ✨ Sprawdź nasze [GitHub Issues](https://github.com/wtx-labs/allegro-rest-api-client-java/issues) po najnowsze aktualizacje

- 💡 Masz sugestie? Otwórz zgłoszenie lub dołącz do projektu

- 🌟 Oznacz to repozytorium gwiazdką, jeśli uważasz je za pomocne

## 📝 Licencja

Ten projekt jest udostępniany na licencji MIT - szczegóły znajdują się w pliku [LICENSE](LICENSE).
Loading
Loading