com.malliina.jenkinsctrl.http

JenkinsClient

class JenkinsClient extends AutoCloseable with Log

A Jenkins HTTP client. Builds jobs and provides build progress updates in Observables.

This is a streaming API, however, Jenkins does not have a streaming API. So, we manufacture streams by polling the Jenkins HTTP API every pollInterval when needed.

Linear Supertypes
Log, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. JenkinsClient
  2. Log
  3. AutoCloseable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JenkinsClient(creds: JenkinsCredentials, pollInterval: FiniteDuration = ...)

    creds

    Jenkins credentials

    pollInterval

    the poll interval used for progress updates

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def apiJobUrl(name: JobName): Url

  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def build(job: JobName): Future[Url]

    job

    the job name

    returns

    the URL to the queued job

  9. def buildDetails(job: JobName, number: BuildNumber): Future[BuildDetails]

  10. def buildDetailsUrl(name: JobName, number: BuildNumber): Url

  11. def buildJobUrl(name: JobName): Url

  12. def buildWithConsole(order: BuildOrder): Observable[ConsoleProgress]

    Builds job and returns a stream of console output.

    Builds job and returns a stream of console output.

    order

    build order

    returns

    a stream of console output

  13. def buildWithParameters(order: BuildOrder): Future[Url]

  14. def buildWithParametersUrl(name: JobName): Url

  15. def buildWithProgressTask(order: BuildOrder): BuildTask

  16. val client: AsyncHttp

  17. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. def close(): Unit

    Definition Classes
    JenkinsClient → AutoCloseable
  19. def consoleOutput(name: JobName, number: BuildNumber, offset: ByteOffset): Future[ConsoleProgress]

  20. def consoleOutputUrl(name: JobName, number: BuildNumber, start: ByteOffset): Url

  21. def consoleStream(name: JobName, number: BuildNumber, offset: ByteOffset, pollInterval: FiniteDuration): Observable[ConsoleProgress]

    Attributes
    protected
  22. def consoleStream(name: JobName, number: BuildNumber): Observable[ConsoleProgress]

    Attributes
    protected
  23. def createJob(name: JobName, xml: String): Future[RichResponse]

  24. val createJobUrl: Url

  25. def deleteJob(name: JobName): Future[RichResponse]

  26. def deleteJobUrl(name: JobName): Url

  27. def enqueue(job: JobName): Future[QueueProgress]

    Attributes
    protected
  28. def enqueueUntilBuildingTask(order: BuildOrder): QueueTask

  29. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  30. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  31. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. def follow(job: JobName, build: BuildNumber): Observable[BuildDetails]

    Attributes
    protected
  33. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  34. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  35. val host: Url

  36. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  37. def job(name: JobName): Future[VerboseJob]

  38. def jobUrl(name: JobName): Url

  39. def jsonUrl(base: Url): Url

  40. def locationUrl(location: String): Url

    Returns an Url of location, which has the same protocol as this client's host.

    Returns an Url of location, which has the same protocol as this client's host.

    Hack around situations where we use https, but the Jenkins API returns http resources.

    location

    location url

    returns

    a possibly https url of location

  41. val log: Logger

    Attributes
    protected
    Definition Classes
    Log
  42. def makeGet(url: Url): Future[RichResponse]

  43. def makePost(url: Url): Future[RichResponse]

  44. def makeRequest(f: (AsyncHttp) ⇒ RequestBuilder): Future[RichResponse]

  45. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  46. final def notify(): Unit

    Definition Classes
    AnyRef
  47. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  48. def overview(): Future[Overview]

  49. val overviewUrl: Url

  50. def parse[T](url: Url, response: RichResponse)(implicit r: Reads[T]): Try[T]

  51. def runGetAsJson[T](url: Url)(implicit r: Reads[T]): Future[T]

    Attributes
    protected
  52. def runParsed[T](url: Url)(parse: (RichResponse) ⇒ Try[T]): Future[T]

    Attributes
    protected
  53. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  54. def toString(): String

    Definition Classes
    AnyRef → Any
  55. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Log

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped