关键追踪器 API 标签
Pivotal Tracker API Labels
我正在尝试使用 Pivotal Tracker API 来 post 使用 python 的故事。我可以使用 python 请求模块来做到这一点。以下是我可以用来创建新故事的示例代码:
payload = {"name":"Create story w/create label"}
requests.post('https://www.pivotaltracker.com/services/v5/projects/xxxxxx/stories', data=payload4, headers={'X-TrackerToken':token}).json()
输出为
{u'created_at': u'2015-03-04T18:47:28Z',
u'current_state': u'unscheduled',
u'id': xxxxxx,
u'kind': u'story',
u'labels': [],
u'name': u'Create story w/create label',
u'owner_ids': [],
u'project_id': xxxxxx,
u'requested_by_id': xxxxxx,
u'story_type': u'feature',
u'updated_at': u'2015-03-04T18:47:28Z',
u'url': u'https://www.pivotaltracker.com/story/show/xxxxxx'}
太棒了。现在,我想创建一个故事并为其添加标签。根据 https://www.pivotaltracker.com/help/api/rest/v5 上的 POST /projects/{project_id}/stories API,我应该能够按如下方式格式化我的 json 和 运行一个POST请求:
payload = {"name":"Create story w/create label","labels":[{"name":"orbit"}]}
requests.post('https://www.pivotaltracker.com/services/v5/projects/xxxxxx/stories', data=payload, headers={'X-TrackerToken':token}).json()
但是,我收到以下 400 响应:
{u'code': u'invalid_parameter',
u'error': u'One or more request parameters was missing or invalid.',
u'general_problem': u"'labels' must be an array of label values",
u'kind': u'error'}
据我了解,我格式化有效负载 json 的方式是正确的,标签资源 json 的格式也正确。我不确定错误是在我这边还是其他原因。如果有了解 API 的人可以提供一些帮助,将不胜感激。
谢谢
已解决,存在 JSON 编码问题。我们从未告诉 pivotal tracker 我们正在发送 JSON。此代码片段有效:
data = {
"labels": ["major request"],
"name": "some cool feature",
"description": "solve world hunger",
"comments": ["requested by not the 1%"]
}
headers = {'X-TrackerToken': TRACKER_TOKEN,
'Content-type': 'application/json',
'Accept': 'application/json'
}
return requests.post(url, headers=headers, data=json.dumps(data))
需要告诉 API 我们正在发送 JSON 并接受 JSON.
我正在尝试使用 Pivotal Tracker API 来 post 使用 python 的故事。我可以使用 python 请求模块来做到这一点。以下是我可以用来创建新故事的示例代码:
payload = {"name":"Create story w/create label"}
requests.post('https://www.pivotaltracker.com/services/v5/projects/xxxxxx/stories', data=payload4, headers={'X-TrackerToken':token}).json()
输出为
{u'created_at': u'2015-03-04T18:47:28Z',
u'current_state': u'unscheduled',
u'id': xxxxxx,
u'kind': u'story',
u'labels': [],
u'name': u'Create story w/create label',
u'owner_ids': [],
u'project_id': xxxxxx,
u'requested_by_id': xxxxxx,
u'story_type': u'feature',
u'updated_at': u'2015-03-04T18:47:28Z',
u'url': u'https://www.pivotaltracker.com/story/show/xxxxxx'}
太棒了。现在,我想创建一个故事并为其添加标签。根据 https://www.pivotaltracker.com/help/api/rest/v5 上的 POST /projects/{project_id}/stories API,我应该能够按如下方式格式化我的 json 和 运行一个POST请求:
payload = {"name":"Create story w/create label","labels":[{"name":"orbit"}]}
requests.post('https://www.pivotaltracker.com/services/v5/projects/xxxxxx/stories', data=payload, headers={'X-TrackerToken':token}).json()
但是,我收到以下 400 响应:
{u'code': u'invalid_parameter',
u'error': u'One or more request parameters was missing or invalid.',
u'general_problem': u"'labels' must be an array of label values",
u'kind': u'error'}
据我了解,我格式化有效负载 json 的方式是正确的,标签资源 json 的格式也正确。我不确定错误是在我这边还是其他原因。如果有了解 API 的人可以提供一些帮助,将不胜感激。
谢谢
已解决,存在 JSON 编码问题。我们从未告诉 pivotal tracker 我们正在发送 JSON。此代码片段有效:
data = {
"labels": ["major request"],
"name": "some cool feature",
"description": "solve world hunger",
"comments": ["requested by not the 1%"]
}
headers = {'X-TrackerToken': TRACKER_TOKEN,
'Content-type': 'application/json',
'Accept': 'application/json'
}
return requests.post(url, headers=headers, data=json.dumps(data))
需要告诉 API 我们正在发送 JSON 并接受 JSON.