80 lines
2.5 KiB
Protocol Buffer
80 lines
2.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package forest.v1;
|
|
|
|
import "forest/v1/releases.proto";
|
|
|
|
message AutoReleasePolicy {
|
|
string id = 1;
|
|
string name = 2;
|
|
bool enabled = 3;
|
|
optional string branch_pattern = 4;
|
|
optional string title_pattern = 5;
|
|
optional string author_pattern = 6;
|
|
optional string commit_message_pattern = 7;
|
|
optional string source_type_pattern = 8;
|
|
repeated string target_environments = 9;
|
|
repeated string target_destinations = 10;
|
|
bool force_release = 11;
|
|
string created_at = 12;
|
|
string updated_at = 13;
|
|
// When true, trigger the project's release pipeline instead of
|
|
// deploying directly to target destinations/environments.
|
|
bool use_pipeline = 14;
|
|
}
|
|
|
|
message CreateAutoReleasePolicyRequest {
|
|
Project project = 1;
|
|
string name = 2;
|
|
optional string branch_pattern = 3;
|
|
optional string title_pattern = 4;
|
|
optional string author_pattern = 5;
|
|
optional string commit_message_pattern = 6;
|
|
optional string source_type_pattern = 7;
|
|
repeated string target_environments = 8;
|
|
repeated string target_destinations = 9;
|
|
bool force_release = 10;
|
|
bool use_pipeline = 11;
|
|
}
|
|
message CreateAutoReleasePolicyResponse {
|
|
AutoReleasePolicy policy = 1;
|
|
}
|
|
|
|
message UpdateAutoReleasePolicyRequest {
|
|
Project project = 1;
|
|
string name = 2;
|
|
optional bool enabled = 3;
|
|
optional string branch_pattern = 4;
|
|
optional string title_pattern = 5;
|
|
optional string author_pattern = 6;
|
|
optional string commit_message_pattern = 7;
|
|
optional string source_type_pattern = 8;
|
|
repeated string target_environments = 9;
|
|
repeated string target_destinations = 10;
|
|
optional bool force_release = 11;
|
|
optional bool use_pipeline = 12;
|
|
}
|
|
message UpdateAutoReleasePolicyResponse {
|
|
AutoReleasePolicy policy = 1;
|
|
}
|
|
|
|
message DeleteAutoReleasePolicyRequest {
|
|
Project project = 1;
|
|
string name = 2;
|
|
}
|
|
message DeleteAutoReleasePolicyResponse {}
|
|
|
|
message ListAutoReleasePoliciesRequest {
|
|
Project project = 1;
|
|
}
|
|
message ListAutoReleasePoliciesResponse {
|
|
repeated AutoReleasePolicy policies = 1;
|
|
}
|
|
|
|
service AutoReleasePolicyService {
|
|
rpc CreateAutoReleasePolicy(CreateAutoReleasePolicyRequest) returns (CreateAutoReleasePolicyResponse);
|
|
rpc UpdateAutoReleasePolicy(UpdateAutoReleasePolicyRequest) returns (UpdateAutoReleasePolicyResponse);
|
|
rpc DeleteAutoReleasePolicy(DeleteAutoReleasePolicyRequest) returns (DeleteAutoReleasePolicyResponse);
|
|
rpc ListAutoReleasePolicies(ListAutoReleasePoliciesRequest) returns (ListAutoReleasePoliciesResponse);
|
|
}
|