https
GET
api.github.com
None
/search/issues?q=repo%3Asaltstack%2Fsalt-api+type%3AIssues+updated%3A%3E2014-03-04T18%3A28%3A11Z
{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'}
null
200
[('status', '200 OK'), ('x-ratelimit-remaining', '29'), ('x-github-media-type', 'github.beta; format=json'), ('x-content-type-options', 'nosniff'), ('access-control-expose-headers', 'ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval'), ('x-github-request-id', '62E81E32:490B:3BB7A87:5325E2ED'), ('access-control-allow-credentials', 'true'), ('vary', 'Accept-Encoding'), ('content-length', '19065'), ('server', 'GitHub.com'), ('x-ratelimit-limit', '30'), ('cache-control', 'no-cache'), ('date', 'Sun, 16 Mar 2014 17:44:14 GMT'), ('access-control-allow-origin', '*'), ('content-type', 'application/json; charset=utf-8'), ('x-ratelimit-reset', '1394991914')]
{"total_count":6,"items":[{"url":"https://api.github.com/repos/saltstack/salt-api/issues/144","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/144/events","html_url":"https://github.com/saltstack/salt-api/pull/144","id":29138794,"number":144,"title":"tools.cpstats.on needs to be placed under root","user":{"login":"LucasEwalt","id":193133,"avatar_url":"https://gravatar.com/avatar/34a7644f0fd54bbc2c41e0f34b0ef1ea?d=https%3A%2F%2Fidenticons.github.com%2Fd1ea33a87ab250461f229f3be959de3b.png&r=x","gravatar_id":"34a7644f0fd54bbc2c41e0f34b0ef1ea","url":"https://api.github.com/users/LucasEwalt","html_url":"https://github.com/LucasEwalt","followers_url":"https://api.github.com/users/LucasEwalt/followers","following_url":"https://api.github.com/users/LucasEwalt/following{/other_user}","gists_url":"https://api.github.com/users/LucasEwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/LucasEwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LucasEwalt/subscriptions","organizations_url":"https://api.github.com/users/LucasEwalt/orgs","repos_url":"https://api.github.com/users/LucasEwalt/repos","events_url":"https://api.github.com/users/LucasEwalt/events{/privacy}","received_events_url":"https://api.github.com/users/LucasEwalt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":0,"created_at":"2014-03-10T22:31:05Z","updated_at":"2014-03-10T22:32:46Z","closed_at":"2014-03-10T22:32:46Z","pull_request":{"html_url":"https://github.com/saltstack/salt-api/pull/144","diff_url":"https://github.com/saltstack/salt-api/pull/144.diff","patch_url":"https://github.com/saltstack/salt-api/pull/144.patch"},"body":"Small error, tools.cpstats.on actually needs to be under root for metrics to be collected for all requests.","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/143","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/143/events","html_url":"https://github.com/saltstack/salt-api/pull/143","id":29119248,"number":143,"title":"Expose cherrypy metrics","user":{"login":"LucasEwalt","id":193133,"avatar_url":"https://gravatar.com/avatar/34a7644f0fd54bbc2c41e0f34b0ef1ea?d=https%3A%2F%2Fidenticons.github.com%2Fd1ea33a87ab250461f229f3be959de3b.png&r=x","gravatar_id":"34a7644f0fd54bbc2c41e0f34b0ef1ea","url":"https://api.github.com/users/LucasEwalt","html_url":"https://github.com/LucasEwalt","followers_url":"https://api.github.com/users/LucasEwalt/followers","following_url":"https://api.github.com/users/LucasEwalt/following{/other_user}","gists_url":"https://api.github.com/users/LucasEwalt/gists{/gist_id}","starred_url":"https://api.github.com/users/LucasEwalt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LucasEwalt/subscriptions","organizations_url":"https://api.github.com/users/LucasEwalt/orgs","repos_url":"https://api.github.com/users/LucasEwalt/repos","events_url":"https://api.github.com/users/LucasEwalt/events{/privacy}","received_events_url":"https://api.github.com/users/LucasEwalt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","assignee":null,"milestone":null,"comments":4,"created_at":"2014-03-10T18:20:29Z","updated_at":"2014-03-11T15:56:02Z","closed_at":"2014-03-10T22:08:21Z","pull_request":{"html_url":"https://github.com/saltstack/salt-api/pull/143","diff_url":"https://github.com/saltstack/salt-api/pull/143.diff","patch_url":"https://github.com/saltstack/salt-api/pull/143.patch"},"body":"Expose cherrycp cpstats via /stats URI. http://docs.cherrypy.org/en/latest/refman/lib/cpstats.html?highlight=cpstats#module-cherrypy.lib.cpstats","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/142","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/142/events","html_url":"https://github.com/saltstack/salt-api/issues/142","id":29074591,"number":142,"title":"Use PHP to call API ,produce 400 Bad Request：Lowstates must be a list","user":{"login":"ivanwa","id":6895983,"avatar_url":"https://gravatar.com/avatar/5449da031675d985e6fb03f1d81dd6c2?d=https%3A%2F%2Fidenticons.github.com%2Fc7fd88fd0ac6e13142c23c2f1232baf5.png&r=x","gravatar_id":"5449da031675d985e6fb03f1d81dd6c2","url":"https://api.github.com/users/ivanwa","html_url":"https://github.com/ivanwa","followers_url":"https://api.github.com/users/ivanwa/followers","following_url":"https://api.github.com/users/ivanwa/following{/other_user}","gists_url":"https://api.github.com/users/ivanwa/gists{/gist_id}","starred_url":"https://api.github.com/users/ivanwa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivanwa/subscriptions","organizations_url":"https://api.github.com/users/ivanwa/orgs","repos_url":"https://api.github.com/users/ivanwa/repos","events_url":"https://api.github.com/users/ivanwa/events{/privacy}","received_events_url":"https://api.github.com/users/ivanwa/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":3,"created_at":"2014-03-10T06:15:11Z","updated_at":"2014-03-11T14:09:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"An error message:\r\n400 Bad Request\r\n\r\nLowstates must be a list\r\n\r\nTraceback (most recent call last):\r\n  File \"/usr/lib/python2.6/site-packages/cherrypy/_cprequest.py\", line 656, in respond\r\n    response.body = self.handler()\r\n  File \"/usr/lib/python2.6/site-packages/cherrypy/lib/encoding.py\", line 188, in __call__\r\n    self.body = self.oldhandler(*args, **kwargs)\r\n  File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 273, in hypermedia_handler\r\n    ret = cherrypy.serving.request._hypermedia_inner_handler(*args, **kwargs)\r\n  File \"/usr/lib/python2.6/site-packages/cherrypy/_cpdispatch.py\", line 34, in __call__\r\n    return self.callable(*self.args, **self.kwargs)\r\n  File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 1074, in POST\r\n    'return': list(self.exec_lowstate()),\r\n  File \"/usr/lib/python2.6/site-packages/saltapi/netapi/rest_cherrypy/app.py\", line 490, in exec_lowstate\r\n    raise cherrypy.HTTPError(400, 'Lowstates must be a list')\r\nHTTPError: (400, 'Lowstates must be a list')\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nAnd I use the command line to run, but it can be successful.\r\n[root@localhost salt]# curl -k https://192.168.1.159:8000/run/ \\\r\n>      -H \"Accept: application/x-yaml\" \\\r\n>      -d username='saltapi' \\\r\n>      -d password='123456' \\\r\n>      -d eauth='pam' \\\r\n>      -d client='local' \\\r\n>      -d tgt='*' \\\r\n>      -d fun='test.ping'\r\nreturn:\r\n- {}\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nMy PHP script : index.php\r\n$url = \"https://192.168.1.159:8000/run\";\r\n$post_data = array (\r\n\t\t\"username\" => \"saltapi\",\r\n\t\t\"password\" => \"123456\",\r\n\t\t\"eauth\" => \"pam\",\r\n\t\t\"client\" => \"local\",\r\n\t\t\"tgt\" => \"*\",\r\n\t\t\"fun\" => \"test.ping\",\r\n\t\t\"arg\"=>\"\"\r\n);\r\n$ch = curl_init ();\r\ncurl_setopt ( $ch, CURLOPT_URL, $url );\r\ncurl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );\r\ncurl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );\r\ncurl_setopt($ch, CURLOPT_HTTPHEADER, array(\"Content-type: application/x-www-form-urlencoded\",'Expect:'));\r\ncurl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );\r\n\r\ncurl_setopt ( $ch, CURLOPT_POST, 1 );\r\ncurl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );\r\n$output = curl_exec ( $ch );\r\ncurl_close ( $ch );\r\n// print\r\nprint_r ( $output );\r\n\r\n--------------------------------------------------------------------------------------------------------------------------------\r\nMy master:\r\ninterface: 192.168.1.159\r\n\r\nrest_cherrypy:\r\n  host: 0.0.0.0\r\n  port: 8000\r\n  debug: true\r\n  static: /salt-webui/halite/halite\r\n  app: /salt-webui/halite/halite\r\n  ssl_crt: /etc/pki/tls/certs/localhost.crt\r\n  ssl_key: /etc/pki/tls/private/localhost_nopass.key\r\n\r\nexternal_auth:\r\n  pam:\r\n    saltapi:\r\n      - .*","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/141","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/141/events","html_url":"https://github.com/saltstack/salt-api/issues/141","id":28842635,"number":141,"title":"get error when start salt-api [ERROR   ] Not loading 'rest_wsgi'. 'port' not specified in config","user":{"login":"justlooks","id":295168,"avatar_url":"https://gravatar.com/avatar/ca2d4ef0024cd926cc7a6218f7a4aed8?d=https%3A%2F%2Fidenticons.github.com%2F32491008424b6a810a81a3bfd7c139a9.png&r=x","gravatar_id":"ca2d4ef0024cd926cc7a6218f7a4aed8","url":"https://api.github.com/users/justlooks","html_url":"https://github.com/justlooks","followers_url":"https://api.github.com/users/justlooks/followers","following_url":"https://api.github.com/users/justlooks/following{/other_user}","gists_url":"https://api.github.com/users/justlooks/gists{/gist_id}","starred_url":"https://api.github.com/users/justlooks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justlooks/subscriptions","organizations_url":"https://api.github.com/users/justlooks/orgs","repos_url":"https://api.github.com/users/justlooks/repos","events_url":"https://api.github.com/users/justlooks/events{/privacy}","received_events_url":"https://api.github.com/users/justlooks/received_events","type":"User","site_admin":false},"labels":[],"state":"open","assignee":null,"milestone":null,"comments":1,"created_at":"2014-03-06T01:23:22Z","updated_at":"2014-03-06T02:31:20Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"# service salt-api start\r\nStarting salt-api daemon: [ERROR   ] Not loading 'rest_wsgi'. 'port' not specified in config\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGHUP.\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGTERM.\r\n[06/Mar/2014:09:20:31] ENGINE Listening for SIGUSR1.\r\n[06/Mar/2014:09:20:31] ENGINE Bus STARTING\r\nCherryPy Checker:\r\n'log_file' is obsolete. Use 'log.error_file' instead.\r\nsection: [saltopts]\r\n\r\n[06/Mar/2014:09:20:31] ENGINE Started monitor thread '_TimeoutMonitor'.\r\n[06/Mar/2014:09:20:31] ENGINE Started monitor thread 'Autoreloader'.\r\n[06/Mar/2014:09:20:31] ENGINE Serving on 0.0.0.0:8888\r\n[06/Mar/2014:09:20:31] ENGINE Bus STARTED\r\n","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/73","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/73/events","html_url":"https://github.com/saltstack/salt-api/issues/73","id":13141224,"number":73,"title":"Add a zero-dep, bare-WSGI REST module","user":{"login":"whiteinge","id":91293,"avatar_url":"https://gravatar.com/avatar/f0bb4c8e95d355891ab9028e4bac480e?d=https%3A%2F%2Fidenticons.github.com%2Fa310e640ddcc1bf22c861dddb9ff4f76.png&r=x","gravatar_id":"f0bb4c8e95d355891ab9028e4bac480e","url":"https://api.github.com/users/whiteinge","html_url":"https://github.com/whiteinge","followers_url":"https://api.github.com/users/whiteinge/followers","following_url":"https://api.github.com/users/whiteinge/following{/other_user}","gists_url":"https://api.github.com/users/whiteinge/gists{/gist_id}","starred_url":"https://api.github.com/users/whiteinge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whiteinge/subscriptions","organizations_url":"https://api.github.com/users/whiteinge/orgs","repos_url":"https://api.github.com/users/whiteinge/repos","events_url":"https://api.github.com/users/whiteinge/events{/privacy}","received_events_url":"https://api.github.com/users/whiteinge/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt-api/labels/0+-+Backlog","name":"0 - Backlog","color":"CCCCCC"}],"state":"closed","assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt-api/milestones/2","labels_url":"https://api.github.com/repos/saltstack/salt-api/milestones/2/labels","id":187473,"number":2,"title":"Approved for future release","description":"","creator":{"login":"thatch45","id":507599,"avatar_url":"https://gravatar.com/avatar/ff7bc69b52eecf808141c470543db4f3?d=https%3A%2F%2Fidenticons.github.com%2F6a6eafefee200db675061e2df14be5f7.png&r=x","gravatar_id":"ff7bc69b52eecf808141c470543db4f3","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":7,"state":"open","created_at":"2012-10-01T17:16:46Z","updated_at":"2014-03-04T18:08:09Z","due_on":null},"comments":1,"created_at":"2013-04-12T21:56:30Z","updated_at":"2014-03-04T21:13:47Z","closed_at":"2013-04-13T05:57:19Z","pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"A bare-bones \"REST\" WSGI app could be accomplished with just the Python stdlib in about ~200 LOC so we might as well. :)\r\n\r\n* Only handles JSON in/out.\r\n* Only provide a single URL.\r\n* Basically mimic the ``/run`` URL in the ``rest_cherrypy`` module.","score":1.0},{"url":"https://api.github.com/repos/saltstack/salt-api/issues/49","labels_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/comments","events_url":"https://api.github.com/repos/saltstack/salt-api/issues/49/events","html_url":"https://github.com/saltstack/salt-api/issues/49","id":11388256,"number":49,"title":"More information in jobs resource response","user":{"login":"sfdc-kho","id":3269880,"avatar_url":"https://gravatar.com/avatar/79dd31020b3bea2124d60cb5e3cd2edf?d=https%3A%2F%2Fidenticons.github.com%2Fad2f6831adfe0801e929c20710d3e537.png&r=x","gravatar_id":"79dd31020b3bea2124d60cb5e3cd2edf","url":"https://api.github.com/users/sfdc-kho","html_url":"https://github.com/sfdc-kho","followers_url":"https://api.github.com/users/sfdc-kho/followers","following_url":"https://api.github.com/users/sfdc-kho/following{/other_user}","gists_url":"https://api.github.com/users/sfdc-kho/gists{/gist_id}","starred_url":"https://api.github.com/users/sfdc-kho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sfdc-kho/subscriptions","organizations_url":"https://api.github.com/users/sfdc-kho/orgs","repos_url":"https://api.github.com/users/sfdc-kho/repos","events_url":"https://api.github.com/users/sfdc-kho/events{/privacy}","received_events_url":"https://api.github.com/users/sfdc-kho/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt-api/labels/0+-+Backlog","name":"0 - Backlog","color":"CCCCCC"}],"state":"open","assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt-api/milestones/2","labels_url":"https://api.github.com/repos/saltstack/salt-api/milestones/2/labels","id":187473,"number":2,"title":"Approved for future release","description":"","creator":{"login":"thatch45","id":507599,"avatar_url":"https://gravatar.com/avatar/ff7bc69b52eecf808141c470543db4f3?d=https%3A%2F%2Fidenticons.github.com%2F6a6eafefee200db675061e2df14be5f7.png&r=x","gravatar_id":"ff7bc69b52eecf808141c470543db4f3","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":7,"state":"open","created_at":"2012-10-01T17:16:46Z","updated_at":"2014-03-04T18:08:09Z","due_on":null},"comments":4,"created_at":"2013-02-26T00:44:05Z","updated_at":"2014-03-04T18:28:12Z","closed_at":null,"pull_request":{"html_url":null,"diff_url":null,"patch_url":null},"body":"Currently, the minion response when a job hasn't completed is:\r\nbash-3.2$ curl -i localhost:8000/jobs/20130225115005304834 \\\r\n>         -H \"X-Auth-Token: 129c6a5dadd1463932fd9db452b52148c44c6c91\" \\\r\n>    -H \"Accept: application/json\"\r\nHTTP/1.1 200 OK\r\nContent-Length: 16\r\nVary: Accept-Encoding\r\nServer: CherryPy/3.2.2\r\nAllow: GET, HEAD, POST\r\nCache-Control: private\r\nDate: Mon, 25 Feb 2013 19:50:12 GMT\r\nContent-Type: application/json\r\nSet-Cookie: session_id=129c6a5dadd1463932fd9db452b52148c44c6c91; expires=Tue, 26 Feb 2013 05:50:12 GMT; Path=/\r\n\r\n{\"return\": [{}]}\r\n\r\nI am using this and a combination of saltutil.running to determine whether the job is still running, dead or completed. However, if the other issues like streaming responses get incorporated, it will become increasingly difficult to detect the state of any given job. Is it possible to return more information about what the state of the job is in the response?\r\n\r\n<!---\r\n@huboard:{\"order\":29.5,\"custom_state\":\"\"}\n-->\r\n","score":1.0}]}

