Skip to content

Commit 3705804

Browse files
committed
Added ability to specify activation types when creating or updating project hooks
1 parent 5eabc6b commit 3705804

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

lib/Gitlab/Api/Projects.php

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,18 +96,35 @@ public function hook($project_id, $hook_id)
9696
return $this->get('projects/'.urlencode($project_id).'/hooks/'.urlencode($hook_id));
9797
}
9898

99-
public function addHook($project_id, $url)
99+
public function addHook($project_id, $url, $push_events = true, $issues_events = false, $merge_requests_events = false)
100100
{
101101
return $this->post('projects/'.urlencode($project_id).'/hooks', array(
102-
'url' => $url
102+
'url' => $url,
103+
'push_events' => $push_events,
104+
'issues_events' => $issues_events,
105+
'merge_requests_events' => $merge_requests_events
103106
));
104107
}
105108

106-
public function updateHook($project_id, $hook_id, $url)
109+
public function updateHook($project_id, $hook_id, $url, $push_events = null, $issues_events = null, $merge_requests_events = null)
107110
{
108-
return $this->put('projects/'.urlencode($project_id).'/hooks/'.urlencode($hook_id), array(
111+
$params = array(
109112
'url' => $url
110-
));
113+
);
114+
115+
if (null !== $push_events) {
116+
$params['push_events'] = $push_events;
117+
}
118+
119+
if (null !== $issues_events) {
120+
$params['issues_events'] = $issues_events;
121+
}
122+
123+
if (null !== $merge_requests_events) {
124+
$params['merge_requests_events'] = $merge_requests_events;
125+
}
126+
127+
return $this->put('projects/'.urlencode($project_id).'/hooks/'.urlencode($hook_id), $params);
111128
}
112129

113130
public function removeHook($project_id, $hook_id)

lib/Gitlab/Model/Project.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,16 +135,16 @@ public function hook($hook_id)
135135
return Hook::fromArray($this->getClient(), $data);
136136
}
137137

138-
public function addHook($url)
138+
public function addHook($url, $push_events = true, $issues_events = false, $merge_requests_events = false)
139139
{
140-
$data = $this->api('projects')->addHook($this->id, $url);
140+
$data = $this->api('projects')->addHook($this->id, $url, $push_events, $issues_events, $merge_requests_events);
141141

142142
return Hook::fromArray($this->getClient(), $data);
143143
}
144144

145-
public function updateHook($hook_id, $url)
145+
public function updateHook($hook_id, $url, $push_events = null, $issues_events = null, $merge_requests_events = null)
146146
{
147-
$data = $this->api('projects')->updateHook($this->id, $hook_id, $url);
147+
$data = $this->api('projects')->updateHook($this->id, $hook_id, $url, $push_events, $issues_events, $merge_requests_events);
148148

149149
return Hook::fromArray($this->getClient(), $data);
150150
}

0 commit comments

Comments
 (0)