Package io.jenkins.plugins.explain_error
Class ExplainErrorFolderProperty
java.lang.Object
hudson.model.AbstractDescribableImpl<com.cloudbees.hudson.plugins.folder.AbstractFolderProperty<?>>
com.cloudbees.hudson.plugins.folder.AbstractFolderProperty<com.cloudbees.hudson.plugins.folder.AbstractFolder<?>>
io.jenkins.plugins.explain_error.ExplainErrorFolderProperty
- All Implemented Interfaces:
ExtensionPoint,Describable<com.cloudbees.hudson.plugins.folder.AbstractFolderProperty<?>>,ReconfigurableDescribable<com.cloudbees.hudson.plugins.folder.AbstractFolderProperty<?>>
public class ExplainErrorFolderProperty
extends com.cloudbees.hudson.plugins.folder.AbstractFolderProperty<com.cloudbees.hudson.plugins.folder.AbstractFolder<?>>
Folder property for folder-level AI provider configuration.
Allows teams to configure their own AI provider settings at the folder level.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
Fields inherited from class com.cloudbees.hudson.plugins.folder.AbstractFolderProperty
owner -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BaseAIProviderfindFolderProvider(ItemGroup<?> itemGroup) Recursively search for folder-level AI provider configuration.static ExplainErrorFolderPropertyfindFolderWithQuota(ItemGroup<?> itemGroup) Recursively search for a folder-level quota configuration.Get the AI provider configured for this folder.intbooleanCheck if error explanation is enabled for this folder.booleanstatic booleanisFolderExplanationEnabled(ItemGroup<?> itemGroup) Check if error explanation is enabled at folder level.voidsetAiProvider(BaseAIProvider aiProvider) Set the AI provider for this folder.voidsetEnableExplanation(boolean enableExplanation) Set whether error explanation is enabled for this folder.voidsetEnableQuota(boolean enableQuota) voidsetMaxProviderCallsPerWindow(int maxProviderCallsPerWindow) voidsetQuotaWindow(QuotaWindow quotaWindow) booleanAttempts to acquire a quota slot for a real AI provider call.Methods inherited from class com.cloudbees.hudson.plugins.folder.AbstractFolderProperty
getDescriptor, getHealthMetrics, getHealthReports, getItemContainerOverrides, getOwner, reconfigure, reconfigure, setOwner
-
Constructor Details
-
ExplainErrorFolderProperty
@DataBoundConstructor public ExplainErrorFolderProperty()
-
-
Method Details
-
getAiProvider
Get the AI provider configured for this folder.- Returns:
- the AI provider, or null if not configured
-
setAiProvider
Set the AI provider for this folder.- Parameters:
aiProvider- the AI provider to use
-
isEnableExplanation
public boolean isEnableExplanation()Check if error explanation is enabled for this folder.- Returns:
- true if enabled, false otherwise
-
setEnableExplanation
@DataBoundSetter public void setEnableExplanation(boolean enableExplanation) Set whether error explanation is enabled for this folder. When disabled, also clears the AI provider to ensure fallback to global configuration.- Parameters:
enableExplanation- true to enable, false to disable
-
isEnableQuota
public boolean isEnableQuota() -
setEnableQuota
@DataBoundSetter public void setEnableQuota(boolean enableQuota) -
getQuotaWindow
-
setQuotaWindow
-
getMaxProviderCallsPerWindow
public int getMaxProviderCallsPerWindow() -
setMaxProviderCallsPerWindow
@DataBoundSetter public void setMaxProviderCallsPerWindow(int maxProviderCallsPerWindow) -
tryAcquireQuota
public boolean tryAcquireQuota()Attempts to acquire a quota slot for a real AI provider call.- Returns:
trueif the call is allowed;falseif the quota is exceeded
-
findFolderWithQuota
@CheckForNull public static ExplainErrorFolderProperty findFolderWithQuota(@CheckForNull ItemGroup<?> itemGroup) Recursively search for a folder-level quota configuration. Walks up the folder hierarchy and returns the nearest folder that hasenableQuota=true, ornullif none is found.- Parameters:
itemGroup- the item group to search from- Returns:
- the nearest folder property with quota enabled, or null
-
findFolderProvider
Recursively search for folder-level AI provider configuration. Walks up the folder hierarchy until a configuration is found.- Parameters:
itemGroup- the item group to search from- Returns:
- the AI provider if found at folder level, null otherwise
-
isFolderExplanationEnabled
Check if error explanation is enabled at folder level. Walks up the folder hierarchy to find the configuration.- Parameters:
itemGroup- the item group to search from- Returns:
- true if enabled at folder level (default true if not configured)
-