Skip to content

Commit 190c930

Browse files
lexuallexual-anz
andauthored
Add pull_request_allow_fork_events to trigger (#24)
pipelines trigger are missing option to set the "pullRequestAllowForkEvents" flag Co-authored-by: lexual <[email protected]>
1 parent 7361233 commit 190c930

File tree

5 files changed

+48
-37
lines changed

5 files changed

+48
-37
lines changed

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Terraform provider for Codefresh
22

3-
This provider was initialized by [LightStep](https://lightstep.com/) and will be maintained as the official Terraform provider for Codefresh.
3+
This provider was initialized by [LightStep](https://lightstep.com/) and will be maintained as the official Terraform provider for Codefresh.
44

55
The provider is still under development, and can be used as a terraform [third-party plugin](https://www.terraform.io/docs/configuration/providers.html#third-party-plugins) only.
66

@@ -18,7 +18,7 @@ Download and extract terraform-provider-codefresh from [releases](https://github
1818
go build -o terraform-provider-codefresh
1919
```
2020

21-
## Using the Provicer
21+
## Using the Provider
2222

2323
Compile or take from the [Releases](https://github.com/codefresh-contrib/terraform-provider-codefresh/releases) `terraform-provider-codefresh` binary and place it locally according the Terraform plugins [documentation](https://www.terraform.io/docs/configuration/providers.html#third-party-plugins).
2424

@@ -43,7 +43,7 @@ terraform {
4343
versions = ["0.1.0"]
4444
source = "codefresh.io/app/codefresh"
4545
}
46-
}
46+
}
4747
}
4848
```
4949

@@ -52,7 +52,7 @@ terraform {
5252

5353
## [Examples](./examples)
5454

55-
## To configure codefresh provider:
55+
## To configure Codefresh provider:
5656

5757
```hcl
5858
provider "codefresh" {

client/pipeline.go

+12-11
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,18 @@ type SpecTemplate struct {
3535
}
3636

3737
type Trigger struct {
38-
Name string `json:"name,omitempty"`
39-
Description string `json:"description,omitempty"`
40-
Type string `json:"type,omitempty"`
41-
Repo string `json:"repo,omitempty"`
42-
Events []string `json:"events,omitempty"`
43-
BranchRegex string `json:"branchRegex,omitempty"`
44-
ModifiedFilesGlob string `json:"modifiedFilesGlob,omitempty"`
45-
Provider string `json:"provider,omitempty"`
46-
Disabled bool `json:"disabled,omitempty"`
47-
Context string `json:"context,omitempty"`
48-
Variables []Variable `json:"variables,omitempty"`
38+
Name string `json:"name,omitempty"`
39+
Description string `json:"description,omitempty"`
40+
Type string `json:"type,omitempty"`
41+
Repo string `json:"repo,omitempty"`
42+
Events []string `json:"events,omitempty"`
43+
BranchRegex string `json:"branchRegex,omitempty"`
44+
ModifiedFilesGlob string `json:"modifiedFilesGlob,omitempty"`
45+
Provider string `json:"provider,omitempty"`
46+
Disabled bool `json:"disabled,omitempty"`
47+
PullRequestAllowForkEvents bool `json:"pullRequestAllowForkEvents,omitempty"`
48+
Context string `json:"context,omitempty"`
49+
Variables []Variable `json:"variables,omitempty"`
4950
}
5051

5152
type RuntimeEnvironment struct {

codefresh/resource_pipeline.go

+17-10
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@ func resourcePipeline() *schema.Resource {
143143
Optional: true,
144144
Default: false,
145145
},
146+
"pull_request_allow_fork_events": {
147+
Type: schema.TypeBool,
148+
Optional: true,
149+
Default: false,
150+
},
146151
"context": {
147152
Type: schema.TypeString,
148153
Optional: true,
@@ -363,6 +368,7 @@ func flattenTriggers(triggers []cfClient.Trigger) []map[string]interface{} {
363368
m["branch_regex"] = trigger.BranchRegex
364369
m["modified_files_glob"] = trigger.ModifiedFilesGlob
365370
m["disabled"] = trigger.Disabled
371+
m["pull_request_allow_fork_events"] = trigger.PullRequestAllowForkEvents
366372
m["provider"] = trigger.Provider
367373
m["type"] = trigger.Type
368374
m["events"] = trigger.Events
@@ -427,16 +433,17 @@ func mapResourceToPipeline(d *schema.ResourceData) *cfClient.Pipeline {
427433
events := d.Get(fmt.Sprintf("spec.0.trigger.%v.events", idx)).([]interface{})
428434

429435
codefreshTrigger := cfClient.Trigger{
430-
Name: d.Get(fmt.Sprintf("spec.0.trigger.%v.name", idx)).(string),
431-
Description: d.Get(fmt.Sprintf("spec.0.trigger.%v.description", idx)).(string),
432-
Type: d.Get(fmt.Sprintf("spec.0.trigger.%v.type", idx)).(string),
433-
Repo: d.Get(fmt.Sprintf("spec.0.trigger.%v.repo", idx)).(string),
434-
BranchRegex: d.Get(fmt.Sprintf("spec.0.trigger.%v.branch_regex", idx)).(string),
435-
ModifiedFilesGlob: d.Get(fmt.Sprintf("spec.0.trigger.%v.modified_files_glob", idx)).(string),
436-
Provider: d.Get(fmt.Sprintf("spec.0.trigger.%v.provider", idx)).(string),
437-
Disabled: d.Get(fmt.Sprintf("spec.0.trigger.%v.disabled", idx)).(bool),
438-
Context: d.Get(fmt.Sprintf("spec.0.trigger.%v.context", idx)).(string),
439-
Events: convertStringArr(events),
436+
Name: d.Get(fmt.Sprintf("spec.0.trigger.%v.name", idx)).(string),
437+
Description: d.Get(fmt.Sprintf("spec.0.trigger.%v.description", idx)).(string),
438+
Type: d.Get(fmt.Sprintf("spec.0.trigger.%v.type", idx)).(string),
439+
Repo: d.Get(fmt.Sprintf("spec.0.trigger.%v.repo", idx)).(string),
440+
BranchRegex: d.Get(fmt.Sprintf("spec.0.trigger.%v.branch_regex", idx)).(string),
441+
ModifiedFilesGlob: d.Get(fmt.Sprintf("spec.0.trigger.%v.modified_files_glob", idx)).(string),
442+
Provider: d.Get(fmt.Sprintf("spec.0.trigger.%v.provider", idx)).(string),
443+
Disabled: d.Get(fmt.Sprintf("spec.0.trigger.%v.disabled", idx)).(bool),
444+
PullRequestAllowForkEvents: d.Get(fmt.Sprintf("spec.0.trigger.%v.pull_request_allow_fork_events", idx)).(bool),
445+
Context: d.Get(fmt.Sprintf("spec.0.trigger.%v.context", idx)).(string),
446+
Events: convertStringArr(events),
440447
}
441448
variables := d.Get(fmt.Sprintf("spec.0.trigger.%v.variables", idx)).(map[string]interface{})
442449
codefreshTrigger.SetVariables(variables)

codefresh/resource_pipeline_test.go

+13-12
Original file line numberDiff line numberDiff line change
@@ -441,14 +441,14 @@ resource "codefresh_pipeline" "test" {
441441
name = "%s"
442442
443443
spec {
444-
spec_template {
445-
repo = %q
446-
path = %q
447-
revision = %q
448-
context = %q
449-
}
450-
451-
trigger {
444+
spec_template {
445+
repo = %q
446+
path = %q
447+
revision = %q
448+
context = %q
449+
}
450+
451+
trigger {
452452
name = %q
453453
branch_regex = "/.*/gi"
454454
context = %q
@@ -473,13 +473,14 @@ resource "codefresh_pipeline" "test" {
473473
%q
474474
]
475475
modified_files_glob = ""
476+
pull_request_allow_fork_events = true
476477
provider = "github"
477478
repo = %q
478-
type = "git"
479+
type = "git"
479480
480-
variables = {
481-
%q = %q
482-
}
481+
variables = {
482+
%q = %q
483+
}
483484
}
484485
}
485486
}

docs/resources/pipeline.md

+2
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ resource "codefresh_pipeline" "test" {
125125
- `provider` - (Optional) Default value - **github**.
126126
- `context` - (Optional) Codefresh Git context.
127127
- `variables` - (Optional) Trigger variables.
128+
- `disabled` - (Optional) Boolean. If false, trigger will never be activated.
129+
- `pull_request_allow_fork_events` - (Optional) Boolean. If this trigger is also applicable to Git forks.
128130

129131
---
130132

0 commit comments

Comments
 (0)