Skip to content

Conversation

@dassay75
Copy link

@dassay75 dassay75 commented Aug 2, 2017

Hello Oleg
I used your plugin , I want to create this scenario:
Note: I am the admin of Jenkins

  • I Create a project in jenkins (done)
  • I assign this project to a collegue (owner) (done)
  • He has the visibility only on this project (done with the restriction access plugin)
  • He is able to assign other collegues to his project ( I want to do this with the ownership plugin, but I can not )
    => The only way that I find until now is to add the other collegues on the matrix table. I don't want to do this, because the matrix table will become very complicated and heavy.
    I just want to put the owner of the project in the table and the owner can add and choose the rights to give to the futur user of the project.
    Thanks for your answer
    Dan

oleg-nenashev and others added 30 commits January 18, 2015 15:31
Escape username and email in floating box
[FIXED JENKINS-27715] - Properly get the environment variable for COOWNERS variables
Remove unnecessary "//" from mailto scheme
[FIXED JENKINS-26768] - Contact Owners and Contact Admins links can be disabled
refactoring - cleanup of license notes
The plugin's API methods use hasPermission() instead of checkPermission() in several places, so the exception is not being thrown.
[FIXED JENKINS-28713] - Proper security checks in API methods
…a help text instead of the empty ownership info
[FIXED JENKINS-30818] - Prevent NPE in JobOwnerJobProperty::toString()
[JENKINS-28714,JENKINS-28712] - Configurable display options for Ownership boxes
[FIXED JENKINS-30254] - Support hiding user-emails in Summary boxes
oleg-nenashev and others added 30 commits October 7, 2018 22:19
Add ability to collapse the Folder Owners box on folder and node pages.
Enable Release Drafter for the repository
[JENKINS-59172] - Use GitHub as a source of the plugin's documentation on plugins.jenkins.io
Move Changelog from CHANGELOG.md to GitHub releases
*Total -- 1,816.55kb -> 1,370.87kb (24.53%)

/doc/images/configuration/topLevel.png -- 191.10kb -> 124.61kb (34.8%)
/doc/images/abstractProject/buildWrapper.png -- 326.06kb -> 213.29kb (34.59%)
/doc/images/configuration/emailOptions.png -- 277.25kb -> 182.58kb (34.15%)
/doc/images/abstractProject/example_buildStep.png -- 91.99kb -> 60.65kb (34.07%)
/doc/images/abstractProject/example_tokenMacro.png -- 105.83kb -> 74.88kb (29.25%)
/doc/images/generatedEmailTemplate.png -- 107.93kb -> 82.22kb (23.82%)
/doc/images/ownershipBasedSecurity/jobrestrictions_commonNode.png -- 61.06kb -> 51.54kb (15.59%)
/doc/images/ownershipBasedSecurity/jobrestrictions_masterNode.png -- 65.42kb -> 55.75kb (14.77%)
/doc/images/ownershipBasedSecurity/roleStrategy_itemNodeRoles.png -- 124.77kb -> 108.62kb (12.94%)
/doc/images/ownershipBasedSecurity/roleStrategy_globalRoles.png -- 122.09kb -> 107.15kb (12.23%)
/doc/images/ownershipBasedSecurity/authorizeProject_globalConfig.png -- 83.60kb -> 74.33kb (11.09%)
/doc/images/ownershipBasedSecurity/roleStrategy_roleAssignments.png -- 80.17kb -> 71.38kb (10.96%)
/doc/images/configuration/displayOptions.png -- 32.32kb -> 29.28kb (9.41%)
/doc/images/summaryBox.png -- 58.18kb -> 53.13kb (8.67%)
/doc/images/ownerColumn.png -- 88.77kb -> 81.47kb (8.22%)

Signed-off-by: ImgBotApp <[email protected]>
…-no-core

JENKINS-62589 Compatibility with tables to divs
Improve a Plugin - update Jenkinsfile
[JENKINS-68842] save Node after setting ownership
* Update pom.xml and Java classes for compatibility and enhancements

- Bump Jenkins and Java versions in pom.xml to 2.377 and 11 respectively.
- Add dependency management for io.jenkins.tools.bom.
- Update various plugin versions for improved functionality.
- Modify JobOwnerJobAction to allow action availability based on READ permission.
- Implement POST requirement for ownership submission methods.
- Refactor PermissionsForOwnerReportBuilder to use reflection for accessing UserContextCache methods.
- Update test imports from deprecated HtmlUnit classes to the current package structure.

* Refactor Jenkins instance retrieval in ownership plugin classes

- Replace deprecated `Jenkins.getActiveInstance()` with `Jenkins.getInstance()` across multiple classes to ensure compatibility with newer Jenkins versions.
- Update methods in `OwnershipDescription`, `OwnershipPlugin`, `ItemOwnershipPolicy`, `NodeOwnershipAction`, `OwnerNodeProperty`, `ItemSpecificSecurity`, `HTMLFormatter`, `IdStrategyComparator`, `OwnerFilter`, `OwnershipHelperLocator`, `FolderItemListener`, and `OwnershipGlobalVariable` to reflect this change.

* Deprecate UserValidator class and enhance test cases for ownership plugin

- Marked the UserValidator class as deprecated to indicate it will be removed in future versions.
- Updated OwnershipActionTest to improve user creation and anchor retrieval logic, ensuring compatibility with URL encoding.
- Refactored OwnershipBuildWrapperTest to utilize OwnershipPluginConfigurer for configuration setup.
- Enhanced FolderOwnershipPropertyTest and FolderOwnershipTest to ensure proper initialization of the ownership plugin before tests, improving reliability and clarity of ownership assertions.

* Update pom.xml and enhance ownership plugin functionality

- Added a relativePath element in pom.xml for better dependency resolution.
- Upgraded Java version from 11 to 17 in pom.xml properties for improved compatibility.
- Updated SCM connection URLs to use HTTPS for better security.
- Refactored FolderOwnershipProperty to utilize reflection for critical field addition, pending baseline updates.
- Enhanced OwnershipGlobalVariable to handle null or empty node names gracefully, improving robustness.
- Updated Jelly templates to replace deprecated image tags with modern icon classes for better UI consistency.
- Improved test cases to ensure proper plugin initialization and ownership assertions, enhancing test reliability.

* Refactor OwnershipPlugin and related classes for improved encapsulation and error handling

- Changed mailResolverClassName from public to private in OwnershipPlugin to enhance encapsulation.
- Added null check for Descriptor in ItemSpecificSecurity to prevent potential NullPointerExceptions.
- Updated injectNodeOwnership and injectJobOwnership in OwnershipBuildWrapper to static final for better clarity and performance.
- Introduced logging in PermissionsForOwnerReportBuilder to capture exceptions during Security Inspector integration, improving error traceability.

* Update Jenkinsfile to match Jenkins version and use modern configuration

* Update Jenkins plugin version in pom.xml to 4.88 for compatibility with latest features and improvements.

* Update Jenkins version in pom.xml to 2.361.4 to fix compiling error

* Remove TESTING_SECURITY_FIXES.md as it is no longer needed

* comment translation fix

* Remove Java version property from pom.xml to streamline configuration

* Update Jelly templates to use modern icon syntax for improved UI consistency

- Replaced deprecated icon classes with modern `src` attributes in various Jelly templates across the OwnershipPlugin and related classes.
- Ensured consistent tooltip usage for better accessibility and user experience.

* Revert "Update Jelly templates to use modern icon syntax for improved UI consistency"

This reverts commit ac2a734.

* Remove Architectural Review Plan document as it is no longer relevant to the project. This file contained detailed compliance and improvement recommendations for the Jenkins Ownership Plugin.

* Update pom.xml and Jelly templates for OwnershipPlugin

- Bump Jenkins version to 2.479.3 and update BOM to bom-2.479.x for compatibility.
- Replace deprecated icon classes with modern `src` attributes in various Jelly templates to enhance UI consistency and accessibility.
- Add new dependency for access-modifier-suppressions to improve project structure.

* Refactor OwnershipPlugin and PermissionsForOwnerReportBuilder for improved functionality

- Changed the access modifier of the load() method in OwnershipPlugin from protected to public to enhance accessibility.
- Replaced reflection-based access to UserContextCache in PermissionsForOwnerReportBuilder with direct method calls for better performance and readability.
- Added suppressions for restricted warnings related to UserContextCache and UserContext to maintain compliance with access restrictions.

* Enhance Ownership Plugin security and role management

- Introduced new permission handling methods in role macros to improve security checks and ensure proper validation of SIDs.
- Updated the `pom.xml` to maintain project properties and removed deprecated dependency versions for better compatibility.
- Refactored the `OwnershipBasedSecurityTestHelper` to utilize `PermissionEntry` for role management, enhancing the overall security model.

* Refactor Ownership Plugin to use updated Jenkins instance retrieval

- Replaced all instances of `Jenkins.getInstance()` with `Jenkins.get()` for consistency and to align with the latest Jenkins API practices.
- Ensured that all related classes and methods are updated accordingly to maintain functionality and improve code clarity.

* Refactor OwnershipPlugin and OwnershipMailHelper for improved instance retrieval

- Updated OwnershipPlugin to directly retrieve the plugin instance without null checks for Jenkins.
- Removed unnecessary null checks in OwnershipMailHelper to streamline email construction logic.
- Enhanced code clarity and consistency in handling Jenkins instances.

* Add JaCoCo Maven Plugin for code coverage analysis

- Integrated the JaCoCo Maven plugin into the `pom.xml` to facilitate code coverage reporting and checks.
- Updated `ItemSpecificSecurity` to utilize the new permission handling methods, replacing deprecated methods for improved security and compliance with the latest Jenkins API practices.
* Update pom.xml versioning and remove Release Drafter configuration according to  https://www.jenkins.io/doc/developer/publishing/releasing-cd/

- Changed the version in pom.xml to use a changelist variable for better version management.
- Added a changelist property for dynamic versioning.
- Removed obsolete Release Drafter configuration files to streamline the project structure.

* Update incrementals-maven-plugin version to 1.13 in extensions.xml for improved functionality and compatibility.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.