Latest 5.6.0
Homepage https://github.com/richardpiazza/XCServerCoreData
License MIT
Platforms osx 10.13, ios 11.0, tvos 11.0, watchos 4.0, requires ARC
Dependencies CodeQuickKit, XCServerAPI
Frameworks Foundation, CoreData
Authors

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:)

Latest podspec

{
    "name": "XCServerCoreData",
    "version": "5.6.0",
    "summary": "A Core Data framework that models the Xcode Server API entities.",
    "description": "This framework models most of the Xcode Server REST API entities into a Core Data object graph.",
    "homepage": "https://github.com/richardpiazza/XCServerCoreData",
    "license": "MIT",
    "authors": {
        "Richard Piazza": "[email protected]"
    },
    "social_media_url": "https://twitter.com/richardpiazza",
    "source": {
        "git": "https://github.com/richardpiazza/XCServerCoreData.git",
        "tag": "5.6.0"
    },
    "source_files": "Sources/*",
    "resources": "Resources/*",
    "frameworks": [
        "Foundation",
        "CoreData"
    ],
    "requires_arc": true,
    "swift_version": "4.2",
    "dependencies": {
        "CodeQuickKit": [
            "~> 6.4"
        ],
        "XCServerAPI": [
            "~> 5.0"
        ]
    },
    "platforms": {
        "osx": "10.13",
        "ios": "11.0",
        "tvos": "11.0",
        "watchos": "4.0"
    }
}

Pin It on Pinterest

Share This