jenkins

package
v0.0.0-...-8eee15b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 26, 2015 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Go library that talks with Jenkins API. Supports AppEngine as well.

Author: sromku

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action struct {
	Parameters []Parameter `json:"parameters"`
	Causes     []Cause     `json:"causes"`
	TestResult
}

type Artifact

type Artifact struct {
	DisplayPath  string `json:"displayPath"`
	FileName     string `json:"fileName"`
	RelativePath string `json:"relativePath"`
}

type Build

type Build struct {
	Id                string     `json:"id"`
	Number            int        `json:"number"`
	Result            string     `json:"result"`
	Description       string     `json:"description"`
	DisplayName       string     `json:"displayName"`
	FullDisplayName   string     `json:"fullDisplayName"`
	Duration          int64      `json:"duration"`
	EstimatedDuration int64      `json:"estimatedDuration"`
	QueueId           int        `json:"queueId"`
	Timestamp         int64      `json:"timestamp"`
	Url               string     `json:"url"`
	Building          bool       `json:"building"`
	Artifacts         []Artifact `json:"artifacts"`
	Actions           []Action   `json:"actions"`
}

func (*Build) GetParamBool

func (build *Build) GetParamBool(name string) (bool, error)

Get parameter of bool type

func (*Build) GetParamInt

func (build *Build) GetParamInt(name string) (int, error)

Get parameter of int type

func (*Build) GetParamString

func (build *Build) GetParamString(name string) (string, error)

Get parameter of string type

func (*Build) GetTestResults

func (build *Build) GetTestResults() (*TestResult, error)

The job can run tests part of the script. Get the tests count summary

func (*Build) GetUpstreamJob

func (build *Build) GetUpstreamJob() (*UpstreamJob, error)

Get upstream job that triggered this build

func (*Build) GetUser

func (build *Build) GetUser() (*User, error)

Get user that triggered this build

type Cause

type Cause struct {
	ShortDescription string `json:"shortDescription"`
	User
	UpstreamJob
}

type Connection

type Connection struct {
	Username    string
	AccessToken string
	BaseUrl     string
	Http        *http.Client
}

type HealthReport

type HealthReport struct {
	Description string `json:"description"`
	Score       int    `json:"score"`
}

type JenkinsApi

type JenkinsApi struct {
	// contains filtered or unexported fields
}

func Init

func Init(connection *Connection) *JenkinsApi

Initialize Jenkins API

For example:

jenkinsApi := Init(&Connection {
  Username: "sromku",
  AccessToken: "001122334455667788",
  BaseUrl: "http://jenkins.sample.com:8080",
})

func (*JenkinsApi) GetBuild

func (jenkinsApi *JenkinsApi) GetBuild(jobName string, num int) (*Build, error)

Get build of specific job

func (*JenkinsApi) GetJob

func (jenkinsApi *JenkinsApi) GetJob(jobName string) (*Job, error)

Get job details

func (*JenkinsApi) GetJobs

func (jenkinsApi *JenkinsApi) GetJobs() ([]Job, error)

Get all defined jobs

func (*JenkinsApi) StartBuild

func (jenkinsApi *JenkinsApi) StartBuild(job string, params map[string]interface{}) error

Start jenkins build and pass params.

For example, start new build with two params:

jenkinsApi.StartBuild("android-mobile", map[string]interface{} {
  "branch" : "master",
  "build" : "staging",
})

type JenkinsApiError

type JenkinsApiError struct {
	What string
}

Custom error

func (JenkinsApiError) Error

func (e JenkinsApiError) Error() string

type Job

type Job struct {
	Description           string         `json:"description"`
	DisplayName           string         `json:"displayName"`
	Name                  string         `json:"name"`
	Url                   string         `json:"url"`
	Buildable             bool           `json:"buildable"`
	Builds                []Build        `json:"builds"`
	Color                 string         `json:"color"`
	HealthReport          []HealthReport `json:"healthReport"`
	InQueue               bool           `json:"inQueue"`
	FirstBuild            Build          `json:"color"`
	LastBuild             Build          `json:"lastBuild"`
	LastCompletedBuild    Build          `json:"lastCompletedBuild"`
	LastFailedBuild       Build          `json:"lastFailedBuild"`
	LastStableBuild       Build          `json:"lastStableBuild"`
	LastSuccessfulBuild   Build          `json:"lastSuccessfulBuild"`
	LastUnstableBuild     Build          `json:"lastUnstableBuild"`
	LastUnsuccessfulBuild Build          `json:"lastUnsuccessfulBuild"`
	NextBuildNumber       int            `json:"nextBuildNumber"`
}

type Parameter

type Parameter struct {
	Name  string      `json:"name"`
	Value interface{} `json:"value"`
}

type Parameters

type Parameters struct {
	Params []Parameter `json:"parameter"`
}

type TestResult

type TestResult struct {
	FailCount  int    `json:"failCount"`
	SkipCount  int    `json:"skipCount"`
	TotalCount int    `json:"totalCount"`
	UrlName    string `json:"urlName"`
}

type UpstreamJob

type UpstreamJob struct {
	UpstreamBuild   int    `json:"upstreamBuild"`
	UpstreamProject string `json:"upstreamProject"`
	UpstreamUrl     string `json:"upstreamUrl"`
}

type User

type User struct {
	UserId   string `json:"userId"`
	UserName string `json:"userName"`
}

type View

type View struct {
	Jobs []Job `json:"jobs"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL