{"id":23279169,"url":"https://github.com/fourdollars/jira-resource","last_synced_at":"2025-04-06T12:43:56.215Z","repository":{"id":149688122,"uuid":"620658847","full_name":"fourdollars/jira-resource","owner":"fourdollars","description":"Concourse CI resource to interact with Jira API","archived":false,"fork":false,"pushed_at":"2024-08-16T05:02:49.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-12T18:43:24.786Z","etag":null,"topics":["concourse-ci-resource","jira"],"latest_commit_sha":null,"homepage":"https://fourdollars.github.io/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fourdollars.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-29T05:53:07.000Z","updated_at":"2024-08-16T05:02:52.000Z","dependencies_parsed_at":"2023-06-29T13:32:01.403Z","dependency_job_id":null,"html_url":"https://github.com/fourdollars/jira-resource","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourdollars%2Fjira-resource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourdollars%2Fjira-resource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourdollars%2Fjira-resource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourdollars%2Fjira-resource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fourdollars","download_url":"https://codeload.github.com/fourdollars/jira-resource/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247485298,"owners_count":20946397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["concourse-ci-resource","jira"],"created_at":"2024-12-19T22:39:48.973Z","updated_at":"2025-04-06T12:43:56.198Z","avatar_url":"https://github.com/fourdollars.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":" [![GitHub: fourdollars/jira-resource](https://img.shields.io/badge/GitHub-fourdollars%2Fjira%E2%80%90resource-darkgreen.svg)](https://github.com/fourdollars/jira-resource/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Bash](https://img.shields.io/badge/Language-Bash-red.svg)](https://www.gnu.org/software/bash/) ![Docker](https://github.com/fourdollars/jira-resource/workflows/Docker/badge.svg) [![Docker Pulls](https://img.shields.io/docker/pulls/fourdollars/jira-resource.svg)](https://hub.docker.com/r/fourdollars/jira-resource/)\n# jira-resource\n[Concourse CI](https://concourse-ci.org/)'s Jira resource to interact with [Jira REST APIs](https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/).\n\n## Config\n\n### Resource Type\n\n```yaml\nresource_types:\n- name: jira\n  type: registry-image\n  source:\n    repository: fourdollars/jira-resource\n    tag: latest\n```\n\nor\n\n```yaml\nresource_types:\n- name: jira\n  type: registry-image\n  source:\n    repository: ghcr.io/fourdollars/jira-resource\n    tag: latest\n```\n\n### Resource\n\n* url: **Required**\n* user: **Required**\n* token: **Required**\n* resource: **Required**\n\n```yaml\nresources:\n- name: issue\n  icon: jira\n  type: jira\n  check_every: 15m\n  source:\n    url: https://jira.atlassian.com/rest/api/latest/\n    user: username\n    token: password\n    resource: issue/JRA-9\n- name: search-by-label\n  icon: jira\n  type: jira\n  check_every: 15m\n  source:\n    url: https://jira.atlassian.com/rest/api/latest/\n    user: username\n    token: password\n    resource: \"search?jql=project=DEVOPS%20AND%20labels%20IN%20(\\\"Concourse-CI\\\")\u0026maxResults=50\"\n- name: search-by-label\n  icon: jira\n  type: jira\n  check_every: 15m\n  source:\n    url: https://jira.atlassian.com/rest/api/latest/\n    user: username\n    token: password\n    resource: \"search?jql=project=DEVOPS%20AND%20labels%20IN%20(\\\"Concourse-CI\\\")\u0026maxResults=50\"\n- name: all-issues\n  icon: jira\n  type: jira\n  check_every: 15m\n  source:\n    url: https://jira.atlassian.com/rest/api/latest/\n    user: username\n    token: password\n    fetch: issues\n    resource: \"search?jql=project=DEVOPS\"\n```\n### check step\n\n```yaml\n  - get: issue\n    trigger: true\n```\n```shell\n# It acts like the following commands.\n$ curl -fsSL --user \"username:password\" https://jira.atlassian.com/rest/api/latest/issue/JRA-9 \u003e payload.json\n$ digest=\"sha256:$(jq -S -M \u003c payload.json | sha256sum | awk '{print $1}')\"\n```\n\n### get step\n\n```yaml\n  - get: issue\n    trigger: true\n```\n```shell\n# It acts like the following commands.\n$ cd /tmp/build/get\n$ curl -fsSL --user \"username:password\" https://jira.atlassian.com/rest/api/latest/issue/JRA-9 \u003e payload.json\n```\n\n### put step\n\n```yaml\n  - put: issue\n    params:\n      json: output/data.json\n```\n```shell\n# It acts like the following commands.\n$ cd /tmp/build/put\n$ curl -fsSL --user \"username:password\" -X PUT --data @output/data.json -H \"Content-Type: application/json\" https://jira.atlassian.com/rest/api/latest/issue/JRA-9 \u003e payload.json\n```\n\n### Job Example\n\n```yaml\njobs:\n- name: check-jira-issue\n  plan:\n  - get: issue\n    trigger: true\n  - task: check\n    config:\n      platform: linux\n      image_resource:\n        type: registry-image\n        source:\n          repository: alpine\n          tag: latest\n      inputs:\n        - name: issue\n      run:\n        path: sh\n        args:\n        - -exc\n        - |\n          apk add --quiet --no-progress jq\n          jq -r .self \u003c issue/payload.json\n- name: check-jira-search\n  plan:\n  - get: search-by-label\n    trigger: true\n  - task: check\n    config:\n      platform: linux\n      image_resource:\n        type: registry-image\n        source:\n          repository: alpine\n          tag: latest\n      inputs:\n        - name: search-by-label\n      run:\n        path: sh\n        args:\n        - -exc\n        - |\n          apk add --quiet --no-progress jq\n          jq -r \".issues | .[] | .self, .key, .fields.summary\" \u003c search-by-label/payload.json\n- name: check-all-issues\n  plan:\n  - get: all-issues\n    trigger: true\n  - task: check\n    config:\n      platform: linux\n      image_resource:\n        type: registry-image\n        source:\n          repository: alpine\n          tag: latest\n      inputs:\n        - name: all-issues\n      run:\n        path: sh\n        args:\n        - -exc\n        - |\n          apk add --quiet --no-progress jq\n          jq -r \".issues | .[] | .self, .key, .fields.summary\" \u003c all-issues/payload.json\n- name: comment-on-jira-issue\n  plan:\n  - get: issue\n  - task: comment\n    config:\n      platform: linux\n      image_resource:\n        type: registry-image\n        source:\n          repository: alpine\n          tag: latest\n      inputs:\n        - name: issue\n      outputs:\n        - name: output\n      run:\n        path: sh\n        args:\n        - -exc\n        - |\n          apk add --quiet --no-progress jq\n          SELF=$(jq -r .self \u003c issue/payload.json)\n          mkdir -p output\n          cat \u003e output/data.json \u003c\u003cENDLINE\n          {\n            \"update\": {\n              \"comment\": [\n                {\n                  \"add\": {\n                    \"body\": \"The self link of this issue is $SELF.\"\n                  }\n                }\n              ]\n            }\n          }\n          ENDLINE\n  - put: issue\n    params:\n      json: output/data.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffourdollars%2Fjira-resource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffourdollars%2Fjira-resource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffourdollars%2Fjira-resource/lists"}