Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/digital-blueprint/gitlab-pipeline-trigger-action
This GitHub action triggers and waits for a GitLab pipeline to complete.
https://github.com/digital-blueprint/gitlab-pipeline-trigger-action
digital-blueprint github-action gitlab gitlab-ci
Last synced: 3 months ago
JSON representation
This GitHub action triggers and waits for a GitLab pipeline to complete.
- Host: GitHub
- URL: https://github.com/digital-blueprint/gitlab-pipeline-trigger-action
- Owner: digital-blueprint
- License: mit
- Created: 2023-03-14T12:11:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-21T10:01:36.000Z (3 months ago)
- Last Synced: 2024-10-31T10:39:00.805Z (3 months ago)
- Topics: digital-blueprint, github-action, gitlab, gitlab-ci
- Language: JavaScript
- Homepage:
- Size: 466 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# GitLab Pipeline trigger action
[GitHub](https://github.com/digital-blueprint/gitlab-pipeline-trigger-action) |
[GitHub Marketplace](https://github.com/marketplace/actions/gitlab-pipeline-trigger)[![Test action](https://github.com/digital-blueprint/gitlab-pipeline-trigger-action/actions/workflows/main.yml/badge.svg)](https://github.com/digital-blueprint/gitlab-pipeline-trigger-action/actions/workflows/main.yml)
This GitHub action triggers and waits for a [GitLab pipeline](https://docs.gitlab.com/ee/ci/pipelines/) to complete.
You can for example use this action in your GitHub workflow to trigger a deployment pipeline on a private
GitLab server after a successful build pipeline and wait for the deployment (with possible End2End tests)
to finish, so you would get a notification if the deployment failed.```mermaid
sequenceDiagram
participant GITHUB as GitHub Actions
participant ACTION as Action
participant GITLAB as GitLab CIGITHUB->>ACTION: Run action
ACTION->>GITLAB: Trigger a new pipelineloop Every 15 seconds
ACTION->>GITLAB: Poll pipeline status
GITLAB-->>ACTION: Current pipeline status
endACTION-->>GITHUB: Final pipeline status
```## Inputs
### `host`
The GitLab host to trigger the pipeline on. Default `gitlab.com`.
### `id`
**Required** The ID or path of the project owned by the authenticated user.
You will find the *Project ID* in the *General Settings* of your GitLab project.### `ref`
**Required** The branch or tag to run the pipeline on.
### `trigger_token`
**Required** The [GitLab pipeline trigger token](https://docs.gitlab.com/ee/ci/triggers/index.html#create-a-trigger-token)
to trigger the pipeline.### `access_token`
The [GitLab pipeline access token](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html)
to access the pipeline via the API. You need the `read_api` and `read_repository` scopes with `Reporter` role for this token.For public projects you don't need to provide an access token.
### `variables`
A map of key-valued strings containing the pipeline variables. For example: `{ VAR1: "value1", VAR2: "value2" }`. The value has to be valid JSON. If not set the default is `{}`.
## Outputs
### `status`
The last status of the pipeline. See [GitLab project pipelines](https://docs.gitlab.com/ee/api/pipelines.html#list-project-pipelines)
for more information about which status values there are.### `web_url`
The URL of the pipeline, for example `https://gitlab.com/foo/bar/pipelines/47`.
## Example usage
```yaml
uses: digital-blueprint/gitlab-pipeline-trigger-action@v1
with:
host: 'gitlab.example.com'
trigger_token: ${{ secrets.DEPLOY_TRIGGER_TOKEN }}
access_token: ${{ secrets.DEPLOY_ACCESS_TOKEN }}
id: '123'
ref: 'main'
variables: '{"VAR1":"value1","VAR2":"value2"}'
```