@PublicApi
public interface ArtifactManager
Modifier and Type | Field and Description |
---|---|
static String |
LOGS_FOR_BUILD |
Modifier and Type | Method and Description |
---|---|
@NotNull List<ArtifactHandler> |
getArtifactHandlersForAgent(@NotNull AgentType agentType)
Get list of enabled artifact handlers usable on agent of a given type.
|
void |
moveArtifactToGlobalStorage(@NotNull Artifact artifact)
Move artifact to a 'global storage'.
|
ArtifactPublishingResult |
publish(@Nullable BuildLogger buildLogger,
@NotNull PlanResultKey planResultKey,
@NotNull File baseDirectory,
@NotNull ArtifactDefinitionContext artifact,
@NotNull Map<String,String> artifactHandlerConfiguration,
int minExpectedFilesCnt)
Request copy of artifacts from a designated location to artifact storage.
|
ArtifactPublishingResult |
publish(@Nullable BuildLogger buildLogger,
@NotNull ResultKey resultKey,
@NotNull File baseDirectory,
@NotNull ArtifactDefinitionContext artifact,
@NotNull Map<String,String> artifactHandlerConfiguration,
int minExpectedFilesCnt)
Request copy of artifacts from a designated location to artifact storage.
|
void |
removeArtifactFromStorage(@NotNull Artifact artifact)
Removes artifact files for a single artifact.
|
void |
removeArtifactsFromStorage(@NotNull Iterable<ArtifactLink> artifactLinks)
Removes artifact files for all plan results attached to supplied links.
|
void |
removeArtifactsFromStorage(@NotNull PlanKey planKey)
Removes artifact files for all results of a single.
|
boolean |
removeArtifactsIfOrphaned(@NotNull List<Long> artifactIds)
Removes artifacts identified by the ids on the list, but only if they are not referenced by any deployment version or build result.
|
boolean |
removeOrphanedArtifacts() |
ArtifactPublishingResult |
republish(@Nullable BuildLogger buildLogger,
@NotNull ResultKey resultKey,
@NotNull ArtifactPublishingResult artifactPublishingResult,
@NotNull Map<String,String> artifactHandlerConfiguration)
Retry publishing artifacts that are in
ArtifactHandlerPublishingResult.Status.DEFERRED status. |
boolean |
retrieve(@Nullable BuildLogger buildLogger,
@NotNull PlanResultKey planResultKey,
@NotNull ArtifactSubscriptionContext artifactSubscription,
@NotNull Map<String,String> artifactHandlerConfiguration,
@NotNull File buildWorkingDirectory,
@NotNull com.google.common.collect.Multimap<String,Artifact> availableArtifacts)
Retrieves a plan artifact from artifact storage.
|
boolean |
retrieve(@Nullable BuildLogger buildLogger,
@NotNull PlanResultKey planResultKey,
@NotNull ResultKey clientKey,
@NotNull ArtifactDefinitionContext artifactDefinitionContext,
@NotNull String destinationPath,
@NotNull Map<String,String> artifactHandlersConfiguration,
@NotNull File buildWorkingDirectory,
@NotNull com.google.common.collect.Multimap<String,Artifact> availableArtifacts)
Retrieves an artifact from artifact storage.
|
ErrorCollection |
validateArtifactsSize(@NotNull File baseDirectory,
@NotNull ArtifactContext artifactContext)
Validates total size of artifacts produced for single build result
|
static final String LOGS_FOR_BUILD
ArtifactPublishingResult publish(@Nullable @Nullable BuildLogger buildLogger, @NotNull @NotNull PlanResultKey planResultKey, @NotNull @NotNull File baseDirectory, @NotNull @NotNull ArtifactDefinitionContext artifact, @NotNull @NotNull Map<String,String> artifactHandlerConfiguration, int minExpectedFilesCnt)
buildLogger
- optional, used to log messagesplanResultKey
- key of a plan result that created the artifactartifact
- definition of the artifactminExpectedFilesCnt
- how many files are necessary to consider the artifact complete, null if no
requirements are madeArtifactPublishingResult publish(@Nullable @Nullable BuildLogger buildLogger, @NotNull @NotNull ResultKey resultKey, @NotNull @NotNull File baseDirectory, @NotNull @NotNull ArtifactDefinitionContext artifact, @NotNull @NotNull Map<String,String> artifactHandlerConfiguration, int minExpectedFilesCnt)
buildLogger
- optional, used to log messagesresultKey
- key of a plan or deployment result that created the artifactartifact
- definition of the artifactminExpectedFilesCnt
- how many files are necessary to consider the artifact complete, null if no
requirements are madeArtifactPublishingResult republish(@Nullable @Nullable BuildLogger buildLogger, @NotNull @NotNull ResultKey resultKey, @NotNull @NotNull ArtifactPublishingResult artifactPublishingResult, @NotNull @NotNull Map<String,String> artifactHandlerConfiguration)
ArtifactHandlerPublishingResult.Status.DEFERRED
status.
Used for recovery of build results that failed transfer.boolean retrieve(@Nullable @Nullable BuildLogger buildLogger, @NotNull @NotNull PlanResultKey planResultKey, @NotNull @NotNull ArtifactSubscriptionContext artifactSubscription, @NotNull @NotNull Map<String,String> artifactHandlerConfiguration, @NotNull @NotNull File buildWorkingDirectory, @NotNull @NotNull com.google.common.collect.Multimap<String,Artifact> availableArtifacts)
buildLogger
- to useplanResultKey
- the plan result that contains the artifactartifactSubscription
- the artifact subscription used to identify artifactbuildWorkingDirectory
- working directory of current buildavailableArtifacts
- artifacts found in source resultboolean retrieve(@Nullable @Nullable BuildLogger buildLogger, @NotNull @NotNull PlanResultKey planResultKey, @NotNull @NotNull ResultKey clientKey, @NotNull @NotNull ArtifactDefinitionContext artifactDefinitionContext, @NotNull @NotNull String destinationPath, @NotNull @NotNull Map<String,String> artifactHandlersConfiguration, @NotNull @NotNull File buildWorkingDirectory, @NotNull @NotNull com.google.common.collect.Multimap<String,Artifact> availableArtifacts)
Artifact
object will be used to find artifact in the storage.buildLogger
- planResultKey
- clientKey
- artifactDefinitionContext
- destinationPath
- artifactHandlersConfiguration
- buildWorkingDirectory
- availableArtifacts
- ErrorCollection validateArtifactsSize(@NotNull @NotNull File baseDirectory, @NotNull @NotNull ArtifactContext artifactContext)
baseDirectory
- artifactContext
- contains artifacts size quota if setvoid removeArtifactFromStorage(@NotNull @NotNull Artifact artifact)
void removeArtifactsFromStorage(@NotNull @NotNull Iterable<ArtifactLink> artifactLinks)
ResultsSummary
Should not remove artifacts that were moved to global storage.void removeArtifactsFromStorage(@NotNull @NotNull PlanKey planKey)
Plan
Should not remove artifacts that were moved to global storage.void moveArtifactToGlobalStorage(@NotNull @NotNull Artifact artifact) throws IOException
removeArtifactFromStorage(Artifact)
is called.
It is not a requirement to physically move the files as long as the above contract is fulfilled.artifact
- IOException
boolean removeOrphanedArtifacts()
boolean removeArtifactsIfOrphaned(@NotNull @NotNull List<Long> artifactIds)
@NotNull @NotNull List<ArtifactHandler> getArtifactHandlersForAgent(@NotNull @NotNull AgentType agentType)
Copyright © 2022 Atlassian Software Systems Pty Ltd. All rights reserved.