Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
e74affcf
Commit
e74affcf
authored
Dec 25, 2015
by
Achilleas Pipinellis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add images and examples
parent
aafd7ce8
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
95 additions
and
2 deletions
+95
-2
doc/ci/triggers/README.md
doc/ci/triggers/README.md
+95
-2
doc/ci/triggers/img/builds_page.png
doc/ci/triggers/img/builds_page.png
+0
-0
doc/ci/triggers/img/trigger_single_build.png
doc/ci/triggers/img/trigger_single_build.png
+0
-0
doc/ci/triggers/img/trigger_variables.png
doc/ci/triggers/img/trigger_variables.png
+0
-0
doc/ci/triggers/img/triggers_page.png
doc/ci/triggers/img/triggers_page.png
+0
-0
No files found.
doc/ci/triggers/README.md
View file @
e74affcf
...
...
@@ -2,10 +2,103 @@
_**Note:** This feature was [introduced][ci-229] in GitLab CE 7.14_
Triggers can be used to force a rebuild of a specific branch
or tag with an API
call.
Triggers can be used to force a rebuild of a specific branch
, tag or commit,
with an API
call.
## Add a trigger
You can add a new trigger by going to your project's
**Settings > Triggers**
.
The
**Add trigger**
button will create a new token which you can then use to
trigger a rebuild of this particular project.
Once at least one trigger is created, on the
**Triggers**
page you will find
some descriptive information on how you can
Every new trigger you create, gets assigned a different token which you can
then use inside your scripts or
`.gitlab-ci.yml`
. You also have a nice
overview of the time the triggers were last used.
![
Triggers page overview
](
img/triggers_page.png
)
## Revoke a trigger
You can revoke a trigger any time by going at your project's
**Settings > Triggers**
and hitting the
**Revoke**
button. The action is
irreversible.
## Trigger a build
To trigger a build you need to send a
`POST`
request to GitLab's API endpoint:
```
POST /projects/:id/trigger/builds
```
The required parameters are the trigger's
`token`
and the Git
`ref`
on which
the trigger will be performed. Valid refs are the branch, the tag or the commit
SHA. The
`:id`
of a project can be found by
[
querying the API
](
../api/projects.md
)
or by visiting the
**Triggers**
page which provides self-explanatory examples.
When a rebuild is triggered, the information is exposed in GitLab's UI under
the
**Builds**
page and the builds are marked as
`triggered`
.
![
Marked rebuilds as triggered on builds page
](
img/builds_page.png
)
---
You can see which trigger caused the rebuild by visiting the single build page.
The token of the trigger is exposed in the UI as you can see from the image
below.
![
Marked rebuilds as triggered on a single build page
](
img/trigger_single_build.png
)
---
See the
[
Examples
](
#examples
)
section for more details on how to actually
trigger a rebuild.
## Pass build variables to a trigger
You can pass any number of arbitrary variables in the trigger API call and they
will be available in GitLab CI so that they can be used in your
`.gitlab-ci.yml`
file. The parameter is of the form:
```
variables[key]=value
```
This information is also exposed in the UI.
![
Build variables in UI
](
img/trigger_variables.png
)
---
See the
[
Examples
](
#examples
)
section below for more details.
## Examples
Using cURL you can trigger a rebuild with minimal effort, for example:
```
bash
curl
-X
POST
\
-F
token
=
TOKEN
\
-F
ref
=
master
\
https://gitlab.com/api/v3/projects/9/trigger/builds
```
In this case, the project with ID
`9`
will get rebuilt on
`master`
branch.
You can also use triggers in your
`.gitlab-ci.yml`
. Let's say that you have
two projects, A and B, and you want to trigger a rebuild on the
`master`
branch of project B whenever a tag on project A is created.
```
yaml
build_docs
:
stage
:
deploy
script
:
-
"
curl
-X
POST
-F
token=TOKEN
-F
ref=master
https://gitlab.com/api/v3/projects/9/trigger/builds"
only
:
-
tags
```
[
ci-229
]:
https://gitlab.com/gitlab-org/gitlab-ci/merge_requests/229
doc/ci/triggers/img/builds_page.png
0 → 100644
View file @
e74affcf
38.8 KB
doc/ci/triggers/img/trigger_single_build.png
0 → 100644
View file @
e74affcf
2.83 KB
doc/ci/triggers/img/trigger_variables.png
0 → 100644
View file @
e74affcf
5.29 KB
doc/ci/triggers/img/triggers_page.png
0 → 100644
View file @
e74affcf
15.5 KB
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment