Description: This API is called to create a new package-level cleanup policy. For information on how to create a new cleanup policy via the UI, see Create a Package-Level Cleanup Policy.
Security: Requires a platform admin. A project admin with permission can create a policy on the project level.
Usage: POST /artifactory/api/cleanup/packages/policies/{policyKey}
Produces: application/json
Sample Query
POST http://{host:port}/artifactory/api/cleanup/packages/policies/key1 { "key": "key1", // required "description": "some test description", "cronExp": "0 15 10 * * ? 2024", "durationInMinutes": 150, "enabled": false, "skipTrashcan": false, "projectKey": "pipe", // required if project policy "searchCriteria": { // required "packageTypes": [ // required "docker", "maven" ], "repos": [ // required "repo1", "repo2" ], "excludedRepos": [ "gradle-global" ], "includedPackages": [ // required "com/jfrog" ], "excludedPackages": [ "com/jfrog/latest" ], "includeAllProjects": false, "includedProjects": [], "createdBeforeInMonths": 12, "lastDownloadedBeforeInMonths": 1, "keepLastNVersions": 0 } }
Query Parameters:
Field | Type | Description |
---|---|---|
| string | An ID that is used to identify the cleanup policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen. This parameter is mandatory. |
| string | A description of the policy. This parameter is optional. |
| integer | The cron expression that determines when the policy is run. This parameter is not mandatory, however if left empty the policy will not run automatically and can only be triggered manually. |
| integer | The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict cleanup schedule, it can cause the policy to stop before completion. |
| string | A cleanup policy must be created inactive. This parameter is optional, but if used it must be set to FALSE. If set to TRUE when calling this API, the API call will fail and an error message is received. NoteAfter a cleanup policy is created, it can be set to active by calling Enable/Disable a Package Cleanup Policy API. |
| string | A true value means that when this policy is executed, packages will be permanently deleted. false means that when the policy is executed packages will be deleted to the Trash Can. NoteThe Global Trash Can setting must be enabled if you want deleted items to be transferred to the Trash Can. |
| string | This key is obtained from the Project Settings screen. This parameter is used only for project-level cleanup policies, it is not used for global-level policies. |
| See below | The criteria that define aspects of the policy such as package types (docker, maven), names of repositories in which the policy will run, and other relevant criteria. For more details see the table below. |
Search Criteria
Field | Type | Description |
---|---|---|
| string | The package types that are cleaned up by the policy. For a list of the permitted package types, click here. You must enter at least one package type. |
| string | Specify one or more patterns for the repository name(s) on which you want the cleanup policy to run. You can also specify explicit repository names. Specifying at least one pattern or explicit name is mandatory. Only packages in repositories that match the pattern or explicit name will be deleted. |
| string | Specify patterns for repository names or explicit repository names that you want excluded from the cleanup policy. This parameter is optional. |
| string | Specify a pattern for a package name or an explicit package name on which you want the cleanup policy to run. Only one pattern or explicit name can be entered. To include all packages, use "**". For example: This parameter is mandatory. |
| string | Specify explicit package names that you want excluded from the policy. Only explicit names (and not patterns) are accepted. This parameter is optional. |
| boolean | Set this value to true if you want the policy to run on all Artifactory projects. The default value is false. This parameter is optional. NoteThis parameter is relevant only on the global level, for Platform Admins. |
| string | Enter the project keys for the projects on which you want the policy to run. To include repositories that are not assigned to any project, enter the project key default. NoteThis parameter is relevant only on the global level, for Platform Admins. |
| integer | The cleanup policy will delete packages based on how long ago they were created. For example, if this parameter is 2 then packages created more than 2 months ago will be deleted as part of the policy. Note
|
| integer | The cleanup policy will delete packages based on how long ago they were dowloaded. For example, if this parameter is 5 then packages downloaded more than 5 months ago will be deleted as part of the policy. NoteJFrog recommends using |
| integer | Set a value for the number of latest versions to keep. The cleanup policy will remove all versions prior to the number you select here. The latest version is always excluded. Note
|
Sample Response:
The contents of the response are identical to the query contents.
Response Error Codes
Code | Description |
---|---|
400 | Validation errors. |
409 | A policy with the specified key already exists. |
500 | Internal server error. |