In Jenkins, there are several categories of user-initiated actions, such as:
- Starting and/or stopping a Jenkins build.
- Creating, Modifying and/or Deleting a Jenkins Job.
- Performing a change to the Jenkins configuration settings.
- TODO: Add some other user-actions
During the operation of Jenkins other events and actions occur which are not initiated by the user, for example:
- Jenkins system agent joins or leaves a Jenkins cluster.
- Authentication and Authorization of a new user succeeds or fails.
- Generation of system events due to a build succeeding or failing.
- Build-specific Jenkins events occur
- TODO: Add some others non-user or system actions
The goal of this project is to utilize Apache Log4j Audit, which is an audit logging framework, to implement the logging of audit events within the Jenkins server. This requires the following tasks, among other project objectives:
- Identification and definition of the audit events of importance.
- Performing updates to the Jenkins Core system to support any additional event-listeners needed, for example, for acquiring audit information.
- Creation of new audit events, with the provision of customizable interfaces for user-defined configurations. For example;
- Enable users to configure how audit logs are stored and used.
- Provide admin settings to configure and add a relational database or local directory to write log files into.
- Enable users to configure and add an external syslog server.
- TODO: Add some other use cases
- TODO: Add more use cases and applications of the plugin
Getting Started: Prerequisites
- Make sure you have a GitHub account.
- If you're planning to implement a new feature, it makes sense to discuss your changes on Gitter first. This way you can make sure you're not wasting your time on something that isn't considered to be in the audit-logging project's scope.
- Submit a ticket for your issue, assuming one does not already exist.
- Clearly describe the issue, including steps to reproduce when it is a bug.
- Make sure you fill in the earliest version that you know has the issue.
- Fork the repository on GitHub, take a look at the project's issues page and Wiki.
Getting Started: Setup
TODO: - how to setup/start the plugin with Jenkins, etc
TODO: - demo, screenshot, gifs of running audit logging, etc
- General GitHub documentation
- Developing Jenkins Plugins
- Jenkins Developer Documentation
- Jenkins Main site
- Jenkins Developer Mailing List
- TODO: - Add more resources relevant to the plugin and its development.