Skip to content

Commit b2365a9

Browse files
authored
Merge pull request #475 from jfrog/update_readme
Fix layout & information in docs
2 parents 58058f7 + 2d106c0 commit b2365a9

File tree

1 file changed

+74
-15
lines changed

1 file changed

+74
-15
lines changed

README.md

+74-15
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,83 @@
1-
Artifactory Sample User Plugins
2-
===============================
1+
# Artifactory User Plugins
32

4-
### Note : Many of the artifactory user plugins are no longer compatible with the recent versions of Artifactory particularly after JDK17 support introduced in 7.43 and above.These deprecated plugins have been moved to the [deprecated directory] .**
3+
> **Note**: JFrog Workers is the recommended cloud-native solution for extending the JFrog Platform (including Artifactory). While user plugins are still supported, we recommend using JFrog Workers where possible for better scalability, security, and performance. [Learn more about JFrog Workers](https://jfrog.com/help/r/ybbUNZGwwAmzW2qGyL9Zdw/I4E5sOhWWpIHHfdV37__Iw).
54
6-
[deprecated directory]: http://github.com/jfrog/artifactory-user-plugins/tree/master/deprecated-plugins
5+
## Upgrade Notice
76

7+
1. **Groovy 4 Upgrade**: Artifactory is upgraded to Groovy 4 in version *7.101.0* (released on 25th Nov 2024 for cloud), which leads user plugins compatible with groovy 4. The promotion plugin has been updated for compatibility with Groovy 4. This upgrade may affect existing user plugins, so ensure you test your plugins after upgrading.
88

9-
A collection of sample [groovy user plugins] for [Artifactory].
9+
- **Branch Compatibility**:
10+
- **master**: Artifactory 7.101.0 & above
11+
> **Note**: Groovy 3 no longer supported on master branch
12+
- **artifactory-groovy-3**: Artifactory 7.100.0 & below
1013

11-
To contribute, please see [CONTRIBUTING.md](CONTRIBUTING.md).
14+
1. **JDK17 Compatibility**: With the introduction of JDK17 support in Artifactory version **7.43** and above, many older user plugins may no longer be compatible. Deprecated plugins are now moved to the [deprecated directory](http://github.com/jfrog/artifactory-user-plugins/tree/master/deprecated-plugins).
1215

13-
Copyright © 2011-, JFrog Ltd.
16+
Please consider migrating to JFrog Workers for cloud-native and future-proof solutions.
1417

15-
[Artifactory]: http://artifactory.jfrog.org
16-
[groovy user plugins]: http://wiki.jfrog.org/confluence/display/RTF/User+Plugins
1718

18-
**Upgrade Notice:** Artifactory Plugins Upgraded to Groovy 4 in Artifactory Version 7.101.0<br>
19-
Artifactory has been upgraded to Groovy 4. Please note that the promotion plugin has been upgraded in order to be compatible with Groovy version upgrade. Upgrading this plugin requires moving to Groovy 4, which may also affect User Plugins.<br>
20-
**Which Branch to use?**<br>
21-
**master:** For development with Groovy 4.<br>
22-
**artifactory-java-lower-than-21:** For development before the Groovy 4 upgrade.<br>
19+
## Documentation References
20+
- [Artifactory Documentation](https://jfrog.com/help/p/devops-home): Official documentation for Artifactory features, setup, and configuration.
21+
- [User Plugin Documentation](https://jfrog.com/help/r/jfrog-integrations-documentation/user-plugins): Guide to writing and using custom Artifactory plugins.
22+
- [JFrog Workers Documentation](https://jfrog.com/help/r/ybbUNZGwwAmzW2qGyL9Zdw/I4E5sOhWWpIHHfdV37__Iw): Learn more about JFrog Workers for extending Artifactory in a cloud-native way.
2323

24-
Please update your development environment to maintain compatibility with the new Java and Groovy versions.
24+
## Worker Alternatives for Plugins
25+
JFrog Workers are supported only for **Enterprise X** and **Plus** licenses. Workers offer an alternative to Artifactory user plugins, enabling you to extend the JFrog Platform using cloud-native, scalable, and secure solutions.
26+
27+
The following are the Worker alternatives for Artifactory plugins:
28+
29+
| User Plugins | Worker Alternative |
30+
|-------------|--------------------|
31+
| [artifactCleanup](https://github.com/jfrog/artifactory-user-plugins/blob/master/cleanup/artifactCleanup/README.md) | [ArtifactCleanup Worker](https://github.com/jfrog/workers-sample/tree/main/samples/artifactory/GENERIC_EVENT/artifact-cleanup) |
32+
| [backUpFolder](https://github.com/jfrog/artifactory-user-plugins/blob/master/backup/backupFolders/README.md) | X |
33+
| [promotions](https://github.com/jfrog/artifactory-user-plugins/blob/master/build/promotion/README.md) | X |
34+
| [checksums](https://github.com/jfrog/artifactory-user-plugins/blob/master/checksums/README.md) | X |
35+
| [cleanDockerImages](https://github.com/jfrog/artifactory-user-plugins/blob/master/cleanup/cleanDockerImages/README.md) | [cleanDockerImages Worker](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/GENERIC_EVENT/clean-docker-images/README.md) |
36+
| [deleteByPropertyValue](https://github.com/jfrog/artifactory-user-plugins/blob/master/cleanup/deleteByPropertyValue/README.md) | [deleteByPropertyValue Worker](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/GENERIC_EVENT/delete-by-property-value/README.md) |
37+
| [deleteDeprecatedPlugin](https://github.com/jfrog/artifactory-user-plugins/blob/master/cleanup/deleteDeprecated/README.md) | X |
38+
| [deleteEmptyDirsPlugin](https://github.com/jfrog/artifactory-user-plugins/blob/master/cleanup/deleteEmptyDirs/README.md) | [deleteEmptyDirsWorker](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/GENERIC_EVENT/delete-empty-dirs/README.md) |
39+
| [mavenSnapshotCleanupWhenRelease](https://github.com/jfrog/artifactory-user-plugins/blob/master/cleanup/mavenSnapshotCleanupWhenRelease/README.md) | X |
40+
| [cleanOldBuilds](https://github.com/jfrog/artifactory-user-plugins/blob/master/cleanup/oldBuildCleanup/README.md) | X |
41+
| [remoteBackup](https://github.com/jfrog/artifactory-user-plugins/blob/master/storage/remoteBackup/README.md) | [remoteBackup Worker](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/GENERIC_EVENT/remote-backup/README.md) |
42+
| [repoQuota](https://github.com/jfrog/artifactory-user-plugins/blob/master/storage/repoQuota/README.md) | [repoQuota Worker](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/BEFORE_UPLOAD/repo-quota/README.md) |
43+
| [restrictOverwrite](https://github.com/jfrog/artifactory-user-plugins/blob/master/storage/restrictOverwrite/README.md) | [restrictOverwrite Worker](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/BEFORE_UPLOAD/restrict-overwrite/README.md) |
44+
| [repoStats](https://github.com/jfrog/artifactory-user-plugins/blob/master/stats/repoStats/README.md) | [repoStats Worker](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/GENERIC_EVENT/repoStats/README.md) |
45+
| [preventUnapproved](https://github.com/jfrog/artifactory-user-plugins/blob/master/governance/preventUnapproved/README.md) | [preventUnapproved](https://github.com/jfrog/workers-sample/blob/main/samples/artifactory/BEFORE_DOWNLOAD/restrict-download-by-property-value/README.md) |
46+
| [getP2Urls](https://github.com/jfrog/artifactory-user-plugins/blob/master/config/getAndSetP2Url/README.md) | X |
47+
| [getPropertySetsList](https://github.com/jfrog/artifactory-user-plugins/blob/master/config/propertySetsConfig/README.md) | X |
48+
| [getProxiesList](https://github.com/jfrog/artifactory-user-plugins/blob/master/config/proxiesConfig/README.md) | X |
49+
| [getLayoutsList](https://github.com/jfrog/artifactory-user-plugins/blob/master/config/repoLayoutsConfig/README.md) | X |
50+
| [webhook](https://github.com/yashprit-jfrog/artifactory-user-plugins/blob/master/webhook/README.md) | X |
51+
52+
> **Note**: For some user plugins, there is no direct worker sample available. You may need to adapt or refactor existing functionality using workers, depending on your specific use case.
53+
54+
55+
## Contributing to Artifactory User Plugins
56+
Although JFrog Workers is the preferred approach, we still accept contributions for Artifactory user plugins, particularly for those who cannot migrate to JFrog Workers at the moment. Contributions should follow the guidelines specified in the [CONTRIBUTING.md](CONTRIBUTING.md) file.
57+
58+
To maintain a consistent and high-quality codebase, we encourage contributions to:
59+
- **Fixing bugs or security issues**
60+
- **Refactoring existing functionality for better compatibility with newer Artifactory versions**
61+
62+
## Migrating from User Plugins to JFrog Workers
63+
64+
If you are planning to migrate from Artifactory user plugins to JFrog Workers, follow the steps below:
65+
66+
1. **Evaluate**: Check the list of existing user plugins and identify the functionalities that need to be migrated.
67+
2. **Explore Worker Samples**: Review existing [worker samples](https://github.com/jfrog/workers-sample) to understand how workers can replace your current plugin logic.
68+
3. **Refactor and Deploy**: Migrate the logic to a JFrog Worker and test it in your development or staging environment.
69+
4. **Monitor and Optimize**: Once the worker is running in production, monitor its performance and optimize as needed.
70+
71+
Migrating to JFrog Workers allows you to leverage the benefits of cloud-native architecture, including scalability, improved security, and better maintenance.
72+
73+
## Additional Resources
74+
75+
- **Artifactory REST API**: [API documentation](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API)
76+
- **JFrog Community Support**: For troubleshooting, feature requests, or to engage with other developers using Artifactory and JFrog Workers, visit [JFrog Community](https://jfrog.com/community/).
77+
78+
79+
## License & Copyright
80+
81+
Copyright © 2024, JFrog Ltd.
82+
83+
This project is licensed under the terms of the **Apache 2.0 License**, to learn more, refer to [LICENSE](https://github.com/jfrog/artifactory-user-plugins/blob/master/LICENSE).

0 commit comments

Comments
 (0)