Add audit event for downloading CI artifacts
## Problem to solve Currently, there is limited traceability for a user downloading a CI artifact within GitLab. In scenarios where a user needs to, or choose to, download an artifact, an organization would be unable to prove who did so at any point in time which creates a gap in their traceability posture. ## Use Case > Within their CI/CD process, they compile their code down to a "desired file" which is then consumed by a field engineer. This field engineer would download this "desired file" which is then installed on customer sites. > Although there is not an auditable solution at the time, the UX workflow they are considering is to use the release-cli in their CI/CD process, create a release artifact that includes a link pointed to download the compiled file. The field engineer would visit the releases page of the project and download the desired file from there. > what if that "desired file" was marked as a `never_expire` artifact and then logged for each download? ## Proposal Add an audit event for CI artifact downloads | Author | Object | Action | Target | IP Address | Date | | ------ | ------ | ------ | ------ | ------ | ------ | | Daffy Duck | `pipeline_id/job_id` | Downloaded `artifact` (expiration: `never`) | `pipeline_id/job_id` | 127.0.0.1 | 2020-07-15 00:03:53 |
issue