scwrypts/py/linear/comment.py

48 lines
1.0 KiB
Python
Raw Normal View History

#!/usr/bin/env python
from argparse import ArgumentParser
from py.lib.data.io import get_stream, add_io_arguments
from py.lib.linear import graphql
if __name__ != '__main__':
raise Exception('executable only; must run through scwrypts')
parser = ArgumentParser(description = 'comment on an issue in linear.app')
parser.add_argument(
'-i', '--issue',
dest = 'issue_id',
help = 'issue short-code (e.g. CLOUD-319)',
required = True,
)
parser.add_argument(
'-m', '--message',
dest = 'message',
help = 'comment to post to the target issue',
required = True,
)
add_io_arguments(parser, toggle_input=False)
args = parser.parse_args()
query = f'''
mutation CommentCreate {{
commentCreate(
input: {{
issueId: "{args.issue_id}"
body: """from wrobot:
```
{args.message.strip()}
```"""
}}
) {{ success }}
}}
'''
response = graphql(query)
with get_stream(args.output_file, 'w+') as output:
output.write(response.text)