Skip to content

Commit

Permalink
allow for gerrit trigger plugin attr
Browse files Browse the repository at this point in the history
  • Loading branch information
jgramoll committed Jul 31, 2019
1 parent 9588a33 commit 6f8a8d1
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 2 deletions.
3 changes: 2 additions & 1 deletion client/job_config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ func TestJobConfigSerialize(t *testing.T) {
<properties>
<org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty id="trigger-id">
<triggers>
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger>
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger plugin="gerrit-trigger@2.29.0">
<spec></spec>
<gerritProjects>
<com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.data.GerritProject>
<compareType>PLAIN</compareType>
Expand Down
3 changes: 2 additions & 1 deletion client/job_gerrit_trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ var ErrJobGerritTriggerEventNotFound = errors.New("Could not find job gerrit tri
type JobGerritTrigger struct {
XMLName xml.Name `xml:"com.sonyericsson.hudson.plugins.gerrit.trigger.hudsontrigger.GerritTrigger"`
Id string `xml:"id,attr,omitempty"`
Plugin string `xml:"plugin,attr,omitempty"`

// spec
Spec string `xml:"spec"`
Projects *JobGerritTriggerProjects `xml:"gerritProjects"`
dynamicGerritProjects *DynamicGerritProjects `xml:"dynamicGerritProjects"`
SkipVote *JobGerritTriggerSkipVote `xml:"skipVote"`
Expand Down
6 changes: 6 additions & 0 deletions provider/job_gerrit_trigger.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
)

type jobGerritTrigger struct {
Plugin string `mapstructure:"plugin"`
ServerName string `mapstructure:"server_name"`
SilentMode bool `mapstructure:"silent_mode"`
SilentStartMode bool `mapstructure:"silent_start_mode"`
Expand All @@ -31,6 +32,7 @@ func newJobGerritTrigger() *jobGerritTrigger {
func (t *jobGerritTrigger) fromClientJobTrigger(clientTriggerInterface client.JobTrigger) jobTrigger {
clientTrigger := clientTriggerInterface.(*client.JobGerritTrigger)
trigger := newJobGerritTrigger()
trigger.Plugin = clientTrigger.Plugin
trigger.ServerName = clientTrigger.ServerName
trigger.SilentMode = clientTrigger.SilentMode
trigger.SilentStartMode = clientTrigger.SilentStartMode
Expand All @@ -46,6 +48,7 @@ func (t *jobGerritTrigger) fromClientJobTrigger(clientTriggerInterface client.Jo
func (t *jobGerritTrigger) toClientJobTrigger(id string) (client.JobTrigger, error) {
clientTrigger := client.NewJobGerritTrigger()
clientTrigger.Id = id
clientTrigger.Plugin = t.Plugin
clientTrigger.ServerName = t.ServerName
clientTrigger.SilentMode = t.SilentMode
clientTrigger.SilentStartMode = t.SilentStartMode
Expand Down Expand Up @@ -83,6 +86,9 @@ func (t *jobGerritTrigger) parseParameterMode(clientTrigger *client.JobGerritTri
}

func (t *jobGerritTrigger) setResourceData(d *schema.ResourceData) error {
if err := d.Set("plugin", t.Plugin); err != nil {
return err
}
if err := d.Set("server_name", t.ServerName); err != nil {
return err
}
Expand Down
5 changes: 5 additions & 0 deletions provider/job_gerrit_trigger_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ func jobGerritTriggerResource() *schema.Resource {
Required: true,
ForceNew: true,
},
"plugin": &schema.Schema{
Type: schema.TypeString,
Description: "Version of the job trigger",
Optional: true,
},
"server_name": &schema.Schema{
Type: schema.TypeString,
Description: "Id of the job trigger property",
Expand Down
6 changes: 6 additions & 0 deletions provider/job_gerrit_trigger_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@ func TestAccJobGerritTriggerBasic(t *testing.T) {
{
Config: testAccJobGerritTriggerConfigServerName(jobName, serverName, 2),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(trigger1, "plugin", "my-plugin"),
resource.TestCheckResourceAttr(trigger1, "server_name", serverName),
resource.TestCheckResourceAttr(trigger1, "silent_mode", "false"),
resource.TestCheckResourceAttr(trigger2, "plugin", "my-plugin"),
resource.TestCheckResourceAttr(trigger2, "server_name", serverName),
resource.TestCheckResourceAttr(trigger2, "silent_mode", "false"),
testAccCheckJobExists(jobResourceName, &jobRef),
Expand All @@ -46,8 +48,10 @@ func TestAccJobGerritTriggerBasic(t *testing.T) {
{
Config: testAccJobGerritTriggerConfigServerName(jobName, newServerName, 2),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(trigger1, "plugin", "my-plugin"),
resource.TestCheckResourceAttr(trigger1, "server_name", newServerName),
resource.TestCheckResourceAttr(trigger1, "silent_mode", "false"),
resource.TestCheckResourceAttr(trigger2, "plugin", "my-plugin"),
resource.TestCheckResourceAttr(trigger2, "server_name", newServerName),
resource.TestCheckResourceAttr(trigger2, "silent_mode", "false"),
testAccCheckJobExists(jobResourceName, &jobRef),
Expand All @@ -60,6 +64,7 @@ func TestAccJobGerritTriggerBasic(t *testing.T) {
{
Config: testAccJobGerritTriggerConfigServerName(jobName, serverName, 1),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(trigger1, "plugin", "my-plugin"),
resource.TestCheckResourceAttr(trigger1, "server_name", serverName),
resource.TestCheckResourceAttr(trigger1, "silent_mode", "false"),
testAccCheckJobExists(jobResourceName, &jobRef),
Expand Down Expand Up @@ -90,6 +95,7 @@ func testAccJobGerritTriggerConfigServerName(jobName string, serverName string,
resource "jenkins_job_gerrit_trigger" "trigger_%v" {
property = "${jenkins_job_pipeline_triggers_property.prop_1.id}"
plugin = "my-plugin"
server_name = "%v"
skip_vote {}
}`, i, serverName)
Expand Down

0 comments on commit 6f8a8d1

Please sign in to comment.