GitLab is missing the integrated concept of an [GitHub Application]() that includes allowing access to a project/group, setup notifications of merge request/push events, and notifications of adding new projects to build. We would like a cli application that creates/maintains the correct set of web hooks and permissions.
Summary
Create the necessary token / application and project web hooks for tezos-ci. Given an existing token with permissions to create or update setup everything required for a tezos-ci instance.
Add signup process for adding new project to build and creating the right webhook callbacks, based off an existing access token with sufficient permissions.
Webhook secret that is shared between GitLab and the tezos-ci services, we use this to validate the web hooks really came from GitLab. This needs to be added to system configuration in ansible/docker.
Add triggers for Push, Tag Push and Merge Request events
Enable SSL verification.
Outcome
A cli application to
setup a new tezos-ci installation in GitLab
add a new project with the correct permissions, web hooks and configuration.
Background
GitLab is missing the integrated concept of an [GitHub Application]() that includes allowing access to a project/group, setup notifications of merge request/push events, and notifications of adding new projects to build. We would like a cli application that creates/maintains the correct set of web hooks and permissions.
Summary
The GitLab Application should have
read_user (Read the authenticated user's personal information)
The web hooks are setup per project, so for each project it needs:
Outcome
A cli application to
The CLI should look something like: