Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,465,334
Community Members
 
Community Events
176
Community Groups

How can i save the output of a GIT command into a variable?

Hello folks, i have to retrieve the git tag of the branch and save it to a variable, so i can name an artifact with thata value.

 

here is my pipeline step:

 

image: mcr.microsoft.com/dotnet/sdk:5.0
pipelines:
pull-requests:
'**':
- step:
script: # Modify the commands below to build your repository.
- git status
- git fetch --prune
- export PROJECT_NAME=ProvaPipelineDotNet.sln
- export TEST_NAME=TestProject1
- export GIT_TAG=`git describe --tags --always --abbrev=0`
- echo ${GIT_TAG}
- dotnet restore
- dotnet build $PROJECT_NAME
- dotnet test --logger "html;logfilename=$BITBUCKET_CLONE_DIR/testResults.html"
- dotnet publish --no-restore -c Release -o $BITBUCKET_CLONE_DIR/dist
- apt-get update
- apt-get -qq install zip curl
- zip -r $GIT_TAG.zip $BITBUCKET_CLONE_DIR/dist/
artifacts:
- ${GIT_TAG}.zip
- testResults.html

1 answer

0 votes
Patrik S Atlassian Team Jul 27, 2022

Hello @Mattia Montani ,

Welcome to Atlassian Community!

Checking your yml file I think the syntax you have used is slightly wrong. Please refer to the example below on how to save the output of a command into an environment variable :

export GIT_TAG="$(git describe --tags --always --abbrev=0)"

You can replace your current command with the one above and the GIT_TAG env variable should have its value updated with the string returned by the git command.

Hope that helps! Let me know in case you run into any issues.

Thank you, @Mattia Montani .

Kind regards,

Patrik S

Hi Patrick, tnx replying. It works but i still have an issue related to naming the zip file as the output of the git command.

It give me this error:

the file ".zip" doesnt exist.

but when I try to echo the env variable it has the correct value. 

Can you please tell me if the syntax is correct?

Thank you and Kind regards

Mattia

Patrik S Atlassian Team Aug 02, 2022

Hello Mattia,

The syntax for creating the naming of the zip file is correct, however I'm afraid environment variables are currently not yet supported to be referenced in the artifacts section, as you did in :

artifacts:

${GIT_TAG}.zip

We have a feature request to implement this functionality though, which you can find in the following link : 

I would suggest you to add your vote there, since this helps both developers and product managers to understand the interest. Also, make sure you add yourself as a watcher in case you want to receive first-hand updates from that ticket. Please note that all features are implemented with this policy in mind.

While this feature is not implemented, you can reference the file using glob patterns, like the below example : 

artifacts:

*.zip

This would get any file with the extension .zip in the current directory and make it an artifact. If you have more than one zip file in that path, they would all be included in the artifact.

If you want just one specific zip file as your artifact, you can create a new folder and put the zip file in there, and reference this folder in the artifacts section :

artifacts:

- my_custom_folder/*.zip

 Let me know in case you have any questions.

Kind regards,

Patrik S

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS

Atlassian Community Events