blob: 46067ffc432b64b0c234b92de377e20d6b1d7995 [file] [log] [blame]
{
"name": "DebuggIt",
"version": "1.0.4",
"summary": "Tool that will help QA and clients report bugs easily directly from the device",
"description": "# debugg.it\n[https://debugg.it](https://debugg.it)\n\n## Table of Contents ##\n\n+ [What is this repository for?](#what-is-this)\n+ [Example](#example)\n+ [Installation](#setup)\n+ [Configure and initialize debugg.it in your project](#configure)\n * [Configure service for issues](#configure-issue)\n * [API for uploading image files and (optionally) audio files](#configure-api)\n * [Sample configuration](#configure-sample)\n+ [Additional options](#extra-options)\n+ [Author](#author)\n+ [Licence](#licence)\n\n<a name=\"what-is-this\"/>\n\n## What is this repository for? ##\n\nThis is a library, which provides a tool to report iOS application bugs directly into JIRA / GitHub/ BitBucket Issue Tracker.\n\n<a name=\"example\"/>\n\n# Example\n\nTo run the example project, open `DebuggIt.xcworkspace`, choose `DebuggItDemo` scheme and build it.\n\n<a name=\"setup\"/>\n\n## Installation ##\n\ndebugg.it is available through CocoaPods. To install it, add the following to your Podfile and run `pod install`:\n```ruby\nuse_modular_headers!\npod 'DebuggIt'\n```\n<a name=\"configure\"/>\n\n## Configure and initialize debugg.it in your project ##\n\nIn your `AppDelegate` import the pod:\n```swift\nimport DebuggIt\n```\n\n<a name=\"configure-issue\"/>\n\n### Configure service for issues ###\n\nAdd one of these lines (**at start of method**) to initialize debugg.it issue service\n\n```swift\nfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {\n ...\n // Override point for customization after application launch.\n DebuggIt.sharedInstance.initBitbucket(repoSlug: \"repo-name\", accountName: \"repo-owner-username\")\n // or Github\n DebuggIt.sharedInstance.initGithub(repoSlug: \"repo-name\", accountName: \"repo-owner-username\")\n // or JIRA\n DebuggIt.sharedInstance.initJira(host: \"jira-host-url\", projectKey: \"project-key\")\n ...\n return true\n}\n```\n\n**Note**: If you are using **JIRA** and your host **do not use SSL**, use additional parameter in initialize method:\n\n```swift\nDebuggIt.sharedInstance.initJira(host: \"jira-host-url\", projectKey: \"project-key\", usesHttps: false)\n```\n\n<a name=\"configure-api\"/>\n\n### API for uploading image files and (optionally) audio files ###\n\ndebugg.it requires an API where it can send image files and (optionally) audio files. There are 3 available configurations:\n\n+ AWS S3 Bucket\n\n This configuration uses your AWS S3 bucket (https://aws.amazon.com/s3/) to store image and audio files.\n\n * `DebuggIt.sharedInstance.initAWS(bucketName: \"bucketName\", regionType: .EUCentral1, identityPool: \"identityPool\")`\n * where\n * `bucketName` is a name of your bucket\n * `regionType` is a`AWSRegionType` where your S3 bucket is hosted\n * `identityPool` is a cognito generated key for your S3 bucket\n\n##\n\n+ Default API\n\n This configuration uses your backend to send image and audio files. Data is sent via POST call on given endpoint with following parameter:\n ```json\n {\n \"data\": \"base64String\"\n }\n ```\n \n * `DebuggIt.getInstance().initDefaultStorage(url: \"baseUrl\", imagePath: \"imagePath\", audioPath: \"audioPath\")`\n * where\n * `baseUrl` is a base url of your backend (e.g. `https://url-to-backend.com`)\n * `imagePath` is an endpoint handling image upload (e.g. `/debuggit/uploadImage`)\n * `audioPath` is an endpoint handling audio upload (e.g. `/debuggit/uploadAudio`)\n##\n\n+ Custom API\n\n This is an extension of default API configuration. The difference is that you have to handle `uploadImage` / `uploadAudio` request and response. You are responsible for communication with your backend, but at the same time you have full control over it.\n\n * `DebuggIt.sharedInstance.initCustomStorage(uploadImage: { (base64, delegate) in }, uploadAudio: { (base64, delegate) in })`\n * where\n * `uploadImage` is a callback with prepared base64 converted image and response delegate\n * `delegate` is a `ApiClientDelegate` object, and should call `.uploadSuccessClousure(\"url-to-image\")` in case of success or `.errorClousure(code, message)`in case of error.\n * `uploadImage` is a callback with prepared base64 converted image and response delegate\n * `delegate` is a `ApiClientDelegate` object, and should call `.uploadSuccessClousure(\"url-to-audio\")` in case of success or `.errorClousure(code, message)`in case of error.\n\n<a name=\"configure-sample\"/>\n\n### Sample configurations ###\n\n+ Init BitBucket with S3:\n##\n```swift\nDebuggIt.sharedInstance\n .initAWS(bucketName: \"bucketName\", regionType: .EUCentral1, identityPool: \"identityPool\")\n .initBitbucket(repoSlug: \"repo-name\", accountName: \"repo-owner-username\")\n```\n\n+ Init GitHub with default API:\n##\n```swift\nDebuggIt.sharedInstance\n .initDefaultStorage(url: \"baseUrl\", imagePath: \"imagePath\", audioPath: \"audioPath\")\n .initGithub(repoSlug: \"repo-name\", accountName: \"repo-owner-username\")\n```\n\n+ Init JIRA with custom API:\n##\n```swift\nDebuggIt.sharedInstance\n .initCustomStorage(uploadImage: { (base64, delegate) in\n // Handle API call to your backend and call uploadSuccessClousure on delegate with url\n // delegate.uploadSuccessClousure(\"url-to-image\")\n\n // If something went wrong, call errorClousure on delegate\n // delegate.errorClousure(400, \"Could not upload image\")\n }, uploadAudio: { (base64, delegate) in\n // Handle API call to your backend and call uploadSuccessClousure on delegate with url\n // delegate.uploadSuccessClousure(\"url-to-audio\")\n\n // If something went wrong, call errorClousure on delegate\n // delegate.errorClousure(400, \"Could not upload audio\") \n })\n .initJira(host: \"jira-host-url\", projectKey: \"project-key\")\n```\n## That's all. Your debugg.it is ready to work. ##\n\n<a name=\"extra-options\"/>\n\n## Additional options\n\n**debugg.it** allows to record audio notes and add it to bug description. To enable this feature simply add this line to your configuration in `AppDelegate` class:\n\n\n```swift\nDebuggIt.sharedInstance.recordingEnabled = true\n```\n\nEnsure you have added _Microphone Usage Description_ in your `Info.plist` file. For example:\n```xml\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n\t<key>NSMicrophoneUsageDescription</key>\n\t<string>debugg.it record notes</string>\n\t<!-- \n\t\tRest of Info.plist file... \n\t-->\n</dict>\n</plist>\n```",
"homepage": "http://debugg.it",
"license": {
"type": "Apache License, Version 2.0",
"file": "LICENSE"
},
"authors": {
"MoodUp.team": "biuro@mooduplabs.com"
},
"source": {
"http": "https://github.com/MoodupDev/DebuggIt-iOS/releases/download/1.0.4/DebuggIt-1.0.4.zip"
},
"vendored_frameworks": "DebuggIt.framework",
"frameworks": [
"UIKit",
"WebKit"
],
"platforms": {
"ios": "11.0"
},
"swift_versions": "5.0",
"swift_version": "5.0"
}