Pipory
Node reference

Jira

Jira node reference - all 80 operations, the credential it needs, and a worked example.

Jira Cloud. Issues (create, read, update, delete, assign, transition, bulk create), comments, attachments, worklogs, watchers and votes, issue and remote links, projects, components and versions, metadata lookups, users and permissions, plus Jira Software boards, sprints, epics, backlog and ranking.

Credential: Jira credential - see Credentials.

Scopes

Each operation below lists the scope it needs. Scopes are the granular scope an OAuth 2.0 (3LO) app would request. Pipory's Jira credential is an API TOKEN, which carries the calling user's own permissions rather than a scope subset - so a refusal means that user lacks the PROJECT permission, not that a scope is unticked. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (80)

Issues — read

OperationWhat it doesScope
getIssueGet issueread:jira-work
searchIssuesSearch issues (JQL)read:jira-work
approximateCountCount issues matching JQLread:jira-work
bulkFetchIssuesGet many issues by keyread:jira-work
pickIssuesSuggest issues (autocomplete)read:jira-work
matchIssuesCheck issues against JQLread:jira-work
getChangelogGet issue change historyread:jira-work
getEditMetaGet editable fields for an issueread:jira-work

Issues — write

OperationWhat it doesScope
createIssueCreate issuewrite:jira-work
updateIssueUpdate issuewrite:jira-work
deleteIssueDelete issuewrite:jira-work
assignIssueAssign issuewrite:jira-work
bulkCreateIssuesCreate many issueswrite:jira-work
sendNotificationEmail a notification about an issuewrite:jira-work

Issues — workflow transitions

OperationWhat it doesScope
getTransitionsList available transitionsread:jira-work
transitionIssueTransition issuewrite:jira-work

Comments

OperationWhat it doesScope
getCommentsList comments on an issueread:jira-work
getCommentGet commentread:jira-work
addCommentAdd commentwrite:jira-work
updateCommentUpdate commentwrite:jira-work
deleteCommentDelete commentwrite:jira-work

Attachments

OperationWhat it doesScope
getAttachmentsList an issue's attachmentsread:jira-work
addAttachmentUpload an attachmentwrite:jira-work
getAttachmentMetadataGet attachment metadataread:jira-work
downloadAttachmentDownload attachment contentsread:jira-work
deleteAttachmentDelete attachmentwrite:jira-work
getAttachmentSettingsGet attachment settingsread:jira-work

Worklogs

OperationWhat it doesScope
getWorklogsList worklogs on an issueread:jira-work
addWorklogLog time on an issuewrite:jira-work
updateWorklogUpdate worklogwrite:jira-work
deleteWorklogDelete worklogwrite:jira-work

Watchers and votes

OperationWhat it doesScope
getWatchersList watchersread:jira-work
addWatcherAdd watcherwrite:jira-work
removeWatcherRemove watcherwrite:jira-work
getVotesGet votesread:jira-work
addVoteVote for an issuewrite:jira-work
removeVoteRemove your votewrite:jira-work
OperationWhat it doesScope
getIssueLinkTypesList issue link typesread:jira-work
createIssueLinkLink two issueswrite:jira-work
getIssueLinkGet issue linkread:jira-work
deleteIssueLinkDelete issue linkwrite:jira-work
getRemoteLinksList remote linksread:jira-work
createRemoteLinkCreate or update a remote linkwrite:jira-work
deleteRemoteLinkDelete remote linkwrite:jira-work

Projects, components and versions

OperationWhat it doesScope
searchProjectsSearch projectsread:jira-work
getProjectGet projectread:jira-work
getProjectStatusesGet statuses for a projectread:jira-work
getProjectComponentsList project componentsread:jira-work
getProjectVersionsList project versionsread:jira-work
createVersionCreate versionwrite:jira-work
updateVersionUpdate or release a versionmanage:jira-project

Metadata

OperationWhat it doesScope
getCreateMetaIssueTypesList creatable issue types for a projectread:jira-work
getCreateMetaFieldsList fields for a project and issue typeread:jira-work
getIssueTypesList issue typesread:jira-work
getFieldsList fields (map names to custom field ids)read:jira-work
getPrioritiesList prioritiesread:jira-work
getStatusesList statusesread:jira-work
getResolutionsList resolutionsread:jira-work
getLabelsList labelsread:jira-work

Users and permissions

OperationWhat it doesScope
getCurrentUserGet the authenticated userread:jira-user
getUserGet user by account IDread:jira-user
searchUsersSearch usersread:jira-user
findAssignableUsersFind users assignable to an issue or projectread:jira-user
getMyPermissionsGet my permissionsread:jira-user

Agile — boards and backlog

OperationWhat it doesScope
getBoardsList boardsread:board-scope:jira-software
getBoardGet boardread:board-scope:jira-software
getBoardIssuesList issues on a boardread:board-scope:jira-software
getBacklogIssuesList backlog issuesread:board-scope:jira-software
moveIssuesToBacklogMove issues to the backlogwrite:board-scope:jira-software
rankIssuesRank issueswrite:issue:jira-software

Agile — sprints and epics

OperationWhat it doesScope
getBoardSprintsList sprints on a boardread:sprint:jira-software
getSprintGet sprintread:sprint:jira-software
createSprintCreate sprintwrite:sprint:jira-software
updateSprintUpdate, start or complete a sprintwrite:sprint:jira-software
deleteSprintDelete sprintwrite:sprint:jira-software
getSprintIssuesList issues in a sprintread:sprint:jira-software
moveIssuesToSprintMove issues into a sprintwrite:sprint:jira-software
getEpicIssuesList issues in an epicread:epic:jira-software
moveIssuesToEpicMove issues into an epicwrite:epic:jira-software
removeIssuesFromEpicRemove issues from their epicwrite:epic:jira-software

Example

Move an issue to Done — which is a transition, not a field write

Setting an issue's status by updating a status field does not work in Jira: status is owned by the workflow, and the only legal way to change it is to execute a transition that the issue's current status actually offers. Which transitions exist depends on where the issue is right now, so a workflow that hardcodes a transition id breaks the first time an admin edits the workflow. Naming the transition instead survives that.

Set Operation to transitionIssue, then fill in:

FieldValueNotes
issueKey{{ myTrigger.issueKey }}e.g. ENG-1423
transitionNameDoneMatched against the transitions available FROM the issue's current status. Use getTransitions first if you want to branch on what is legal
commentBodyClosed automatically by Pipory after the deploy succeeded.Optional; posted as part of the same transition so the audit trail shows why it moved

Sets {{done.issueKey}} and {{done.transition}}. A transition the issue does not currently offer fails the node with the list of ones it does, rather than silently doing nothing.