An API and CoreData Storage framework for working with Xcode Server
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Pods
Resources
Sources
Tests
XCServerCoreData.xcodeproj
XCServerCoreData.xcworkspace
XCServerCoreData
XCServerCoreDataTests
.gitignore
.swift-version
LICENSE
Package.swift
Podfile
Podfile.lock
README.md
XCServerCoreData.podspec

README.md

XCServerCoreData

Version Platform

An CoreData Storage framework for working with Xcode Server. Depends on the XCServerAPI project for interacting with the API.

XCServerCoreData.swift

Provided the main interaction with the XCServerCoreData framework. Using all defaults:

// Reference the MOC
let moc = XCServerCoreData.sharedInstance.managedObjectContext

// Create a server reference
guard let server = XcodeServer(managedObjectContext: moc, fqdn: "test.example.com") else {
    fatalError()
}

// Retrieve the bots
XCServerCoreData.syncBots(forXcodeServer: server, completion: { (error) in
    if let e = error {
        // Handle the error
        return
    }
    
    // Perform post sync actions; A save() will have been performed on the MOC.
})

Other methods for the XcodeServer entity include:

XCServerCoreData.ping(xcodeServer:, completion:)
XCServerCoreData.syncVersionData(xcodeServer:, completion:)

Methods for the Bot entity include:

XCServerCoreData.syncBot(bot:, completion:)
XCServerCoreData.syncStats(bot:, completion:)
XCServerCoreData.triggerIntegration(bot:, completion:)
XCServerCoreData.syncIntegrations(bot:, completion:)

Methods for the Integration entity include:

XCServerCoreData.syncIntegration(integration:, completion:)
XCServerCoreData.syncCommits(forIntegration:, completion:)
XCServerCoreData.syncIssues(forIntegration:, completion:)