Skip to content

About

Jira Cloud for PromptOps: the issues of your projects on the Teams board, statuses as columns, moves as transitions. Runs in the plugin sandbox.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Built for PromptOps

Jira for PromptOps

Brings the issues of your Jira Cloud projects into the Teams › Board of PromptOps. Statuses become columns, and moving a card runs the matching Jira transition.

The plugin running in the PromptOps plugin playground

Plugin id promptops.jira
Section tasks
Works with Jira Cloud. Not Jira Data Center or Server
Status Version 0.1.0. Runs in the plugin sandbox. Tested with recorded answers, not yet against a live Jira site. The board screen of PromptOps is still being connected to plugins

Where the code is. All of it is in src/plugin.js: one file of plain JavaScript, with no build step. What you read there is exactly what PromptOps runs, and what was reviewed.

What it does

  • Lets you pick a project among the ones your account can see.
  • Builds the columns from the statuses of that project, once each, grouped as to do, in progress and done, with the Jira colors.
  • Shows each issue with its key, title, description, priority, labels, assignee and comments. Descriptions and comments are turned into plain text.
  • Moves an issue by running the Jira transition that leads to the status you chose. If the workflow has no such step, it tells you and changes nothing.
  • Proposes a prompt about an issue for you to review. It never writes to an agent on its own.

What it can do

People approve these permissions before installing. A plugin can never read prompts, agent answers, files or the terminal.

Permission Meaning
net:api.atlassian.com Connect to api.atlassian.com over HTTPS. No other host
secrets Use your API token without ever reading it
tasks:read Read tasks of the project where it is active
tasks:write Update tasks of the project where it is active
prompt:propose Propose a prompt that you review before it is sent

Why one host for every site

Every Jira site has its own address, like acme.atlassian.net, and a PromptOps plugin may only call hosts named in its manifest. So this plugin never calls your site. It goes through the Atlassian gateway, which is the same for everyone:

https://api.atlassian.com/ex/jira/<your cloud id>/rest/api/3/...

Set it up

  1. Site. The address of your Jira, for example acme.atlassian.net. It is only used to build the links you click.
  2. Cloud ID. Open https://<your-site>.atlassian.net/_edge/tenant_info in your browser while signed in and copy the value of cloudId.
  3. Email. The email of your Atlassian account.
  4. API token. Create one at https://id.atlassian.com/manage-profile/security/api-tokens. If you create a token with scopes, give it read:jira-work and write:jira-work.
  5. In PromptOps open Plugins › Installed › Jira › Configure and fill the four fields.

The token stays on your device. Jira wants HTTP Basic authentication, which is base64(email:token). The plugin cannot build it, because it never sees the token. It writes Basic {{basic:email:token}} and PromptOps builds the value when a request leaves, only towards api.atlassian.com.

Good to know

  • Atlassian hides the email of people unless they share it. When it is visible, PromptOps uses it to match the assignee to a team member.
  • The id of a task is the numeric id of the issue, which survives a move to another project. The key, like SHOP-12, is at the start of the title.
  • Dates in JQL follow the timezone of your Jira account, so the plugin asks for one day more than it needs and cuts exactly on its side.

Try it without PromptOps

git clone https://github.com/shellonback/promptops-plugin-templates
git clone https://github.com/shellonback/promptops-plugin-jira
cd promptops-plugin-templates
node playground/server.mjs --plugin ../promptops-plugin-jira

Open http://127.0.0.1:4173 and choose local:promptops-plugin-jira. In Fixtures mode the answers come from fixtures.json, which also pre-fills sample settings, so it works offline. For Live mode put your own values in the Settings card: they stay in that browser tab.

Tests

Zero dependencies, Node 18 or later:

node --test

Files

File What it is
promptops-plugin.json The manifest: id, section, host, permissions, settings
src/plugin.js The source of the plugin. One file of plain JavaScript, no dependencies and no build step: what you read is what runs
fixtures.json Recorded answers and sample settings for the playground and the tests
test/plugin.test.mjs The tests

License

MIT, Shellonback Team. Jira is a trademark of Atlassian. This plugin is not made or endorsed by Atlassian.

About

Jira Cloud for PromptOps: the issues of your projects on the Teams board, statuses as columns, moves as transitions. Runs in the plugin sandbox.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages