Skip to content
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: CI

on:
push:
branches:
- main
pull_request:
merge_group:

jobs:
test:
runs-on: ${{ matrix.os }}
name: test (Java ${{ matrix.java-version }} on ${{ matrix.os-label }})
strategy:
fail-fast: false
matrix:
java-version: [ "8", "11", "17" ]
os: [ "ubuntu-latest" ]
os-label: [ "Ubuntu" ]
include:
- { java-version: "11", os: "windows-latest", os-label: "Windows" }
- { java-version: "11", os: "macos-latest", os-label: "macOS" }

steps:
- uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java-version }}

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Code style check
run: |
./gradlew spotlessCheck

- name: Build and Test
run: ./gradlew build test

- name: Generate JaCoCo Report
run: ./gradlew jacocoTestReport

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./build/reports/jacoco/test/jacocoTestReport.xml
flags: unittests
fail_ci_if_error: true

- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
38 changes: 0 additions & 38 deletions .github/workflows/code-check.yml

This file was deleted.

25 changes: 25 additions & 0 deletions .github/workflows/required-labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Required Labels
on:
pull_request:
types: [opened, labeled, unlabeled, synchronize]
jobs:
label:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: mheap/github-action-required-labels@v5
with:
mode: minimum
count: 1
labels: |
feature
enhancement
fix
bugfix
bug
chore
documentation
add_comment: true
message: "Requires label: feature, enhancement, fix, bugfix, bug, chore, documentation."
18 changes: 17 additions & 1 deletion api/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
id 'java-library'
id 'jacoco'
}

dependencies {
Expand All @@ -25,10 +26,25 @@ dependencies {
testImplementation 'org.mockito:mockito-junit-jupiter:4.11.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2'
testImplementation 'ch.qos.logback:logback-classic:1.4.11'
testImplementation 'ch.qos.logback:logback-classic:1.2.3'
testImplementation 'com.squareup.retrofit2:retrofit-mock:2.9.0'
}

jacoco {
toolVersion = "0.8.7"
}

jacocoTestReport {
reports {
xml.required = true
csv.required = true
}
}

test {
finalizedBy jacocoTestReport // 测试完成后自动生成报告
}

test {
useJUnitPlatform()
}
Expand Down
7 changes: 3 additions & 4 deletions api/src/main/java/com/coze/openapi/api/AudioRoomAPI.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
/* (C)2024 */
package com.coze.openapi.api;

import com.coze.openapi.client.audio.rooms.CreateRoomReq;
import com.coze.openapi.client.audio.rooms.CreateRoomResp;
import com.coze.openapi.client.common.BaseReq;
import com.coze.openapi.client.common.BaseResponse;

import io.reactivex.Single;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Tag;

public interface AudioRoomAPI {
@POST("/v1/audio/rooms")
Call<BaseResponse<CreateRoomResp>> create(@Body CreateRoomReq request, @Tag BaseReq baseReq);
@POST("/v1/audio/rooms")
Call<BaseResponse<CreateRoomResp>> create(@Body CreateRoomReq request, @Tag BaseReq baseReq);
}
7 changes: 3 additions & 4 deletions api/src/main/java/com/coze/openapi/api/AudioSpeechAPI.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
/* (C)2024 */
package com.coze.openapi.api;

import com.coze.openapi.client.audio.speech.CreateSpeechReq;
import com.coze.openapi.client.common.BaseReq;

import io.reactivex.Single;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Tag;

public interface AudioSpeechAPI {
@POST("/v1/audio/speech")
Call<ResponseBody> create(@Body CreateSpeechReq request, @Tag BaseReq baseReq);
@POST("/v1/audio/speech")
Call<ResponseBody> create(@Body CreateSpeechReq request, @Tag BaseReq baseReq);
}
50 changes: 23 additions & 27 deletions api/src/main/java/com/coze/openapi/api/AudioVoiceAPI.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
/* (C)2024 */
package com.coze.openapi.api;

import com.coze.openapi.client.audio.voices.CloneVoiceResp;
import com.coze.openapi.client.audio.voices.ListVoiceResp;
import com.coze.openapi.client.common.BaseReq;
import com.coze.openapi.client.common.BaseResponse;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.Call;
Expand All @@ -10,33 +16,23 @@
import retrofit2.http.Query;
import retrofit2.http.Tag;

import com.coze.openapi.client.audio.voices.CloneVoiceResp;
import com.coze.openapi.client.audio.voices.ListVoiceResp;
import com.coze.openapi.client.common.BaseReq;
import com.coze.openapi.client.common.BaseResponse;

import io.reactivex.Single;
import retrofit2.Response;
public interface AudioVoiceAPI {
@Multipart
@POST("/v1/audio/voices/clone")
Call<BaseResponse<CloneVoiceResp>> clone(
@Part MultipartBody.Part file,
@Part("voice_name") RequestBody voiceName,
@Part("audio_format") RequestBody audioFormat,
@Part("language") RequestBody language,
@Part("voice_id") RequestBody voiceID,
@Part("preview_text") RequestBody previewText,
@Part("text") RequestBody text,
@Tag BaseReq baseReq
);

@GET("/v1/audio/voices")
Call<BaseResponse<ListVoiceResp>> list(
@Query("filter_system_voice") Boolean filterSystemVoice,
@Query("page_num") Integer pageNum,
@Query("page_size") Integer pageSize,
@Tag BaseReq baseReq
);
@Multipart
@POST("/v1/audio/voices/clone")
Call<BaseResponse<CloneVoiceResp>> clone(
@Part MultipartBody.Part file,
@Part("voice_name") RequestBody voiceName,
@Part("audio_format") RequestBody audioFormat,
@Part("language") RequestBody language,
@Part("voice_id") RequestBody voiceID,
@Part("preview_text") RequestBody previewText,
@Part("text") RequestBody text,
@Tag BaseReq baseReq);

@GET("/v1/audio/voices")
Call<BaseResponse<ListVoiceResp>> list(
@Query("filter_system_voice") Boolean filterSystemVoice,
@Query("page_num") Integer pageNum,
@Query("page_size") Integer pageSize,
@Tag BaseReq baseReq);
}
33 changes: 19 additions & 14 deletions api/src/main/java/com/coze/openapi/api/BotAPI.java
Original file line number Diff line number Diff line change
@@ -1,35 +1,40 @@
/* (C)2024 */
package com.coze.openapi.api;

import com.coze.openapi.client.bots.CreateBotReq;
import com.coze.openapi.client.bots.CreateBotResp;
import com.coze.openapi.client.bots.ListBotResp;
import com.coze.openapi.client.bots.UpdateBotReq;
import com.coze.openapi.client.bots.PublishBotReq;
import com.coze.openapi.client.bots.PublishBotResp;
import com.coze.openapi.client.bots.UpdateBotReq;
import com.coze.openapi.client.bots.model.Bot;
import com.coze.openapi.client.common.BaseReq;
import com.coze.openapi.client.common.BaseResponse;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.Body;
import retrofit2.http.Tag;

import com.coze.openapi.client.common.BaseReq;
public interface BotAPI {
@GET("/v1/space/published_bots_list")
Call<BaseResponse<ListBotResp>> list(@Query("space_id") String spaceID, @Query("page_index") Integer page, @Query("page_size") Integer pageSize, @Tag BaseReq baseReq);
@GET("/v1/space/published_bots_list")
Call<BaseResponse<ListBotResp>> list(
@Query("space_id") String spaceID,
@Query("page_index") Integer page,
@Query("page_size") Integer pageSize,
@Tag BaseReq baseReq);

@GET("/v1/bot/get_online_info")
Call<BaseResponse<Bot>> retrieve(@Query("bot_id") String botID, @Tag BaseReq baseReq);
@GET("/v1/bot/get_online_info")
Call<BaseResponse<Bot>> retrieve(@Query("bot_id") String botID, @Tag BaseReq baseReq);

@POST("/v1/bot/create")
Call<BaseResponse<CreateBotResp>> create(@Body CreateBotReq req, @Tag BaseReq baseReq);
@POST("/v1/bot/create")
Call<BaseResponse<CreateBotResp>> create(@Body CreateBotReq req, @Tag BaseReq baseReq);

@POST("/v1/bot/update")
Call<BaseResponse<Void>> update(@Body UpdateBotReq req, @Tag BaseReq baseReq);
@POST("/v1/bot/update")
Call<BaseResponse<Void>> update(@Body UpdateBotReq req, @Tag BaseReq baseReq);

@POST("/v1/bot/publish")
Call<BaseResponse<PublishBotResp>> publish(@Body PublishBotReq req, @Tag BaseReq baseReq);
}
@POST("/v1/bot/publish")
Call<BaseResponse<PublishBotResp>> publish(@Body PublishBotReq req, @Tag BaseReq baseReq);
}
Loading