Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/swisscom/gitlab-merge-request-resource
A concourse resource to check for new merge requests on GitLab
https://github.com/swisscom/gitlab-merge-request-resource
concourse concourse-resource gitlab
Last synced: 25 days ago
JSON representation
A concourse resource to check for new merge requests on GitLab
- Host: GitHub
- URL: https://github.com/swisscom/gitlab-merge-request-resource
- Owner: swisscom
- License: other
- Created: 2016-11-14T14:40:16.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-01-12T17:54:20.000Z (almost 4 years ago)
- Last Synced: 2023-08-20T08:10:38.890Z (over 1 year ago)
- Topics: concourse, concourse-resource, gitlab
- Language: Shell
- Size: 60.5 KB
- Stars: 31
- Watchers: 38
- Forks: 50
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GitLab Merge Request Concourse Resource
A concourse resource to check for new merge requests on GitLab and update the merge request status.
## Source Configuration
```yaml
resource_types:
- name: merge-request
type: docker-image
source:
repository: mastertinner/gitlab-merge-request-resourceresources:
- name: repo-mr
type: merge-request
source:
uri: https://gitlab.com/myname/myproject.git
private_token: XXX
username: my_username
password: xxx
```* `uri`: The location of the repository (required)
* `private_token`: Your GitLab user's private token (required, can be found in your profile settings)
* `private_key`: The private SSH key for SSH auth when pullingExample:
```yaml
private_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtCS10/f7W7lkQaSgD/mVeaSOvSF9ql4hf/zfMwfVGgHWjj+W
DWiJL+OFeg9kawcUL6hQ8JeXPhlImG6RTUffma9+iGQyyBMCGd1l
-----END RSA PRIVATE KEY-----
```* `username`: The username for HTTP(S) auth when pulling
* `password`: The password for HTTP(S) auth when pulling
* `no_ssl`: Set to `true` if the GitLab API should be used over HTTP instead of HTTPS
* `skip_ssl_verification`: Optional. Connect to GitLab insecurely - i.e. skip SSL validation. Defaults to false if not provided.> Please note that you have to provide either `private_key` or `username` and `password`.
## Behavior
### `check`: Check for new merge requests
Checks if there are new merge requests or merge requests with new commits.
### `in`: Clone merge request source branch
`git clone`s the source branch of the respective merge request.
### `out`: Update a merge request's merge status
Updates the merge request's `merge_status` which displays nicely in the GitLab UI and allows to only merge changes if they pass the test.
#### Parameters
* `repository`: The path of the repository of the merge request's source branch (required)
* `status`: The new status of the merge request (required, can be either `pending`, `running`, `success`, `failed`, or `canceled`)
* `build_label`: The label of the build in GitLab (optional, defaults to `"Concourse"`)## Example
```yaml
jobs:
- name: test-merge-request
plan:
- get: repo
resource: repo-mr
trigger: true
- put: repo-mr
params:
repository: repo
status: running
- task: run-tests
file: repo/ci/tasks/run-tests.yml
on_failure:
put: repo-mr
params:
repository: repo
status: failed
on_success:
put: repo-mr
params:
repository: repo
status: success
```