pub struct YouGileClient { /* private fields */ }Expand description
YouGile client used by the workspace provider layer.
Implementations§
Source§impl YouGileClient
impl YouGileClient
Sourcepub fn new(board_id: impl Into<String>, token: SecretString) -> Self
pub fn new(board_id: impl Into<String>, token: SecretString) -> Self
Create a new YouGile client with the default API base URL.
Sourcepub fn with_base_url(
base_url: impl Into<String>,
board_id: impl Into<String>,
token: SecretString,
) -> Self
pub fn with_base_url( base_url: impl Into<String>, board_id: impl Into<String>, token: SecretString, ) -> Self
Create a new YouGile client with a custom base URL.
Sourcepub fn http_client(&self) -> &Client
pub fn http_client(&self) -> &Client
Shared request client.
Sourcepub fn token(&self) -> &SecretString
pub fn token(&self) -> &SecretString
API token accessor for internal use.
Trait Implementations§
Source§impl Clone for YouGileClient
impl Clone for YouGileClient
Source§fn clone(&self) -> YouGileClient
fn clone(&self) -> YouGileClient
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl IssueProvider for YouGileClient
impl IssueProvider for YouGileClient
Source§fn get_issues<'life0, 'async_trait>(
&'life0 self,
filter: IssueFilter,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Issue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_issues<'life0, 'async_trait>(
&'life0 self,
filter: IssueFilter,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Issue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a list of issues with optional filters.
Source§fn get_issue<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Issue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_issue<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Issue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a single issue by key (e.g., “gitlab#123”, “gh#456”).
Source§fn create_issue<'life0, 'async_trait>(
&'life0 self,
input: CreateIssueInput,
) -> Pin<Box<dyn Future<Output = Result<Issue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_issue<'life0, 'async_trait>(
&'life0 self,
input: CreateIssueInput,
) -> Pin<Box<dyn Future<Output = Result<Issue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create a new issue.
Source§fn update_issue<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
input: UpdateIssueInput,
) -> Pin<Box<dyn Future<Output = Result<Issue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_issue<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str,
input: UpdateIssueInput,
) -> Pin<Box<dyn Future<Output = Result<Issue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Update an existing issue.
fn get_comments<'life0, 'life1, 'async_trait>(
&'life0 self,
issue_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Comment>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_comment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
issue_key: &'life1 str,
body: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Comment>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn provider_name(&self) -> &'static str
fn provider_name(&self) -> &'static str
Get the provider name for logging (e.g., “gitlab”, “github”).
Source§fn get_statuses<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<IssueStatus>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_statuses<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<IssueStatus>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get available statuses for the issue tracker.
Default returns ProviderUnsupported — override in providers that support statuses.
Source§fn link_issues<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_source_key: &'life1 str,
_target_key: &'life2 str,
_link_type: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn link_issues<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_source_key: &'life1 str,
_target_key: &'life2 str,
_link_type: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Link two issues together.
Source§fn unlink_issues<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_source_key: &'life1 str,
_target_key: &'life2 str,
_link_type: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn unlink_issues<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_source_key: &'life1 str,
_target_key: &'life2 str,
_link_type: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Remove a link between two issues.
Source§fn get_users<'life0, 'async_trait>(
&'life0 self,
_options: GetUsersOptions,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<User>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_users<'life0, 'async_trait>(
&'life0 self,
_options: GetUsersOptions,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<User>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get users from the issue tracker (Jira only).
Source§fn upload_attachment<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_filename: &'life2 str,
_data: &'life3 [u8],
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn upload_attachment<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_filename: &'life2 str,
_data: &'life3 [u8],
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Upload a file attachment to an issue. Returns the download URL.
Default returns ProviderUnsupported — override in providers that support attachments.
Source§fn get_issue_attachments<'life0, 'life1, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<AssetMeta>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_issue_attachments<'life0, 'life1, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<AssetMeta>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
List attachments currently attached to an issue (body + comments). Read more
Source§fn download_attachment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_asset_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn download_attachment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_asset_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Download the raw bytes of an attachment belonging to an issue. Read more
Source§fn delete_attachment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_asset_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn delete_attachment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_asset_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Delete an attachment from an issue. Read more
Source§fn asset_capabilities(&self) -> AssetCapabilities
fn asset_capabilities(&self) -> AssetCapabilities
Describe which asset operations this provider supports for each
context. Used by the enricher to surface per-provider capabilities
in tool schemas so agents can adapt their behaviour before making
calls that would fail with
ProviderUnsupported.Source§fn set_custom_fields<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_fields: &'life2 [Value],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn set_custom_fields<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
_fields: &'life2 [Value],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Set custom fields on an issue. Each entry:
{"id": "field_id", "value": <value>}.
Default is no-op — override in providers that support custom fields (e.g., ClickUp).Source§fn get_issue_relations<'life0, 'life1, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<IssueRelations, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_issue_relations<'life0, 'life1, 'async_trait>(
&'life0 self,
_issue_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<IssueRelations, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get issue relations (parent, subtasks, linked issues).
Source§fn get_structures<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Structure>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_structures<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Structure>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
List all available structures.
Source§fn get_structure_forest<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_options: GetForestOptions,
) -> Pin<Box<dyn Future<Output = Result<StructureForest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_structure_forest<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_options: GetForestOptions,
) -> Pin<Box<dyn Future<Output = Result<StructureForest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get a structure’s forest (hierarchy tree).
Source§fn add_structure_rows<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_input: AddStructureRowsInput,
) -> Pin<Box<dyn Future<Output = Result<ForestModifyResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn add_structure_rows<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_input: AddStructureRowsInput,
) -> Pin<Box<dyn Future<Output = Result<ForestModifyResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Add rows to a structure’s forest.
Source§fn move_structure_rows<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_input: MoveStructureRowsInput,
) -> Pin<Box<dyn Future<Output = Result<ForestModifyResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn move_structure_rows<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_input: MoveStructureRowsInput,
) -> Pin<Box<dyn Future<Output = Result<ForestModifyResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Move rows within a structure’s forest.
Source§fn remove_structure_row<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_row_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn remove_structure_row<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_row_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Remove a row from a structure’s forest.
Source§fn get_structure_values<'life0, 'async_trait>(
&'life0 self,
_input: GetStructureValuesInput,
) -> Pin<Box<dyn Future<Output = Result<StructureValues, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_structure_values<'life0, 'async_trait>(
&'life0 self,
_input: GetStructureValuesInput,
) -> Pin<Box<dyn Future<Output = Result<StructureValues, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Batch-read column values (including formulas) for structure rows.
Source§fn get_structure_views<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_view_id: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Vec<StructureView>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_structure_views<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
_view_id: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Vec<StructureView>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get views for a structure, optionally a specific view by ID.
Source§fn save_structure_view<'life0, 'async_trait>(
&'life0 self,
_input: SaveStructureViewInput,
) -> Pin<Box<dyn Future<Output = Result<StructureView, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn save_structure_view<'life0, 'async_trait>(
&'life0 self,
_input: SaveStructureViewInput,
) -> Pin<Box<dyn Future<Output = Result<StructureView, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Create or update a structure view.
Source§fn create_structure<'life0, 'async_trait>(
&'life0 self,
_input: CreateStructureInput,
) -> Pin<Box<dyn Future<Output = Result<Structure, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn create_structure<'life0, 'async_trait>(
&'life0 self,
_input: CreateStructureInput,
) -> Pin<Box<dyn Future<Output = Result<Structure, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Create a new structure.
Source§fn get_structure_generators<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<StructureGenerator>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_structure_generators<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<StructureGenerator>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
List generators configured on a structure.
Source§fn add_structure_generator<'life0, 'async_trait>(
&'life0 self,
_input: AddStructureGeneratorInput,
) -> Pin<Box<dyn Future<Output = Result<StructureGenerator, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn add_structure_generator<'life0, 'async_trait>(
&'life0 self,
_input: AddStructureGeneratorInput,
) -> Pin<Box<dyn Future<Output = Result<StructureGenerator, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Attach a new generator to a structure.
Source§fn sync_structure_generator<'life0, 'async_trait>(
&'life0 self,
_input: SyncStructureGeneratorInput,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn sync_structure_generator<'life0, 'async_trait>(
&'life0 self,
_input: SyncStructureGeneratorInput,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Force a generator to refresh its produced rows.
Source§fn delete_structure<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn delete_structure<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Delete a structure permanently.
Source§fn update_structure_automation<'life0, 'async_trait>(
&'life0 self,
_input: UpdateStructureAutomationInput,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn update_structure_automation<'life0, 'async_trait>(
&'life0 self,
_input: UpdateStructureAutomationInput,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Replace a structure’s automation configuration.
Source§fn trigger_structure_automation<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn trigger_structure_automation<'life0, 'async_trait>(
&'life0 self,
_structure_id: u64,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Run a structure’s automation pass on demand.
Source§fn list_project_versions<'life0, 'async_trait>(
&'life0 self,
_params: ListProjectVersionsParams,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<ProjectVersion>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn list_project_versions<'life0, 'async_trait>(
&'life0 self,
_params: ListProjectVersionsParams,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<ProjectVersion>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
List versions (“releases” /
fixVersion targets) for a project.
Default: ProviderUnsupported.Source§fn upsert_project_version<'life0, 'async_trait>(
&'life0 self,
_input: UpsertProjectVersionInput,
) -> Pin<Box<dyn Future<Output = Result<ProjectVersion, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn upsert_project_version<'life0, 'async_trait>(
&'life0 self,
_input: UpsertProjectVersionInput,
) -> Pin<Box<dyn Future<Output = Result<ProjectVersion, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Create-or-update a project version, keyed by
(project, name).
Partial update: optional fields left as None are not touched.
Default: ProviderUnsupported.Source§fn get_board_sprints<'life0, 'async_trait>(
&'life0 self,
_board_id: u64,
_state: SprintState,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Sprint>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_board_sprints<'life0, 'async_trait>(
&'life0 self,
_board_id: u64,
_state: SprintState,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Sprint>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
List sprints visible on a board, optionally filtered by state.
Source§fn assign_to_sprint<'life0, 'async_trait>(
&'life0 self,
_input: AssignToSprintInput,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn assign_to_sprint<'life0, 'async_trait>(
&'life0 self,
_input: AssignToSprintInput,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Move one or more issues onto a sprint.
Source§fn list_custom_fields<'life0, 'async_trait>(
&'life0 self,
_params: ListCustomFieldsParams,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<CustomFieldDescriptor>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn list_custom_fields<'life0, 'async_trait>(
&'life0 self,
_params: ListCustomFieldsParams,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<CustomFieldDescriptor>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
List provider-side custom fields. Lets agents (and downstream
codegen) discover the
customfield_* ids of an instance
without hardcoding them. Default impl returns
ProviderUnsupported — providers without a real customfield
concept (GitHub, GitLab) keep that default.Source§impl LivenessProbe for YouGileClient
impl LivenessProbe for YouGileClient
Source§fn provider_name(&self) -> &str
fn provider_name(&self) -> &str
Lower-cased provider name surfaced in the
NotImplemented
default and in doctor output. Concrete impls override
to return e.g. "github", "gitlab".Source§fn test<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 SecretBox<str>,
) -> Pin<Box<dyn Future<Output = Result<LivenessResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn test<'life0, 'life1, 'async_trait>(
&'life0 self,
_token: &'life1 SecretBox<str>,
) -> Pin<Box<dyn Future<Output = Result<LivenessResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Probe the upstream with
token. The default impl returns
NotImplemented so providers without a native
introspection endpoint can opt-in trivially.Source§impl MergeRequestProvider for YouGileClient
impl MergeRequestProvider for YouGileClient
Source§fn provider_name(&self) -> &'static str
fn provider_name(&self) -> &'static str
Get the provider name for logging.
Source§fn get_merge_requests<'life0, 'async_trait>(
&'life0 self,
_filter: MrFilter,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<MergeRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_merge_requests<'life0, 'async_trait>(
&'life0 self,
_filter: MrFilter,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<MergeRequest>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get a list of merge requests with optional filters.
Source§fn get_merge_request<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<MergeRequest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_merge_request<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<MergeRequest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get a single merge request by key (e.g., “mr#123”, “pr#456”).
Source§fn get_discussions<'life0, 'life1, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Discussion>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_discussions<'life0, 'life1, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Discussion>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get discussions/comments for a merge request.
fn get_diffs<'life0, 'life1, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<FileDiff>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn add_comment<'life0, 'life1, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
_input: CreateCommentInput,
) -> Pin<Box<dyn Future<Output = Result<Comment, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Source§fn create_merge_request<'life0, 'async_trait>(
&'life0 self,
_input: CreateMergeRequestInput,
) -> Pin<Box<dyn Future<Output = Result<MergeRequest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn create_merge_request<'life0, 'async_trait>(
&'life0 self,
_input: CreateMergeRequestInput,
) -> Pin<Box<dyn Future<Output = Result<MergeRequest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Create a new merge request / pull request.
Source§fn update_merge_request<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 str,
_input: UpdateMergeRequestInput,
) -> Pin<Box<dyn Future<Output = Result<MergeRequest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn update_merge_request<'life0, 'life1, 'async_trait>(
&'life0 self,
_key: &'life1 str,
_input: UpdateMergeRequestInput,
) -> Pin<Box<dyn Future<Output = Result<MergeRequest, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Update an existing merge request / pull request.
Source§fn get_releases<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Release>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_releases<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ProviderResult<Release>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Get releases/tags for the repository.
Source§fn get_mr_attachments<'life0, 'life1, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<AssetMeta>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_mr_attachments<'life0, 'life1, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<AssetMeta>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
List attachments on a merge request (body + discussions).
fn download_mr_attachment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
_asset_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn delete_mr_attachment<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_mr_key: &'life1 str,
_asset_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Source§impl PipelineProvider for YouGileClient
impl PipelineProvider for YouGileClient
Source§fn provider_name(&self) -> &'static str
fn provider_name(&self) -> &'static str
Get the provider name for logging.
fn get_pipeline<'life0, 'async_trait>(
&'life0 self,
_input: GetPipelineInput,
) -> Pin<Box<dyn Future<Output = Result<PipelineInfo, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Source§fn get_job_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
_job_id: &'life1 str,
_options: JobLogOptions,
) -> Pin<Box<dyn Future<Output = Result<JobLogOutput, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_job_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
_job_id: &'life1 str,
_options: JobLogOptions,
) -> Pin<Box<dyn Future<Output = Result<JobLogOutput, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Get job logs with search, pagination, or smart extraction.
Auto Trait Implementations§
impl !RefUnwindSafe for YouGileClient
impl !UnwindSafe for YouGileClient
impl Freeze for YouGileClient
impl Send for YouGileClient
impl Sync for YouGileClient
impl Unpin for YouGileClient
impl UnsafeUnpin for YouGileClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more