 // MARK: Router
 
 enum ReleaseRouter: JSONPostRouter {
+    case listReleases(Configuration, String, String)
     case postRelease(Configuration, String, String, String, String?, String?, String?, Bool, Bool)
 
     var configuration: Configuration {
         switch self {
+        case .listReleases(let config, _, _): return config
         case .postRelease(let config, _, _, _, _, _, _, _, _): return config
         }
     }
 
     var method: HTTPMethod {
-        return .POST
+        switch self {
+        case .listReleases:
+            return .GET
+        case .postRelease:
+            return .POST
+        }
     }
 
     var encoding: HTTPEncoding {

// MARK: request

public extension Octokit {

    /// Creates a new release.
    /// - Parameters:


    var params: [String: Any] {
        switch self {
        case .listReleases:
            return [:]
        case .postRelease(_, _, _, let tagName, let targetCommitish, let name, let body, let prerelease, let draft):
            var params: [String: Any] = [
                "tag_name": tagName,
